@wix/patterns 1.228.0 → 1.229.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.
Files changed (220) hide show
  1. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  3. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  4. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  5. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  6. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  8. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  10. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  12. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  14. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  16. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  17. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  18. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  19. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  20. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  21. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  22. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  23. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  24. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  25. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  26. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  27. package/dist/cjs/components/Kanban/Card.js +24 -19
  28. package/dist/cjs/components/Kanban/Card.js.map +1 -1
  29. package/dist/cjs/components/Kanban/CardActions.js +4 -4
  30. package/dist/cjs/components/Kanban/CardActions.js.map +1 -1
  31. package/dist/cjs/components/Kanban/Kanban.js +50 -37
  32. package/dist/cjs/components/Kanban/Kanban.js.map +1 -1
  33. package/dist/cjs/components/Kanban/Kanban.uni.driver.js +30 -1
  34. package/dist/cjs/components/Kanban/Kanban.uni.driver.js.map +1 -1
  35. package/dist/cjs/components/Kanban/Stage.js +108 -64
  36. package/dist/cjs/components/Kanban/Stage.js.map +1 -1
  37. package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js +138 -2
  38. package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js.map +1 -1
  39. package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.js +75 -0
  40. package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.js.map +1 -0
  41. package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js +123 -0
  42. package/dist/cjs/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js.map +1 -0
  43. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  44. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  45. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  46. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  47. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  48. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  49. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  50. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  51. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  52. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  53. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  54. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  55. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  56. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  57. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  58. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  59. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  60. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  61. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  62. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  63. package/dist/cjs/components/PickerModal/PickerModal.uni.driver.js +1 -0
  64. package/dist/cjs/components/PickerModal/PickerModal.uni.driver.js.map +1 -1
  65. package/dist/cjs/components/PickerModal/PickerModalLayout.uni.driver.js +6 -1
  66. package/dist/cjs/components/PickerModal/PickerModalLayout.uni.driver.js.map +1 -1
  67. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  68. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  69. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  70. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  71. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  72. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  73. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  74. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  75. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  76. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  77. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  78. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  79. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  80. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  81. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  82. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  83. package/dist/cjs/components/common.st.css.js +4 -4
  84. package/dist/cjs/components/common.st.css.js.map +1 -1
  85. package/dist/cjs/dashboard/WixPatternsDashboardBaseProvider.js +14 -3
  86. package/dist/cjs/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
  87. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  88. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  89. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  90. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  91. package/dist/cjs/state/KanbanState/KanbanDragEndEvent.js.map +1 -1
  92. package/dist/cjs/state/KanbanState/KanbanStageState.js +9 -3
  93. package/dist/cjs/state/KanbanState/KanbanStageState.js.map +1 -1
  94. package/dist/cjs/state/KanbanState/KanbanState.js +74 -21
  95. package/dist/cjs/state/KanbanState/KanbanState.js.map +1 -1
  96. package/dist/cjs/styles.global.css +1 -1
  97. package/dist/cjs/version.js +1 -1
  98. package/dist/cjs/version.js.map +1 -1
  99. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  100. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  101. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  102. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  103. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  104. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  105. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  106. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  107. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  108. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  109. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  110. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  111. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  112. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  113. package/dist/esm/components/Kanban/Card.js +11 -6
  114. package/dist/esm/components/Kanban/Card.js.map +1 -1
  115. package/dist/esm/components/Kanban/CardActions.js +1 -1
  116. package/dist/esm/components/Kanban/CardActions.js.map +1 -1
  117. package/dist/esm/components/Kanban/Kanban.js +13 -9
  118. package/dist/esm/components/Kanban/Kanban.js.map +1 -1
  119. package/dist/esm/components/Kanban/Kanban.uni.driver.js +22 -0
  120. package/dist/esm/components/Kanban/Kanban.uni.driver.js.map +1 -1
  121. package/dist/esm/components/Kanban/Stage.js +59 -18
  122. package/dist/esm/components/Kanban/Stage.js.map +1 -1
  123. package/dist/esm/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js +128 -1
  124. package/dist/esm/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.js.map +1 -1
  125. package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.js +46 -0
  126. package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.js.map +1 -0
  127. package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js +61 -0
  128. package/dist/esm/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.js.map +1 -0
  129. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  130. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  131. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  132. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  133. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  134. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  135. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  136. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  137. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  138. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  139. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  140. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  141. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  142. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  143. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  144. package/dist/esm/components/PickerModal/PickerModal.uni.driver.js +1 -0
  145. package/dist/esm/components/PickerModal/PickerModal.uni.driver.js.map +1 -1
  146. package/dist/esm/components/PickerModal/PickerModalLayout.uni.driver.js +5 -0
  147. package/dist/esm/components/PickerModal/PickerModalLayout.uni.driver.js.map +1 -1
  148. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  149. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  150. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  151. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  152. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  153. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  154. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  155. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  156. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  157. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  158. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  159. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  160. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  161. package/dist/esm/components/common.st.css.js +2 -2
  162. package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js +10 -2
  163. package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
  164. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  165. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  166. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  167. package/dist/esm/state/KanbanState/KanbanStageState.js +10 -4
  168. package/dist/esm/state/KanbanState/KanbanStageState.js.map +1 -1
  169. package/dist/esm/state/KanbanState/KanbanState.js +75 -19
  170. package/dist/esm/state/KanbanState/KanbanState.js.map +1 -1
  171. package/dist/esm/styles.global.css +1 -1
  172. package/dist/esm/version.js +1 -1
  173. package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
  174. package/dist/types/components/Kanban/Card.d.ts +3 -7
  175. package/dist/types/components/Kanban/Card.d.ts.map +1 -1
  176. package/dist/types/components/Kanban/CardActions.d.ts +3 -7
  177. package/dist/types/components/Kanban/CardActions.d.ts.map +1 -1
  178. package/dist/types/components/Kanban/Kanban.d.ts.map +1 -1
  179. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +10 -0
  180. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts.map +1 -1
  181. package/dist/types/components/Kanban/Stage.d.ts +7 -9
  182. package/dist/types/components/Kanban/Stage.d.ts.map +1 -1
  183. package/dist/types/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.d.ts +34 -1
  184. package/dist/types/components/KanbanDragAndDropDndKit/KanbanCardDragAndDrop.d.ts.map +1 -1
  185. package/dist/types/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.d.ts +14 -0
  186. package/dist/types/components/KanbanDragAndDropDndKit/KanbanDragAndDropContext.d.ts.map +1 -0
  187. package/dist/types/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.d.ts +16 -0
  188. package/dist/types/components/KanbanDragAndDropDndKit/KanbanDraggableCardItem.d.ts.map +1 -0
  189. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  190. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  191. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  192. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  193. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  194. package/dist/types/components/PickerModal/PickerModal.uni.driver.d.ts +1 -0
  195. package/dist/types/components/PickerModal/PickerModal.uni.driver.d.ts.map +1 -1
  196. package/dist/types/components/PickerModal/PickerModalLayout.uni.driver.d.ts +1 -0
  197. package/dist/types/components/PickerModal/PickerModalLayout.uni.driver.d.ts.map +1 -1
  198. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  199. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  200. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  201. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  202. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  203. package/dist/types/dashboard/WixPatternsDashboardBaseProvider.d.ts.map +1 -1
  204. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  205. package/dist/types/state/KanbanState/KanbanDragEndEvent.d.ts +2 -5
  206. package/dist/types/state/KanbanState/KanbanDragEndEvent.d.ts.map +1 -1
  207. package/dist/types/state/KanbanState/KanbanStageState.d.ts +3 -3
  208. package/dist/types/state/KanbanState/KanbanStageState.d.ts.map +1 -1
  209. package/dist/types/state/KanbanState/KanbanState.d.ts +12 -3
  210. package/dist/types/state/KanbanState/KanbanState.d.ts.map +1 -1
  211. package/dist/types/testkit/enzyme.d.ts +1 -0
  212. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  213. package/dist/types/testkit/jsdom.d.ts +11 -0
  214. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  215. package/dist/types/testkit/playwright.d.ts +1 -0
  216. package/dist/types/testkit/playwright.d.ts.map +1 -1
  217. package/dist/types/testkit/puppeteer.d.ts +11 -0
  218. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  219. package/dist/types/version.d.ts +1 -1
  220. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_mobxReactLite","_designSystem","_useCardActions","_ActionModal","_jsxFileName","_CardActions","actionCell","originalItem","itemIndex","itemActionsState","stageKey","item","secondaryActions","primaryActionProps","useCardActions","cardKey","key","default","createElement","Fragment","confirmModal","value","MessageActionModal","_extends2","state","__self","__source","fileName","lineNumber","columnNumber","Box","gap","Button","style","zIndex","size","priority","onClick","e","stopPropagation","disabled","prefixIcon","dataHook","text","CardActions","exports","observer"],"sources":["../../../../src/components/Kanban/CardActions.tsx"],"sourcesContent":["import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { FiltersMap, stringFilter } from '@wix/bex-core';\nimport { Box, Button } from '@wix/design-system';\nimport { useCardActions } from './useCardActions';\nimport { KanbanCardProps } from './Card';\nimport { MessageActionModal } from '../ActionModal';\n\ntype CardActionsProps<\n T,\n S,\n F extends FiltersMap & { stageId: ReturnType<typeof stringFilter> },\n> = Pick<\n KanbanCardProps<T, S, F>,\n | 'actionCell'\n | 'originalItem'\n | 'itemIndex'\n | 'itemActionsState'\n | 'stageKey'\n | 'item'\n>;\n\nfunction _CardActions<\n T,\n S,\n F extends FiltersMap & { stageId: ReturnType<typeof stringFilter> },\n>({\n actionCell,\n originalItem,\n itemIndex,\n itemActionsState,\n stageKey,\n item,\n}: CardActionsProps<T, S, F>) {\n const { secondaryActions, primaryActionProps } = useCardActions({\n actionCell,\n originalItem,\n itemIndex,\n itemActionsState,\n stageKey,\n cardKey: item.key,\n });\n\n return (\n <>\n {/* Render modals from ItemActionsState */}\n {itemActionsState.confirmModal.value && (\n <MessageActionModal\n state={itemActionsState.confirmModal}\n {...itemActionsState.confirmModal.value}\n />\n )}\n <Box gap=\"SP2\">\n {secondaryActions}\n {primaryActionProps && (\n <Button\n style={{ zIndex: 50 }}\n size=\"tiny\"\n priority=\"secondary\"\n onClick={(e) => {\n e.stopPropagation();\n primaryActionProps.onClick();\n }}\n disabled={primaryActionProps.disabled}\n prefixIcon={primaryActionProps.prefixIcon}\n dataHook={`kanban-card-primary-action-${stageKey}-${item.key}`}\n >\n {primaryActionProps.text}\n </Button>\n )}\n </Box>\n </>\n );\n}\n\nexport const CardActions = observer(_CardActions);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AAAoD,IAAAK,YAAA;AAgBpD,SAASC,YAAYA,CAInB;EACAC,UAAU;EACVC,YAAY;EACZC,SAAS;EACTC,gBAAgB;EAChBC,QAAQ;EACRC;AACyB,CAAC,EAAE;EAC5B,MAAM;IAAEC,gBAAgB;IAAEC;EAAmB,CAAC,GAAG,IAAAC,8BAAc,EAAC;IAC9DR,UAAU;IACVC,YAAY;IACZC,SAAS;IACTC,gBAAgB;IAChBC,QAAQ;IACRK,OAAO,EAAEJ,IAAI,CAACK;EAChB,CAAC,CAAC;EAEF,oBACEnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAArB,MAAA,CAAAoB,OAAA,CAAAE,QAAA,QAEGV,gBAAgB,CAACW,YAAY,CAACC,KAAK,iBAClCxB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACf,YAAA,CAAAmB,kBAAkB,MAAAC,SAAA,CAAAN,OAAA;IACjBO,KAAK,EAAEf,gBAAgB,CAACW;EAAa,GACjCX,gBAAgB,CAACW,YAAY,CAACC,KAAK;IAAAI,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAvB,YAAA;MAAAwB,UAAA;MAAAC,YAAA;IAAA;EAAA,EACxC,CACF,eACDhC,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,aAAA,CAAA6B,GAAG;IAACC,GAAG,EAAC,KAAK;IAAAN,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAvB,YAAA;MAAAwB,UAAA;MAAAC,YAAA;IAAA;EAAA,GACXjB,gBAAgB,EAChBC,kBAAkB,iBACjBhB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,aAAA,CAAA+B,MAAM;IACLC,KAAK,EAAE;MAAEC,MAAM,EAAE;IAAG,CAAE;IACtBC,IAAI,EAAC,MAAM;IACXC,QAAQ,EAAC,WAAW;IACpBC,OAAO,EAAGC,CAAC,IAAK;MACdA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnB1B,kBAAkB,CAACwB,OAAO,CAAC,CAAC;IAC9B,CAAE;IACFG,QAAQ,EAAE3B,kBAAkB,CAAC2B,QAAS;IACtCC,UAAU,EAAE5B,kBAAkB,CAAC4B,UAAW;IAC1CC,QAAQ,EAAE,8BAA8BhC,QAAQ,IAAIC,IAAI,CAACK,GAAG,EAAG;IAAAS,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAvB,YAAA;MAAAwB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAE9DhB,kBAAkB,CAAC8B,IACd,CAEP,CACL,CAAC;AAEP;AAEO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,IAAAE,uBAAQ,EAACzC,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_mobxReactLite","_designSystem","_useCardActions","_ActionModal","_jsxFileName","_CardActions","actionCell","originalItem","itemIndex","itemActionsState","stageKey","item","secondaryActions","primaryActionProps","useCardActions","cardKey","key","default","createElement","Fragment","confirmModal","value","MessageActionModal","_extends2","state","__self","__source","fileName","lineNumber","columnNumber","Box","gap","Button","style","zIndex","size","priority","onClick","e","stopPropagation","disabled","prefixIcon","dataHook","text","CardActions","exports","observer"],"sources":["../../../../src/components/Kanban/CardActions.tsx"],"sourcesContent":["import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { FiltersMap } from '@wix/bex-core';\nimport { Box, Button } from '@wix/design-system';\nimport { useCardActions } from './useCardActions';\nimport { KanbanCardProps } from './Card';\nimport { MessageActionModal } from '../ActionModal';\n\ntype CardActionsProps<T, S, F extends FiltersMap> = Pick<\n KanbanCardProps<T, S, F>,\n | 'actionCell'\n | 'originalItem'\n | 'itemIndex'\n | 'itemActionsState'\n | 'stageKey'\n | 'item'\n>;\n\nfunction _CardActions<T, S, F extends FiltersMap>({\n actionCell,\n originalItem,\n itemIndex,\n itemActionsState,\n stageKey,\n item,\n}: CardActionsProps<T, S, F>) {\n const { secondaryActions, primaryActionProps } = useCardActions({\n actionCell,\n originalItem,\n itemIndex,\n itemActionsState,\n stageKey,\n cardKey: item.key,\n });\n\n return (\n <>\n {/* Render modals from ItemActionsState */}\n {itemActionsState.confirmModal.value && (\n <MessageActionModal\n state={itemActionsState.confirmModal}\n {...itemActionsState.confirmModal.value}\n />\n )}\n <Box gap=\"9px\">\n {secondaryActions}\n {primaryActionProps && (\n <Button\n style={{ zIndex: 50 }}\n size=\"tiny\"\n priority=\"secondary\"\n onClick={(e) => {\n e.stopPropagation();\n primaryActionProps.onClick();\n }}\n disabled={primaryActionProps.disabled}\n prefixIcon={primaryActionProps.prefixIcon}\n dataHook={`kanban-card-primary-action-${stageKey}-${item.key}`}\n >\n {primaryActionProps.text}\n </Button>\n )}\n </Box>\n </>\n );\n}\n\nexport const CardActions = observer(_CardActions);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AAAoD,IAAAK,YAAA;AAYpD,SAASC,YAAYA,CAA6B;EAChDC,UAAU;EACVC,YAAY;EACZC,SAAS;EACTC,gBAAgB;EAChBC,QAAQ;EACRC;AACyB,CAAC,EAAE;EAC5B,MAAM;IAAEC,gBAAgB;IAAEC;EAAmB,CAAC,GAAG,IAAAC,8BAAc,EAAC;IAC9DR,UAAU;IACVC,YAAY;IACZC,SAAS;IACTC,gBAAgB;IAChBC,QAAQ;IACRK,OAAO,EAAEJ,IAAI,CAACK;EAChB,CAAC,CAAC;EAEF,oBACEnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAArB,MAAA,CAAAoB,OAAA,CAAAE,QAAA,QAEGV,gBAAgB,CAACW,YAAY,CAACC,KAAK,iBAClCxB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACf,YAAA,CAAAmB,kBAAkB,MAAAC,SAAA,CAAAN,OAAA;IACjBO,KAAK,EAAEf,gBAAgB,CAACW;EAAa,GACjCX,gBAAgB,CAACW,YAAY,CAACC,KAAK;IAAAI,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAvB,YAAA;MAAAwB,UAAA;MAAAC,YAAA;IAAA;EAAA,EACxC,CACF,eACDhC,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,aAAA,CAAA6B,GAAG;IAACC,GAAG,EAAC,KAAK;IAAAN,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAvB,YAAA;MAAAwB,UAAA;MAAAC,YAAA;IAAA;EAAA,GACXjB,gBAAgB,EAChBC,kBAAkB,iBACjBhB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,aAAA,CAAA+B,MAAM;IACLC,KAAK,EAAE;MAAEC,MAAM,EAAE;IAAG,CAAE;IACtBC,IAAI,EAAC,MAAM;IACXC,QAAQ,EAAC,WAAW;IACpBC,OAAO,EAAGC,CAAC,IAAK;MACdA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnB1B,kBAAkB,CAACwB,OAAO,CAAC,CAAC;IAC9B,CAAE;IACFG,QAAQ,EAAE3B,kBAAkB,CAAC2B,QAAS;IACtCC,UAAU,EAAE5B,kBAAkB,CAAC4B,UAAW;IAC1CC,QAAQ,EAAE,8BAA8BhC,QAAQ,IAAIC,IAAI,CAACK,GAAG,EAAG;IAAAS,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAvB,YAAA;MAAAwB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAE9DhB,kBAAkB,CAAC8B,IACd,CAEP,CACL,CAAC;AAEP;AAEO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,IAAAE,uBAAQ,EAACzC,YAAY,CAAC","ignoreList":[]}
@@ -10,10 +10,9 @@ var _mobxReactLite = require("mobx-react-lite");
10
10
  var _Stage = require("./Stage");
11
11
  var _designSystem = require("@wix/design-system");
12
12
  var _CollectionCard = require("../CollectionCard");
13
+ var _KanbanCardDragAndDrop = require("../KanbanDragAndDropDndKit/KanbanCardDragAndDrop");
13
14
  var _jsxFileName = "/home/builduser/work/db7ea24852bc3350/packages/cairo/dist/cjs/components/Kanban/Kanban.tsx";
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
- // import { CollectionCard } from '../CollectionCard';
16
-
17
16
  function _Kanban(props) {
18
17
  const {
19
18
  state,
@@ -22,19 +21,52 @@ function _Kanban(props) {
22
21
  const {
23
22
  toolbar
24
23
  } = state;
25
-
26
- // if (process.env.NODE_ENV !== 'production') {
27
- // minimalRequiredWdsRuntimeCheck({
28
- // required: '^1.64.1',
29
- // requiredBy: 'WixPatterns/Kanban',
30
- // });
31
- // }
32
24
  (0, _react.useEffect)(() => {
33
25
  props.state.init();
34
26
  }, [props.state]);
35
27
  const stages = (0, _react.useMemo)(() => {
36
- return props.state.stages();
37
- }, [props.state.stages()]);
28
+ return props.state.stages;
29
+ }, [props.state.stages]);
30
+
31
+ // Calculate active stage key from activeId
32
+ const activeId = state.dragAndDropState.activeId;
33
+ const activeStageKey = activeId ? activeId.substring(0, activeId.indexOf('-##-')) || null : null;
34
+
35
+ // Wrap with global drag and drop context - always enabled for Kanban
36
+ const {
37
+ KanbanDragAndDropContext
38
+ } = _KanbanCardDragAndDrop.KanbanCardDragAndDrop;
39
+ const stagesContent = /*#__PURE__*/_react.default.createElement(KanbanDragAndDropContext, {
40
+ state: state,
41
+ stageId: "all",
42
+ __self: this,
43
+ __source: {
44
+ fileName: _jsxFileName,
45
+ lineNumber: 37,
46
+ columnNumber: 5
47
+ }
48
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
49
+ direction: "horizontal",
50
+ gap: "12px",
51
+ __self: this,
52
+ __source: {
53
+ fileName: _jsxFileName,
54
+ lineNumber: 38,
55
+ columnNumber: 7
56
+ }
57
+ }, stages.map(stage => /*#__PURE__*/_react.default.createElement(_Stage.StageComponent, (0, _extends2.default)({
58
+ dataHook: `kanban-stage-${props.state.stageKey(stage)}`,
59
+ key: props.state.stageKey(stage),
60
+ activeStageKey: activeStageKey,
61
+ stageKey: props.state.stageKey(stage)
62
+ }, props, {
63
+ __self: this,
64
+ __source: {
65
+ fileName: _jsxFileName,
66
+ lineNumber: 40,
67
+ columnNumber: 11
68
+ }
69
+ })))));
38
70
  return /*#__PURE__*/_react.default.createElement(_CollectionCard.CollectionCard, {
39
71
  errorState: false,
40
72
  state: toolbar,
@@ -42,7 +74,7 @@ function _Kanban(props) {
42
74
  __self: this,
43
75
  __source: {
44
76
  fileName: _jsxFileName,
45
- lineNumber: 35,
77
+ lineNumber: 53,
46
78
  columnNumber: 5
47
79
  }
48
80
  }, /*#__PURE__*/_react.default.createElement(_ToolbarCollection.ToolbarCollection, {
@@ -52,7 +84,7 @@ function _Kanban(props) {
52
84
  __self: this,
53
85
  __source: {
54
86
  fileName: _jsxFileName,
55
- lineNumber: 36,
87
+ lineNumber: 54,
56
88
  columnNumber: 7
57
89
  }
58
90
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -63,7 +95,7 @@ function _Kanban(props) {
63
95
  __self: this,
64
96
  __source: {
65
97
  fileName: _jsxFileName,
66
- lineNumber: 37,
98
+ lineNumber: 55,
67
99
  columnNumber: 9
68
100
  }
69
101
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -72,37 +104,18 @@ function _Kanban(props) {
72
104
  __self: this,
73
105
  __source: {
74
106
  fileName: _jsxFileName,
75
- lineNumber: 43,
107
+ lineNumber: 61,
76
108
  columnNumber: 11
77
109
  }
78
110
  }, props.state.isLoading() ? /*#__PURE__*/_react.default.createElement("div", {
111
+ "data-hook": "kanban-loading",
79
112
  __self: this,
80
113
  __source: {
81
114
  fileName: _jsxFileName,
82
- lineNumber: 45,
115
+ lineNumber: 63,
83
116
  columnNumber: 15
84
117
  }
85
- }, "loading stages...") : /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
86
- direction: "horizontal",
87
- gap: "12px",
88
- __self: this,
89
- __source: {
90
- fileName: _jsxFileName,
91
- lineNumber: 47,
92
- columnNumber: 15
93
- }
94
- }, stages.map(stage => /*#__PURE__*/_react.default.createElement(_Stage.StageComponent, (0, _extends2.default)({
95
- stageState: props.state.getStageState(stage),
96
- dataHook: `kanban-stage-${props.state.stageKey(stage)}`,
97
- key: props.state.stageKey(stage)
98
- }, props, {
99
- __self: this,
100
- __source: {
101
- fileName: _jsxFileName,
102
- lineNumber: 49,
103
- columnNumber: 19
104
- }
105
- }))))))));
118
+ }, "loading stages...") : stagesContent))));
106
119
  }
107
120
  const Kanban = exports.Kanban = (0, _mobxReactLite.observer)(_Kanban);
108
121
  //# sourceMappingURL=Kanban.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_ToolbarCollection","_mobxReactLite","_Stage","_designSystem","_CollectionCard","_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","createElement","CollectionCard","errorState","__self","__source","fileName","lineNumber","columnNumber","ToolbarCollection","search","sticky","Box","margin","overflow","direction","isLoading","gap","map","stage","StageComponent","_extends2","stageState","getStageState","stageKey","key","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';\n// import { CollectionCard } from '../CollectionCard';\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 // if (process.env.NODE_ENV !== 'production') {\n // minimalRequiredWdsRuntimeCheck({\n // required: '^1.64.1',\n // requiredBy: 'WixPatterns/Kanban',\n // });\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 return (\n <CollectionCard errorState={false} state={toolbar} dataHook={dataHook}>\n <ToolbarCollection search={true} sticky state={toolbar}>\n <Box\n dataHook=\"kanban-test\"\n margin=\"24px\"\n overflow=\"auto\"\n direction=\"vertical\"\n >\n <Box dataHook=\"kanban-stages\" direction=\"vertical\">\n {props.state.isLoading() ? (\n <div>loading stages...</div>\n ) : (\n <Box direction=\"horizontal\" gap=\"12px\">\n {stages.map((stage: S) => (\n <StageComponent\n stageState={props.state.getStageState(stage)}\n dataHook={`kanban-stage-${props.state.stageKey(stage)}`}\n key={props.state.stageKey(stage)}\n {...props}\n />\n ))}\n </Box>\n )}\n </Box>\n </Box>\n </ToolbarCollection>\n </CollectionCard>\n );\n}\n\nexport const Kanban = observer(_Kanban);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_ToolbarCollection","_mobxReactLite","_Stage","_designSystem","_CollectionCard","_KanbanCardDragAndDrop","_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","margin","overflow","isLoading","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';\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 margin=\"24px\"\n overflow=\"auto\"\n direction=\"vertical\"\n >\n <Box dataHook=\"kanban-stages\" direction=\"vertical\">\n {props.state.isLoading() ? (\n <div data-hook=\"kanban-loading\">loading stages...</div>\n ) : (\n stagesContent\n )}\n </Box>\n </Box>\n </ToolbarCollection>\n </CollectionCard>\n );\n}\n\nexport const Kanban = observer(_Kanban);\n"],"mappings":"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","ignoreList":[]}
@@ -6,12 +6,36 @@ exports.default = void 0;
6
6
  var _CollectionToolbarUni = require("../CollectionToolbar/CollectionToolbar.uni.driver");
7
7
  var _baseUniDriverFactory = require("../../unidriver/baseUniDriverFactory");
8
8
  var _unidriver = require("@wix/design-system/dist/testkit/unidriver");
9
+ var _DragAndDropUni = require("../DragAndDrop/DragAndDrop.uni.driver");
9
10
  function KanbanUniDriver(base, body) {
10
11
  const toolbarBase = () => base.$('[data-hook="collection-toolbar"]');
11
12
  const toolbar = () => (0, _CollectionToolbarUni.CollectionToolbarUniDriver)(toolbarBase(), body);
13
+ const dragAndDrop = () => (0, _DragAndDropUni.DragAndDropUniDriver)(base);
14
+ const dragCardToStage = async ({
15
+ sourceStageKey,
16
+ cardKey,
17
+ targetStageKey
18
+ }) => {
19
+ const targetStageElement = base.$(`[data-hook^="kanban-stage-container-${targetStageKey}"]`);
20
+ if (!(await targetStageElement.exists())) {
21
+ throw new Error(`Target stage with key ${targetStageKey} not found`);
22
+ }
23
+ const sourceStageElement = base.$(`[data-hook^="kanban-stage-container-${sourceStageKey}"]`);
24
+ if (!(await sourceStageElement.exists())) {
25
+ throw new Error(`Source stage with key ${sourceStageKey} not found`);
26
+ }
27
+ const cardElement = base.$(`[data-hook^="kanban-card-drag-item-${sourceStageKey}-##-${cardKey}"]`);
28
+ if (!(await cardElement.exists())) {
29
+ throw new Error(`Card with key ${cardKey} not found in stage ${sourceStageKey}`);
30
+ }
31
+ const driverDragAndDrop = dragAndDrop();
32
+ await driverDragAndDrop.dragStart(cardElement);
33
+ await driverDragAndDrop.dragEnd(targetStageElement);
34
+ };
12
35
  return {
13
36
  ...(0, _baseUniDriverFactory.baseUniDriverFactory)(base),
14
37
  toolbar: () => toolbar(),
38
+ isKanbanLoading: () => base.$('[data-hook="kanban-loading"]').exists(),
15
39
  stages: {
16
40
  count: () => base.$$('[data-hook^="kanban-stage-container"]').count(),
17
41
  stageTitle: stageId => {
@@ -55,6 +79,10 @@ function KanbanUniDriver(base, body) {
55
79
  },
56
80
  cards: {
57
81
  count: stageKey => base.$$(`[data-hook^="kanban-card-${stageKey}-"]`).count(),
82
+ exists: ({
83
+ stageKey,
84
+ cardKey
85
+ }) => base.$(`[data-hook^="kanban-card-${stageKey}-${cardKey}"]`).exists(),
58
86
  getTitle: ({
59
87
  stageKey,
60
88
  cardKey
@@ -84,7 +112,8 @@ function KanbanUniDriver(base, body) {
84
112
  clickTriggerElement: () => iconButton.click()
85
113
  };
86
114
  },
87
- getActionModal: () => (0, _unidriver.MessageModalLayoutUniDriver)(body.$('[data-hook="collection-action-modal"]'), body)
115
+ getActionModal: () => (0, _unidriver.MessageModalLayoutUniDriver)(body.$('[data-hook="collection-action-modal"]'), body),
116
+ dragCardToStage
88
117
  }
89
118
  };
90
119
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_CollectionToolbarUni","require","_baseUniDriverFactory","_unidriver","KanbanUniDriver","base","body","toolbarBase","$","toolbar","CollectionToolbarUniDriver","baseUniDriverFactory","stages","count","$$","stageTitle","stageId","TextUniDriver","stageSummary","counterBadge","CounterBadgeUniDriver","exists","totalItems","getContentText","scrollToEndOfStageCardsContainer","stageKey","scrollableElementDataHook","page","getNative","evaluate","_dataHook","scrollableElement","document","querySelector","scrollBy","behavior","top","scrollHeight","waitForTimeout","pageScrollContent","nativeEl","scrollTop","clientHeight","dispatchEvent","Event","cards","getTitle","cardKey","getPrimaryAction","button","ButtonUniDriver","text","getButtonTextContent","getSecondaryActions","popoverMenu","PopoverMenuUniDriver","triggerButton","getTriggerElement","iconButton","IconButtonUniDriver","clickTriggerElement","click","getActionModal","MessageModalLayoutUniDriver","_default","exports","default"],"sources":["../../../../src/components/Kanban/Kanban.uni.driver.ts"],"sourcesContent":["import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';\nimport { CollectionToolbarUniDriver } from '../CollectionToolbar/CollectionToolbar.uni.driver';\nimport { baseUniDriverFactory } from '../../unidriver/baseUniDriverFactory';\nimport { SledPage } from '@wix/sled-test-runner';\nimport {\n ButtonUniDriver,\n CounterBadgeUniDriver,\n IconButtonUniDriver,\n MessageModalLayoutUniDriver,\n PopoverMenuUniDriver,\n TextUniDriver,\n} from '@wix/design-system/dist/testkit/unidriver';\n\nexport function KanbanUniDriver(base: UniDriver, body: UniDriver) {\n const toolbarBase = () => base.$('[data-hook=\"collection-toolbar\"]');\n\n const toolbar = () => CollectionToolbarUniDriver(toolbarBase(), body);\n\n return {\n ...baseUniDriverFactory(base),\n toolbar: () => toolbar(),\n stages: {\n count: () => base.$$('[data-hook^=\"kanban-stage-container\"]').count(),\n stageTitle: (stageId: string) => {\n return TextUniDriver(\n base.$(`[data-hook^=\"kanban-stage-title-${stageId}\"]`),\n body,\n );\n },\n stageSummary: (stageId: string) => {\n const counterBadge = CounterBadgeUniDriver(\n base.$(`[data-hook^=\"kanban-stage-title-total-${stageId}\"]`),\n body,\n );\n return {\n ...counterBadge,\n exists: () => counterBadge.exists(),\n totalItems: () => counterBadge.getContentText(),\n };\n },\n scrollToEndOfStageCardsContainer: async (stageKey: string) => {\n const scrollableElementDataHook = `kanban-stage-cards-container-${stageKey}`;\n\n const { page } = (await body\n .$(`[data-hook=\"${scrollableElementDataHook}\"]`)\n .getNative()) as {\n page?: SledPage['page'];\n };\n // puppeteer\n if (page?.evaluate) {\n await page.evaluate((_dataHook: string) => {\n const scrollableElement = document.querySelector(\n `[data-hook=\"${_dataHook}\"]`,\n )!;\n scrollableElement.scrollBy({\n behavior: 'smooth',\n top: scrollableElement.scrollHeight,\n });\n }, scrollableElementDataHook);\n await page.waitForTimeout(1000); // delay scroll resolve by 1 sec\n }\n // jsdom\n else {\n const pageScrollContent = body.$(\n `[data-hook=\"${scrollableElementDataHook}\"]`,\n );\n\n if (await pageScrollContent.exists()) {\n // Scroll to the end of pageScrollContent by setting scrollTop to (scrollHeight - clientHeight)\n const nativeEl = await pageScrollContent.getNative();\n nativeEl.scrollTop = nativeEl.scrollHeight - nativeEl.clientHeight;\n await nativeEl.dispatchEvent(new Event('scroll'));\n }\n }\n },\n },\n cards: {\n count: (stageKey: string) =>\n base.$$(`[data-hook^=\"kanban-card-${stageKey}-\"]`).count(),\n getTitle: ({\n stageKey,\n cardKey,\n }: {\n stageKey: string;\n cardKey: string;\n }) => {\n return TextUniDriver(\n base.$(`[data-hook^=\"kanban-card-title-${stageKey}-${cardKey}\"]`),\n body,\n );\n },\n getPrimaryAction: ({\n stageKey,\n cardKey,\n }: {\n stageKey: string;\n cardKey: string;\n }) => {\n const button = ButtonUniDriver(\n base.$(\n `[data-hook=\"kanban-card-primary-action-${stageKey}-${cardKey}\"]`,\n ),\n body,\n );\n return {\n ...button,\n exists: () => button.exists(),\n text: () => button.getButtonTextContent(),\n };\n },\n getSecondaryActions: ({\n stageKey,\n cardKey,\n }: {\n stageKey: string;\n cardKey: string;\n }) => {\n const popoverMenu = PopoverMenuUniDriver(\n base.$(\n `[data-hook=\"kanban-card-more-actions-${stageKey}-${cardKey}\"]`,\n ),\n body,\n );\n\n const triggerButton = popoverMenu.getTriggerElement(\n `kanban-card-more-actions-trigger-${stageKey}-${cardKey}`,\n );\n const iconButton = IconButtonUniDriver(triggerButton, base);\n return {\n ...popoverMenu,\n clickTriggerElement: () => iconButton.click(),\n };\n },\n getActionModal: () =>\n MessageModalLayoutUniDriver(\n body.$('[data-hook=\"collection-action-modal\"]'),\n body,\n ),\n },\n };\n}\n\nexport default KanbanUniDriver;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_CollectionToolbarUni","require","_baseUniDriverFactory","_unidriver","_DragAndDropUni","KanbanUniDriver","base","body","toolbarBase","$","toolbar","CollectionToolbarUniDriver","dragAndDrop","DragAndDropUniDriver","dragCardToStage","sourceStageKey","cardKey","targetStageKey","targetStageElement","exists","Error","sourceStageElement","cardElement","driverDragAndDrop","dragStart","dragEnd","baseUniDriverFactory","isKanbanLoading","stages","count","$$","stageTitle","stageId","TextUniDriver","stageSummary","counterBadge","CounterBadgeUniDriver","totalItems","getContentText","scrollToEndOfStageCardsContainer","stageKey","scrollableElementDataHook","page","getNative","evaluate","_dataHook","scrollableElement","document","querySelector","scrollBy","behavior","top","scrollHeight","waitForTimeout","pageScrollContent","nativeEl","scrollTop","clientHeight","dispatchEvent","Event","cards","getTitle","getPrimaryAction","button","ButtonUniDriver","text","getButtonTextContent","getSecondaryActions","popoverMenu","PopoverMenuUniDriver","triggerButton","getTriggerElement","iconButton","IconButtonUniDriver","clickTriggerElement","click","getActionModal","MessageModalLayoutUniDriver","_default","exports","default"],"sources":["../../../../src/components/Kanban/Kanban.uni.driver.ts"],"sourcesContent":["import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';\nimport { CollectionToolbarUniDriver } from '../CollectionToolbar/CollectionToolbar.uni.driver';\nimport { baseUniDriverFactory } from '../../unidriver/baseUniDriverFactory';\nimport { SledPage } from '@wix/sled-test-runner';\nimport {\n ButtonUniDriver,\n CounterBadgeUniDriver,\n IconButtonUniDriver,\n MessageModalLayoutUniDriver,\n PopoverMenuUniDriver,\n TextUniDriver,\n} from '@wix/design-system/dist/testkit/unidriver';\nimport { DragAndDropUniDriver } from '../DragAndDrop/DragAndDrop.uni.driver';\n\nexport function KanbanUniDriver(base: UniDriver, body: UniDriver) {\n const toolbarBase = () => base.$('[data-hook=\"collection-toolbar\"]');\n\n const toolbar = () => CollectionToolbarUniDriver(toolbarBase(), body);\n\n const dragAndDrop = () => DragAndDropUniDriver(base);\n\n const dragCardToStage = async ({\n sourceStageKey,\n cardKey,\n targetStageKey,\n }: {\n sourceStageKey: string;\n cardKey: string;\n targetStageKey: string;\n }) => {\n const targetStageElement = base.$(\n `[data-hook^=\"kanban-stage-container-${targetStageKey}\"]`,\n );\n\n if (!(await targetStageElement.exists())) {\n throw new Error(`Target stage with key ${targetStageKey} not found`);\n }\n\n const sourceStageElement = base.$(\n `[data-hook^=\"kanban-stage-container-${sourceStageKey}\"]`,\n );\n\n if (!(await sourceStageElement.exists())) {\n throw new Error(`Source stage with key ${sourceStageKey} not found`);\n }\n\n const cardElement = base.$(\n `[data-hook^=\"kanban-card-drag-item-${sourceStageKey}-##-${cardKey}\"]`,\n );\n\n if (!(await cardElement.exists())) {\n throw new Error(\n `Card with key ${cardKey} not found in stage ${sourceStageKey}`,\n );\n }\n\n const driverDragAndDrop = dragAndDrop();\n await driverDragAndDrop.dragStart(cardElement);\n await driverDragAndDrop.dragEnd(targetStageElement);\n };\n\n return {\n ...baseUniDriverFactory(base),\n toolbar: () => toolbar(),\n isKanbanLoading: () => base.$('[data-hook=\"kanban-loading\"]').exists(),\n stages: {\n count: () => base.$$('[data-hook^=\"kanban-stage-container\"]').count(),\n stageTitle: (stageId: string) => {\n return TextUniDriver(\n base.$(`[data-hook^=\"kanban-stage-title-${stageId}\"]`),\n body,\n );\n },\n stageSummary: (stageId: string) => {\n const counterBadge = CounterBadgeUniDriver(\n base.$(`[data-hook^=\"kanban-stage-title-total-${stageId}\"]`),\n body,\n );\n return {\n ...counterBadge,\n exists: () => counterBadge.exists(),\n totalItems: () => counterBadge.getContentText(),\n };\n },\n scrollToEndOfStageCardsContainer: async (stageKey: string) => {\n const scrollableElementDataHook = `kanban-stage-cards-container-${stageKey}`;\n\n const { page } = (await body\n .$(`[data-hook=\"${scrollableElementDataHook}\"]`)\n .getNative()) as {\n page?: SledPage['page'];\n };\n // puppeteer\n if (page?.evaluate) {\n await page.evaluate((_dataHook: string) => {\n const scrollableElement = document.querySelector(\n `[data-hook=\"${_dataHook}\"]`,\n )!;\n scrollableElement.scrollBy({\n behavior: 'smooth',\n top: scrollableElement.scrollHeight,\n });\n }, scrollableElementDataHook);\n await page.waitForTimeout(1000); // delay scroll resolve by 1 sec\n }\n // jsdom\n else {\n const pageScrollContent = body.$(\n `[data-hook=\"${scrollableElementDataHook}\"]`,\n );\n\n if (await pageScrollContent.exists()) {\n // Scroll to the end of pageScrollContent by setting scrollTop to (scrollHeight - clientHeight)\n const nativeEl = await pageScrollContent.getNative();\n nativeEl.scrollTop = nativeEl.scrollHeight - nativeEl.clientHeight;\n await nativeEl.dispatchEvent(new Event('scroll'));\n }\n }\n },\n },\n cards: {\n count: (stageKey: string) =>\n base.$$(`[data-hook^=\"kanban-card-${stageKey}-\"]`).count(),\n exists: ({ stageKey, cardKey }: { stageKey: string; cardKey: string }) =>\n base.$(`[data-hook^=\"kanban-card-${stageKey}-${cardKey}\"]`).exists(),\n getTitle: ({\n stageKey,\n cardKey,\n }: {\n stageKey: string;\n cardKey: string;\n }) => {\n return TextUniDriver(\n base.$(`[data-hook^=\"kanban-card-title-${stageKey}-${cardKey}\"]`),\n body,\n );\n },\n getPrimaryAction: ({\n stageKey,\n cardKey,\n }: {\n stageKey: string;\n cardKey: string;\n }) => {\n const button = ButtonUniDriver(\n base.$(\n `[data-hook=\"kanban-card-primary-action-${stageKey}-${cardKey}\"]`,\n ),\n body,\n );\n return {\n ...button,\n exists: () => button.exists(),\n text: () => button.getButtonTextContent(),\n };\n },\n getSecondaryActions: ({\n stageKey,\n cardKey,\n }: {\n stageKey: string;\n cardKey: string;\n }) => {\n const popoverMenu = PopoverMenuUniDriver(\n base.$(\n `[data-hook=\"kanban-card-more-actions-${stageKey}-${cardKey}\"]`,\n ),\n body,\n );\n\n const triggerButton = popoverMenu.getTriggerElement(\n `kanban-card-more-actions-trigger-${stageKey}-${cardKey}`,\n );\n const iconButton = IconButtonUniDriver(triggerButton, base);\n return {\n ...popoverMenu,\n clickTriggerElement: () => iconButton.click(),\n };\n },\n getActionModal: () =>\n MessageModalLayoutUniDriver(\n body.$('[data-hook=\"collection-action-modal\"]'),\n body,\n ),\n dragCardToStage,\n },\n };\n}\n\nexport default KanbanUniDriver;\n"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,28 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  exports.__esModule = true;
4
5
  exports.StageComponent = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
7
  var React = _interopRequireWildcard(require("react"));
6
8
  var _designSystem = require("@wix/design-system");
7
9
  var _mobxReactLite = require("mobx-react-lite");
8
10
  var _Card = require("./Card");
11
+ var _KanbanCardDragAndDrop = require("../KanbanDragAndDropDndKit/KanbanCardDragAndDrop");
9
12
  var _state = require("../../state");
13
+ var _core = require("@wix/wix-style-react-incubator/dnd-kit/core");
14
+ var _mobx = require("mobx");
10
15
  var _jsxFileName = "/home/builduser/work/db7ea24852bc3350/packages/cairo/dist/cjs/components/Kanban/Stage.tsx";
11
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
17
  function _StageComponent({
13
18
  dataHook,
14
- stageState,
19
+ state,
15
20
  stageSummary,
21
+ activeStageKey,
22
+ stageKey,
16
23
  ...props
17
24
  }) {
25
+ const stageState = state.kanbanStageStates[stageKey];
18
26
  const handleScroll = e => {
19
27
  const {
20
28
  scrollTop,
@@ -30,6 +38,17 @@ function _StageComponent({
30
38
  keyedItems
31
39
  }
32
40
  } = stageState.itemsCollectionState;
41
+
42
+ // Make the stage droppable
43
+ const {
44
+ isOver,
45
+ setNodeRef: setDroppableRef
46
+ } = (0, _core.useDroppable)({
47
+ id: stageState.stageKey
48
+ });
49
+
50
+ // Check if this stage is the source stage (where drag originated)
51
+ const isDndSourceStage = activeStageKey === stageState.stageKey;
33
52
  const items = React.useMemo(() => {
34
53
  return keyedItems.map((keyedItem, index) => {
35
54
  const itemActionsState = new _state.ItemActionsState({
@@ -39,7 +58,7 @@ function _StageComponent({
39
58
  });
40
59
  return {
41
60
  keyedItem,
42
- stageKey: stageState.stageKey(),
61
+ stageKey: stageState.stageKey,
43
62
  originalItem: keyedItem.item,
44
63
  itemIndex: index,
45
64
  itemActionsState,
@@ -54,49 +73,65 @@ function _StageComponent({
54
73
  };
55
74
  });
56
75
  }, [keyedItems, keyedItems.length]);
57
- return /*#__PURE__*/React.createElement(_designSystem.Box, {
58
- width: "270px",
59
- dataHook: `kanban-stage-container-${stageState.stageKey()}`,
60
- backgroundColor: "#F4F7FF",
61
- borderRadius: "8px",
62
- paddingLeft: "12px",
63
- paddingRight: "12px",
64
- direction: "vertical",
76
+ const {
77
+ DraggableCard
78
+ } = _KanbanCardDragAndDrop.KanbanCardDragAndDrop;
79
+ return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
80
+ ref: setDroppableRef,
81
+ "data-hook": `kanban-stage-container-${stageState.stageKey}`,
82
+ style: {
83
+ width: '270px',
84
+ backgroundColor: isOver && !isDndSourceStage ? '#9C9EA6' : '#F4F7FF',
85
+ borderRadius: '8px',
86
+ display: 'flex',
87
+ flexDirection: 'column',
88
+ transition: 'background-color 0.2s ease',
89
+ border: isOver && !isDndSourceStage ? '2px dashed #2196F3' : '2px solid transparent'
90
+ }
91
+ }, process.env.NODE_ENV === 'test' && {
92
+ onPointerUp: (0, _mobx.action)(() => {
93
+ if (state.dragAndDropState.activeId) {
94
+ state.dragAndDropState.handleDragEnd({
95
+ over: {
96
+ id: stageState.stageKey
97
+ },
98
+ active: {
99
+ id: state.dragAndDropState.activeId
100
+ }
101
+ });
102
+ }
103
+ })
104
+ }, {
65
105
  __self: this,
66
106
  __source: {
67
107
  fileName: _jsxFileName,
68
- lineNumber: 77,
108
+ lineNumber: 88,
69
109
  columnNumber: 5
70
110
  }
71
- }, /*#__PURE__*/React.createElement(_designSystem.Box, {
111
+ }), /*#__PURE__*/React.createElement(_designSystem.Box, {
72
112
  width: "246px",
73
113
  direction: "vertical",
74
114
  __self: this,
75
115
  __source: {
76
116
  fileName: _jsxFileName,
77
- lineNumber: 86,
117
+ lineNumber: 114,
78
118
  columnNumber: 7
79
119
  }
80
120
  }, /*#__PURE__*/React.createElement("div", {
81
- "data-hook": dataHook
82
- // onDragOver={(e) => e.preventDefault()}
83
- // onDrop={(e) => {
84
- // e.preventDefault();
85
- // }}
86
- ,
121
+ "data-hook": dataHook,
87
122
  __self: this,
88
123
  __source: {
89
124
  fileName: _jsxFileName,
90
- lineNumber: 87,
125
+ lineNumber: 115,
91
126
  columnNumber: 9
92
127
  }
93
128
  }, /*#__PURE__*/React.createElement(_designSystem.Box, {
94
- paddingTop: "12px",
95
129
  direction: "vertical",
130
+ padding: "12px",
96
131
  __self: this,
97
132
  __source: {
98
133
  fileName: _jsxFileName,
99
- lineNumber: 94,
134
+ lineNumber: 116,
100
135
  columnNumber: 11
101
136
  }
102
137
  }, /*#__PURE__*/React.createElement(_designSystem.Box, {
@@ -107,7 +142,7 @@ function _StageComponent({
107
142
  __self: this,
108
143
  __source: {
109
144
  fileName: _jsxFileName,
110
- lineNumber: 95,
145
+ lineNumber: 117,
111
146
  columnNumber: 13
112
147
  }
113
148
  }, /*#__PURE__*/React.createElement(_designSystem.Box, {
@@ -115,44 +150,43 @@ function _StageComponent({
115
150
  __self: this,
116
151
  __source: {
117
152
  fileName: _jsxFileName,
118
- lineNumber: 101,
153
+ lineNumber: 123,
119
154
  columnNumber: 15
120
155
  }
121
156
  }, /*#__PURE__*/React.createElement(_designSystem.Text, {
122
157
  size: "small",
123
158
  weight: "bold",
124
- dataHook: `kanban-stage-title-${stageState.stageKey()}`,
159
+ dataHook: `kanban-stage-title-${stageState.stageKey}`,
125
160
  __self: this,
126
161
  __source: {
127
162
  fileName: _jsxFileName,
128
- lineNumber: 102,
163
+ lineNumber: 124,
129
164
  columnNumber: 17
130
165
  }
131
- }, stageState.stageName()), /*#__PURE__*/React.createElement(_designSystem.CounterBadge, {
132
- dataHook: `kanban-stage-title-total-${stageState.stageKey()}`,
166
+ }, stageState.stageName), /*#__PURE__*/React.createElement(_designSystem.CounterBadge, {
167
+ dataHook: `kanban-stage-title-total-${stageState.stageKey}`,
133
168
  skin: "light",
134
169
  truncate: false,
135
170
  __self: this,
136
171
  __source: {
137
172
  fileName: _jsxFileName,
138
- lineNumber: 109,
173
+ lineNumber: 131,
139
174
  columnNumber: 17
140
175
  }
141
176
  }, stageState.totalItems())), /*#__PURE__*/React.createElement(_designSystem.Box, {
142
177
  __self: this,
143
178
  __source: {
144
179
  fileName: _jsxFileName,
145
- lineNumber: 117,
180
+ lineNumber: 139,
146
181
  columnNumber: 15
147
182
  }
148
183
  }, stageSummary == null ? void 0 : stageSummary({
149
184
  stage: stageState.stage
150
185
  }))), /*#__PURE__*/React.createElement(_designSystem.Box, {
151
- paddingBottom: "12px",
152
186
  __self: this,
153
187
  __source: {
154
188
  fileName: _jsxFileName,
155
- lineNumber: 119,
189
+ lineNumber: 141,
156
190
  columnNumber: 13
157
191
  }
158
192
  }, /*#__PURE__*/React.createElement(_designSystem.AddItem, {
@@ -161,7 +195,7 @@ function _StageComponent({
161
195
  __self: this,
162
196
  __source: {
163
197
  fileName: _jsxFileName,
164
- lineNumber: 120,
198
+ lineNumber: 142,
165
199
  columnNumber: 15
166
200
  }
167
201
  }, /*#__PURE__*/React.createElement(_designSystem.Box, {
@@ -170,23 +204,32 @@ function _StageComponent({
170
204
  __self: this,
171
205
  __source: {
172
206
  fileName: _jsxFileName,
173
- lineNumber: 121,
207
+ lineNumber: 143,
174
208
  columnNumber: 17
175
209
  }
176
210
  }, "Add Card")))), stageState.isLoading() ? /*#__PURE__*/React.createElement("div", {
177
211
  __self: this,
178
212
  __source: {
179
213
  fileName: _jsxFileName,
180
- lineNumber: 128,
214
+ lineNumber: 150,
181
215
  columnNumber: 13
182
216
  }
183
- }, "loading cards...") : /*#__PURE__*/React.createElement("div", {
184
- "data-hook": `kanban-stage-cards-container-${stageState.stageKey()}`,
217
+ }, "loading cards...") : /*#__PURE__*/React.createElement(_designSystem.Box, {
218
+ paddingBottom: "12px",
219
+ direction: "vertical",
220
+ __self: this,
221
+ __source: {
222
+ fileName: _jsxFileName,
223
+ lineNumber: 152,
224
+ columnNumber: 13
225
+ }
226
+ }, /*#__PURE__*/React.createElement("div", {
227
+ "data-hook": `kanban-stage-cards-container-${stageState.stageKey}`,
185
228
  style: {
186
229
  overflow: 'auto',
187
230
  height: '100%',
188
- minHeight: '600px',
189
- maxHeight: 'calc(100vh - 400px)',
231
+ minHeight: '430px',
232
+ maxHeight: 'calc(100vh - 420px)',
190
233
  display: 'flex',
191
234
  flexDirection: 'column',
192
235
  gap: '12px'
@@ -195,38 +238,39 @@ function _StageComponent({
195
238
  __self: this,
196
239
  __source: {
197
240
  fileName: _jsxFileName,
198
- lineNumber: 130,
199
- columnNumber: 13
241
+ lineNumber: 153,
242
+ columnNumber: 15
200
243
  }
201
- }, items.map(itemData => {
202
- var _itemData$item;
203
- return /*#__PURE__*/React.createElement(_Card.CardComponent, {
204
- key: `${itemData.stageKey}-${(_itemData$item = itemData.item) == null ? void 0 : _itemData$item.key}`,
205
- keyedItem: itemData.keyedItem,
206
- originalItem: itemData.keyedItem.item,
207
- itemIndex: itemData.itemIndex,
208
- item: itemData.item,
209
- stageKey: itemData.stageKey,
210
- actionCell: itemData.actionCell,
211
- itemActionsState: itemData.itemActionsState,
244
+ }, items == null ? void 0 : items.map(item => /*#__PURE__*/React.createElement(DraggableCard, {
245
+ key: `${item.stageKey}-##-${item.item.key}`,
246
+ id: `${item.stageKey}-##-${item.item.key}`,
247
+ state: state,
248
+ cardProps: {
249
+ keyedItem: item.keyedItem,
250
+ originalItem: item.keyedItem.item,
251
+ itemIndex: item.itemIndex,
252
+ item: item.item,
253
+ stageKey: item.stageKey,
254
+ actionCell: item.actionCell,
255
+ itemActionsState: item.itemActionsState,
212
256
  dataExtension: props.dataExtension,
213
- tags: props.tags,
214
- __self: this,
215
- __source: {
216
- fileName: _jsxFileName,
217
- lineNumber: 144,
218
- columnNumber: 17
219
- }
220
- });
221
- }), stageState.itemsCollectionState.status.isLoading && /*#__PURE__*/React.createElement("div", {
257
+ tags: props.tags
258
+ },
259
+ __self: this,
260
+ __source: {
261
+ fileName: _jsxFileName,
262
+ lineNumber: 167,
263
+ columnNumber: 19
264
+ }
265
+ }, _Card.CardComponent)), stageState.itemsCollectionState.status.isLoading && /*#__PURE__*/React.createElement("div", {
222
266
  className: "text-sm text-center text-gray-500",
223
267
  __self: this,
224
268
  __source: {
225
269
  fileName: _jsxFileName,
226
- lineNumber: 158,
227
- columnNumber: 17
270
+ lineNumber: 187,
271
+ columnNumber: 19
228
272
  }
229
- }, "Loading more...")))));
273
+ }, "Loading more..."))))));
230
274
  }
231
275
  const StageComponent = exports.StageComponent = (0, _mobxReactLite.observer)(_StageComponent);
232
276
  //# sourceMappingURL=Stage.js.map