@wix/patterns 1.344.0 → 1.345.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 (305) hide show
  1. package/dist/cjs/components/ActionControl/ActionButton.js +1 -1
  2. package/dist/cjs/components/ActionControl/ActionButton.js.map +1 -1
  3. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  4. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  5. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  6. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  8. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.js +88 -17
  10. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.js.map +1 -1
  11. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css +6 -0
  12. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +25 -0
  13. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -0
  14. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.types.js.map +1 -1
  15. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.js +4 -3
  16. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.js.map +1 -1
  17. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  20. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  22. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  24. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  25. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  27. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  28. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  29. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  30. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  31. package/dist/cjs/components/ExportButton/ExportButton.js +2 -2
  32. package/dist/cjs/components/ExportButton/ExportButton.js.map +1 -1
  33. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  34. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  35. package/dist/cjs/components/Grid/Grid.js +7 -6
  36. package/dist/cjs/components/Grid/Grid.js.map +1 -1
  37. package/dist/cjs/components/GridSections/GridSectionHeader.js +2 -0
  38. package/dist/cjs/components/GridSections/GridSectionHeader.js.map +1 -1
  39. package/dist/cjs/components/GridSections/GridSectionsContent.js +8 -5
  40. package/dist/cjs/components/GridSections/GridSectionsContent.js.map +1 -1
  41. package/dist/cjs/components/GridSections/GridSectionsSectionState.js +2 -2
  42. package/dist/cjs/components/GridSections/GridSectionsSectionState.js.map +1 -1
  43. package/dist/cjs/components/GridSections/GridSectionsState.js +31 -14
  44. package/dist/cjs/components/GridSections/GridSectionsState.js.map +1 -1
  45. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  46. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  47. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  48. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  49. package/dist/cjs/components/Kanban/Kanban.uni.driver.js +10 -0
  50. package/dist/cjs/components/Kanban/Kanban.uni.driver.js.map +1 -1
  51. package/dist/cjs/components/Kanban/KanbanProps.js.map +1 -1
  52. package/dist/cjs/components/Kanban/Stage.js +39 -25
  53. package/dist/cjs/components/Kanban/Stage.js.map +1 -1
  54. package/dist/cjs/components/Kanban/StageActions.js +121 -0
  55. package/dist/cjs/components/Kanban/StageActions.js.map +1 -0
  56. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  57. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  58. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  59. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  60. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  61. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  62. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +1 -1
  63. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
  64. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css +0 -1
  65. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  66. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  67. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  68. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  69. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  70. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  71. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  72. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  73. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  74. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  75. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  76. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  77. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  78. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  79. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  80. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  81. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  82. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  83. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  84. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  85. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  86. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  87. package/dist/cjs/components/Table/TableBase.js +2 -1
  88. package/dist/cjs/components/Table/TableBase.js.map +1 -1
  89. package/dist/cjs/components/TableGridSwitch/TableGridSwitch.js +6 -4
  90. package/dist/cjs/components/TableGridSwitch/TableGridSwitch.js.map +1 -1
  91. package/dist/cjs/components/TableSections/TableSectionRow.js +13 -8
  92. package/dist/cjs/components/TableSections/TableSectionRow.js.map +1 -1
  93. package/dist/cjs/components/TableSections/TableSections.js +3 -2
  94. package/dist/cjs/components/TableSections/TableSections.js.map +1 -1
  95. package/dist/cjs/components/TableSections/TableSectionsState.js +26 -8
  96. package/dist/cjs/components/TableSections/TableSectionsState.js.map +1 -1
  97. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  98. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  99. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  100. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  101. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  102. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  103. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  104. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  105. package/dist/cjs/components/common.st.css.js +4 -4
  106. package/dist/cjs/components/common.st.css.js.map +1 -1
  107. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  108. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  109. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  110. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  111. package/dist/cjs/styles.global.css +1 -1
  112. package/dist/cjs/version.js +1 -1
  113. package/dist/cjs/version.js.map +1 -1
  114. package/dist/esm/components/ActionControl/ActionButton.js +1 -1
  115. package/dist/esm/components/ActionControl/ActionButton.js.map +1 -1
  116. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  117. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  118. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  119. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  120. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.js +31 -8
  121. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.js.map +1 -1
  122. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css +6 -0
  123. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +15 -0
  124. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -0
  125. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.js +2 -2
  126. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.js.map +1 -1
  127. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  128. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  129. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  130. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  131. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  132. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  133. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  134. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  135. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  136. package/dist/esm/components/ExportButton/ExportButton.js +2 -2
  137. package/dist/esm/components/ExportButton/ExportButton.js.map +1 -1
  138. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  139. package/dist/esm/components/Grid/Grid.js +1 -1
  140. package/dist/esm/components/Grid/Grid.js.map +1 -1
  141. package/dist/esm/components/GridSections/GridSectionHeader.js +2 -2
  142. package/dist/esm/components/GridSections/GridSectionHeader.js.map +1 -1
  143. package/dist/esm/components/GridSections/GridSectionsContent.js +5 -3
  144. package/dist/esm/components/GridSections/GridSectionsContent.js.map +1 -1
  145. package/dist/esm/components/GridSections/GridSectionsSectionState.js +2 -2
  146. package/dist/esm/components/GridSections/GridSectionsSectionState.js.map +1 -1
  147. package/dist/esm/components/GridSections/GridSectionsState.js +26 -15
  148. package/dist/esm/components/GridSections/GridSectionsState.js.map +1 -1
  149. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  150. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  151. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  152. package/dist/esm/components/Kanban/Kanban.uni.driver.js +10 -0
  153. package/dist/esm/components/Kanban/Kanban.uni.driver.js.map +1 -1
  154. package/dist/esm/components/Kanban/Stage.js +7 -5
  155. package/dist/esm/components/Kanban/Stage.js.map +1 -1
  156. package/dist/esm/components/Kanban/StageActions.js +49 -0
  157. package/dist/esm/components/Kanban/StageActions.js.map +1 -0
  158. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  159. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  160. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  161. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +1 -1
  162. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
  163. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css +0 -1
  164. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  165. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  166. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  167. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  168. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  169. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  170. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  171. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  172. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  173. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  174. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  175. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  176. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  177. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  178. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  179. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  180. package/dist/esm/components/Table/TableBase.js +1 -1
  181. package/dist/esm/components/Table/TableBase.js.map +1 -1
  182. package/dist/esm/components/TableGridSwitch/TableGridSwitch.js +2 -0
  183. package/dist/esm/components/TableGridSwitch/TableGridSwitch.js.map +1 -1
  184. package/dist/esm/components/TableSections/TableSectionRow.js +4 -3
  185. package/dist/esm/components/TableSections/TableSectionRow.js.map +1 -1
  186. package/dist/esm/components/TableSections/TableSections.js +2 -2
  187. package/dist/esm/components/TableSections/TableSections.js.map +1 -1
  188. package/dist/esm/components/TableSections/TableSectionsState.js +27 -10
  189. package/dist/esm/components/TableSections/TableSectionsState.js.map +1 -1
  190. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  191. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  192. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  193. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  194. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  195. package/dist/esm/components/common.st.css.js +2 -2
  196. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  197. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  198. package/dist/esm/styles.global.css +1 -1
  199. package/dist/esm/version.js +1 -1
  200. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  201. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.d.ts +4 -2
  202. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.d.ts.map +1 -1
  203. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts +16 -0
  204. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -0
  205. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.types.d.ts +43 -9
  206. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.types.d.ts.map +1 -1
  207. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.d.ts +2 -1
  208. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.d.ts.map +1 -1
  209. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  210. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  211. package/dist/types/components/Grid/Grid.d.ts +3 -2
  212. package/dist/types/components/Grid/Grid.d.ts.map +1 -1
  213. package/dist/types/components/GridSections/GridSectionHeader.d.ts.map +1 -1
  214. package/dist/types/components/GridSections/GridSectionsContent.d.ts +2 -1
  215. package/dist/types/components/GridSections/GridSectionsContent.d.ts.map +1 -1
  216. package/dist/types/components/GridSections/GridSectionsState.d.ts +4 -1
  217. package/dist/types/components/GridSections/GridSectionsState.d.ts.map +1 -1
  218. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  219. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +84 -0
  220. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts.map +1 -1
  221. package/dist/types/components/Kanban/KanbanProps.d.ts +1 -0
  222. package/dist/types/components/Kanban/KanbanProps.d.ts.map +1 -1
  223. package/dist/types/components/Kanban/Stage.d.ts +2 -1
  224. package/dist/types/components/Kanban/Stage.d.ts.map +1 -1
  225. package/dist/types/components/Kanban/StageActions.d.ts +15 -0
  226. package/dist/types/components/Kanban/StageActions.d.ts.map +1 -0
  227. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  228. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  229. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  230. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  231. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  232. package/dist/types/components/Table/TableBase.d.ts.map +1 -1
  233. package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts +3 -2
  234. package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts.map +1 -1
  235. package/dist/types/components/TableSections/TableSectionRow.d.ts.map +1 -1
  236. package/dist/types/components/TableSections/TableSections.d.ts +4 -2
  237. package/dist/types/components/TableSections/TableSections.d.ts.map +1 -1
  238. package/dist/types/components/TableSections/TableSectionsState.d.ts +11 -5
  239. package/dist/types/components/TableSections/TableSectionsState.d.ts.map +1 -1
  240. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  241. package/dist/types/testkit/jsdom.d.ts +84 -0
  242. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  243. package/dist/types/testkit/puppeteer.d.ts +84 -0
  244. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  245. package/dist/types/version.d.ts +1 -1
  246. package/package.json +3 -3
  247. package/src/components/ActionControl/ActionButton.tsx +1 -1
  248. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  249. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  250. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  251. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css +6 -0
  252. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +25 -0
  253. package/src/components/CollectionSectionHeader/CollectionSectionHeader.tsx +77 -19
  254. package/src/components/CollectionSectionHeader/CollectionSectionHeader.types.ts +46 -9
  255. package/src/components/CollectionSectionHeader/CollectionSectionHeaderActionBar.tsx +3 -1
  256. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  257. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  258. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  259. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  260. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  261. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  262. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  263. package/src/components/ExportButton/ExportButton.tsx +3 -3
  264. package/src/components/Fade/Fade.st.css.ts +2 -2
  265. package/src/components/Grid/Grid.tsx +4 -2
  266. package/src/components/GridSections/GridSectionHeader.tsx +2 -1
  267. package/src/components/GridSections/GridSectionsContent.tsx +7 -4
  268. package/src/components/GridSections/GridSectionsSectionState.ts +2 -2
  269. package/src/components/GridSections/GridSectionsState.ts +43 -20
  270. package/src/components/Heading/Heading.st.css.ts +2 -2
  271. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  272. package/src/components/Kanban/Kanban.uni.driver.ts +20 -0
  273. package/src/components/Kanban/KanbanProps.ts +1 -0
  274. package/src/components/Kanban/Stage.tsx +24 -12
  275. package/src/components/Kanban/StageActions.tsx +114 -0
  276. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  277. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  278. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  279. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css +0 -1
  280. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  281. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.tsx +1 -1
  282. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  283. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  284. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  285. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  286. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  287. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  288. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  289. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  290. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  291. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  292. package/src/components/Table/TableBase.tsx +1 -0
  293. package/src/components/TableGridSwitch/TableGridSwitch.tsx +5 -2
  294. package/src/components/TableSections/TableSectionRow.tsx +6 -3
  295. package/src/components/TableSections/TableSections.tsx +7 -2
  296. package/src/components/TableSections/TableSectionsState.ts +40 -14
  297. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  298. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  299. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  300. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  301. package/src/components/common.st.css.ts +2 -2
  302. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  303. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  304. package/src/styles.global.css +1 -1
  305. package/src/version.ts +1 -1
@@ -4,38 +4,95 @@ import {
4
4
  Text,
5
5
  CounterBadge,
6
6
  Box,
7
+ Tooltip,
7
8
  } from '@wix/design-system';
8
- import React from 'react';
9
+ import React, {
10
+ cloneElement,
11
+ isValidElement,
12
+ ReactElement,
13
+ ReactNode,
14
+ } from 'react';
15
+ import { st, classes } from './CollectionSectionHeader.st.css.js';
9
16
  import { CollectionSectionHeaderActionBar } from './CollectionSectionHeaderActionBar';
10
17
  import { Section } from './CollectionSectionHeader.types';
11
18
 
12
- export interface CollectionSectionHeaderProps
19
+ export interface CollectionSectionHeaderProps<T = unknown>
13
20
  extends Pick<SectionHeaderProps, 'skin' | 'dataHook'> {
14
- section: Section & { count: number; hasMore?: boolean };
21
+ sectionId: string;
22
+ section: Section & { count: number; hasMore?: boolean; items?: T[] };
15
23
  biComponentType: string;
16
24
  }
17
25
 
18
- export const CollectionSectionHeader = ({
26
+ export const CollectionSectionHeader = <T,>({
27
+ sectionId,
19
28
  section,
20
29
  skin,
21
30
  dataHook,
22
31
  biComponentType,
23
- }: CollectionSectionHeaderProps) => {
32
+ }: CollectionSectionHeaderProps<T>) => {
33
+ const renderBadge = (): ReactNode => {
34
+ const { badge } = section;
35
+
36
+ if (!badge || !badge.visible) {
37
+ return null;
38
+ }
39
+
40
+ return (
41
+ <CounterBadge
42
+ truncate={false}
43
+ skin={badge.skin || 'light'}
44
+ dataHook="section-header-badge"
45
+ >
46
+ {section.count}
47
+ {section.hasMore ? '+' : ''}
48
+ </CounterBadge>
49
+ );
50
+ };
51
+
52
+ const renderSummary = (): ReactNode => {
53
+ const { summary } = section;
54
+
55
+ if (!summary || summary.length === 0) {
56
+ return null;
57
+ }
58
+
59
+ return (
60
+ <Box gap="SP2">
61
+ {summary.map((item, index) => (
62
+ <Box
63
+ key={index}
64
+ verticalAlign="middle"
65
+ gap="SP1"
66
+ dataHook="section-header-summary-item"
67
+ >
68
+ <Tooltip content={item.text}>
69
+ {isValidElement(item.icon)
70
+ ? cloneElement(item.icon as ReactElement, {
71
+ className: st(
72
+ classes.summaryIcon,
73
+ item.icon.props?.className,
74
+ ),
75
+ })
76
+ : item.icon}
77
+ </Tooltip>
78
+ <Text size="tiny" weight="normal" skin="standard" secondary>
79
+ {item.count}
80
+ </Text>
81
+ </Box>
82
+ ))}
83
+ </Box>
84
+ );
85
+ };
86
+
24
87
  const title = (
25
- <Box verticalAlign="middle" gap="SP1">
26
- <Text size="small" weight="normal">
27
- {section.title}
28
- </Text>
29
- {section.badge?.visible && (
30
- <CounterBadge
31
- truncate={false}
32
- skin={section.badge.skin || 'light'}
33
- dataHook="section-header-badge"
34
- >
35
- {section.count}
36
- {section.hasMore ? '+' : ''}
37
- </CounterBadge>
38
- )}
88
+ <Box verticalAlign="middle" gap="SP2">
89
+ <Box gap="SP1">
90
+ <Text size="small" weight="normal">
91
+ {section.title}
92
+ </Text>
93
+ {renderBadge()}
94
+ </Box>
95
+ {renderSummary()}
39
96
  </Box>
40
97
  );
41
98
 
@@ -48,6 +105,7 @@ export const CollectionSectionHeader = ({
48
105
  size="small"
49
106
  suffix={
50
107
  <CollectionSectionHeaderActionBar
108
+ sectionId={sectionId}
51
109
  section={section}
52
110
  biComponentType={biComponentType}
53
111
  />
@@ -1,11 +1,34 @@
1
+ import { ReactNode } from 'react';
1
2
  import { CtaBaseProps } from '../CtaProps';
2
3
 
3
- export interface Section {
4
+ interface SectionBadgeConfig {
5
+ visible: boolean;
6
+ skin?: 'light' | 'danger' | 'neutralLight';
7
+ }
8
+
9
+ /**
10
+ * A summary item to display in the section header.
11
+ * @external
12
+ */
13
+ interface SectionSummaryItem {
4
14
  /**
5
- * A unique identifier for the section.
15
+ * An icon to display before the text.
6
16
  * @external
7
17
  */
8
- id: string;
18
+ icon: ReactNode;
19
+ /**
20
+ * A label for the summary item.
21
+ * @external
22
+ */
23
+ text: string;
24
+ /**
25
+ * A count value for the summary item.
26
+ * @external
27
+ */
28
+ count: number;
29
+ }
30
+
31
+ export interface Section {
9
32
  /**
10
33
  * A title for the section.
11
34
  * @external
@@ -18,12 +41,26 @@ export interface Section {
18
41
  */
19
42
  primaryAction?: CtaBaseProps;
20
43
  /**
21
- * A badge for the section.
44
+ * A badge for the section. Configuration object for showing item count.
45
+ * @external
46
+ */
47
+ badge?: SectionBadgeConfig;
48
+ /**
49
+ * Summary items to display in the section header.
50
+ * Each item can have an icon, text label, and count.
22
51
  * @external
23
52
  */
24
- badge?: {
25
- visible: boolean;
26
- skin?: 'light' | 'danger' | 'neutralLight';
27
- };
53
+ summary?: SectionSummaryItem[];
28
54
  }
29
- export type RenderSection<T> = (item: T) => Section;
55
+
56
+ /**
57
+ * A function that extracts the grouping key from an item.
58
+ * @external
59
+ */
60
+ export type GroupBy<T> = (item: T) => string;
61
+
62
+ /**
63
+ * A function that renders section configuration given the section ID and all items in the section.
64
+ * @external
65
+ */
66
+ export type RenderSection<T> = (sectionId: string, items: T[]) => Section;
@@ -5,11 +5,13 @@ import { useToolbarCollectionContext } from '../ToolbarCollectionContext';
5
5
  import { wixPatternsSectionHeaderPrimaryActionClicked } from '@wix/bex-core/bi';
6
6
 
7
7
  export interface CollectionSectionHeaderActionBarProps {
8
+ sectionId: string;
8
9
  section: Section;
9
10
  biComponentType: string;
10
11
  }
11
12
 
12
13
  export const CollectionSectionHeaderActionBar = ({
14
+ sectionId,
13
15
  section,
14
16
  biComponentType,
15
17
  }: CollectionSectionHeaderActionBarProps) => {
@@ -19,7 +21,7 @@ export const CollectionSectionHeaderActionBar = ({
19
21
  const handleClick = () => {
20
22
  toolbarBIReporter.reportBi(
21
23
  wixPatternsSectionHeaderPrimaryActionClicked({
22
- sectionId: section.id,
24
+ sectionId,
23
25
  cta: primaryAction?.id,
24
26
  componentType: biComponentType,
25
27
  }),
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "CollectionTable2112796536";
8
+ var _namespace_ = "CollectionTable3114715534";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"CollectionTable2112796536__root"};
16
+ export var classes = {"root":"CollectionTable3114715534__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "CollectionToolbar4229978739";
8
+ var _namespace_ = "CollectionToolbar3446473932";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"CollectionToolbar4229978739__root","left":"CollectionToolbar4229978739__left","right":"CollectionToolbar4229978739__right","fullWidth":"CollectionToolbar4229978739__fullWidth"};
16
+ export var classes = {"root":"CollectionToolbar3446473932__root","left":"CollectionToolbar3446473932__left","right":"CollectionToolbar3446473932__right","fullWidth":"CollectionToolbar3446473932__fullWidth"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "SearchOrCustomFilter4086095729";
8
+ var _namespace_ = "SearchOrCustomFilter1497284617";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"SearchOrCustomFilter4086095729__root","search":"SearchOrCustomFilter4086095729__search","searchMobile":"SearchOrCustomFilter4086095729__searchMobile"};
16
+ export var classes = {"root":"SearchOrCustomFilter1497284617__root","search":"SearchOrCustomFilter1497284617__search","searchMobile":"SearchOrCustomFilter1497284617__searchMobile"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "AutoCompleteReadonly1705263685";
8
+ var _namespace_ = "AutoCompleteReadonly329712210";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"AutoCompleteReadonly1705263685__root"};
16
+ export var classes = {"root":"AutoCompleteReadonly329712210__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "ViewsDropdown773082691";
8
+ var _namespace_ = "ViewsDropdown433985166";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"ViewsDropdown773082691__root"};
16
+ export var classes = {"root":"ViewsDropdown433985166__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "DragHandle250638546";
8
+ var _namespace_ = "DragHandle3576246055";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"DragHandle250638546__root"};
16
+ export var classes = {"root":"DragHandle3576246055__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "EntityPagePlain3798985217";
8
+ var _namespace_ = "EntityPagePlain3702248845";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"EntityPagePlain3798985217__root"};
16
+ export var classes = {"root":"EntityPagePlain3702248845__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import { FiltersMap, ModalState } from '@wix/bex-core';
3
- import { Box, Button, Drawer, Modal } from '@wix/design-system';
3
+ import { Button, Drawer, Modal } from '@wix/design-system';
4
4
  import { UploadExport } from '@wix/wix-ui-icons-common';
5
5
  import { observer, Observer } from 'mobx-react-lite';
6
6
  import { ExportButtonModalLayout } from './ExportButtonModalLayout';
@@ -98,7 +98,7 @@ function _ExportButton<T, F extends FiltersMap>(
98
98
  }, []);
99
99
 
100
100
  return (
101
- <Box dataHook="export-container">
101
+ <div data-hook="export-container">
102
102
  {toolbarType === 'default' ? (
103
103
  <ResponsiveButton
104
104
  state={responsive.actions}
@@ -121,7 +121,7 @@ function _ExportButton<T, F extends FiltersMap>(
121
121
  {t('cairo.export.export')}
122
122
  </Button>
123
123
  )}
124
- </Box>
124
+ </div>
125
125
  );
126
126
  }
127
127
 
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Fade1979305712";
8
+ var _namespace_ = "Fade1561794639";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Fade1979305712__root"};
16
+ export var classes = {"root":"Fade1561794639__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -15,7 +15,7 @@ import {
15
15
  import { observer } from 'mobx-react-lite';
16
16
  import { useToolbarCollectionSyncProps } from '../ToolbarCollection/useToolbarCollectionSyncProps';
17
17
  import type { GridSectionsContent } from '../GridSections/GridSectionsContent';
18
- import type { Section } from '../CollectionSectionHeader';
18
+ import type { GroupBy, RenderSection } from '../CollectionSectionHeader';
19
19
  import { GridSingleGridContent } from './GridSingleGridContent';
20
20
  import { GridDragAndDrop } from '../GridDragAndDropDndKit/GridDragAndDrop';
21
21
 
@@ -60,7 +60,8 @@ interface GridBaseProps<T, F extends FiltersMap>
60
60
  */
61
61
  sections?: {
62
62
  GridSections: typeof GridSectionsContent;
63
- renderSection?: (item: T) => Section;
63
+ groupBy: GroupBy<T>;
64
+ renderSection?: RenderSection<T>;
64
65
  };
65
66
 
66
67
  layoutType?: LayoutType;
@@ -133,6 +134,7 @@ function _Grid<T, F extends FiltersMap = FiltersMap>(props: GridProps<T, F>) {
133
134
  {sections ? (
134
135
  <sections.GridSections
135
136
  {...props}
137
+ groupBy={sections.groupBy}
136
138
  renderSection={sections.renderSection}
137
139
  state={state}
138
140
  />
@@ -19,7 +19,7 @@ function _GridSectionHeader<T, F extends FiltersMap>(
19
19
  gridBase: { layoutType },
20
20
  } = state;
21
21
 
22
- const { section, range } = sectionDescriptor;
22
+ const { sectionId, section, range } = sectionDescriptor;
23
23
 
24
24
  const sectionWithCount = {
25
25
  ...section,
@@ -30,6 +30,7 @@ function _GridSectionHeader<T, F extends FiltersMap>(
30
30
  return (
31
31
  <CollectionSectionHeader
32
32
  dataHook="grid-section-header"
33
+ sectionId={sectionId}
33
34
  section={sectionWithCount}
34
35
  skin={layoutType === 'list' ? 'light' : 'neutral'}
35
36
  biComponentType="GridSections"
@@ -8,18 +8,19 @@ import { GridState } from '../../state';
8
8
  import { runInAction } from 'mobx';
9
9
  import { Box } from '@wix/design-system';
10
10
  import { GridSectionsSingleSkeletonGrid } from './GridSectionsSingleSkeletonGrid';
11
- import type { RenderSection } from '../CollectionSectionHeader';
11
+ import type { GroupBy, RenderSection } from '../CollectionSectionHeader';
12
12
 
13
13
  export interface GridSectionsContentProps<T, F extends FiltersMap>
14
14
  extends GridContentBaseProps<T, F> {
15
15
  state: GridState<T, F>;
16
+ groupBy: GroupBy<T>;
16
17
  renderSection?: RenderSection<T>;
17
18
  }
18
19
 
19
20
  function _GridSectionsContent<T, F extends FiltersMap>(
20
21
  props: GridSectionsContentProps<T, F>,
21
22
  ) {
22
- const { state: grid, renderSection, layoutType } = props;
23
+ const { state: grid, groupBy, renderSection, layoutType } = props;
23
24
 
24
25
  const { toolbar } = grid;
25
26
 
@@ -33,6 +34,7 @@ function _GridSectionsContent<T, F extends FiltersMap>(
33
34
  (grid._sections ??= new GridSectionsState({
34
35
  toolbar: grid.toolbar,
35
36
  collection: grid.collection,
37
+ groupBy,
36
38
  renderSection,
37
39
  parentState: grid,
38
40
  })),
@@ -42,11 +44,12 @@ function _GridSectionsContent<T, F extends FiltersMap>(
42
44
 
43
45
  useEffect(() => {
44
46
  runInAction(() => {
47
+ state.groupBy = groupBy;
45
48
  if (renderSection) {
46
49
  state.renderSection = renderSection;
47
50
  }
48
51
  });
49
- }, [renderSection]);
52
+ }, [groupBy, renderSection]);
50
53
 
51
54
  let child;
52
55
 
@@ -60,7 +63,7 @@ function _GridSectionsContent<T, F extends FiltersMap>(
60
63
  {sections.map((sectionDescriptor) => (
61
64
  <GridSectionAndRepeater
62
65
  {...props}
63
- key={sectionDescriptor.section.id}
66
+ key={sectionDescriptor.sectionId}
64
67
  sectionDescriptor={sectionDescriptor}
65
68
  state={state}
66
69
  />
@@ -47,9 +47,9 @@ export class GridSectionsSectionState<T, F extends FiltersMap> {
47
47
 
48
48
  get isLast() {
49
49
  const {
50
- sectionDescriptor: { section },
50
+ sectionDescriptor: { sectionId },
51
51
  gridSections: { sections },
52
52
  } = this;
53
- return sections[sections.length - 1]?.section.id === section.id;
53
+ return sections[sections.length - 1]?.sectionId === sectionId;
54
54
  }
55
55
  }
@@ -1,9 +1,14 @@
1
1
  import { CollectionState, FiltersMap } from '@wix/bex-core';
2
2
  import { computed, makeObservable, observable } from 'mobx';
3
3
  import { GridState, ToolbarCollectionState } from '../../state';
4
- import type { Section, RenderSection } from '../CollectionSectionHeader';
4
+ import type {
5
+ Section,
6
+ GroupBy,
7
+ RenderSection,
8
+ } from '../CollectionSectionHeader';
5
9
 
6
10
  export interface SectionRange {
11
+ sectionId: string;
7
12
  section: Section;
8
13
  range: {
9
14
  start: number;
@@ -14,11 +19,13 @@ export interface SectionRange {
14
19
  export interface GridSectionsStateParams<T, F extends FiltersMap> {
15
20
  readonly collection: CollectionState<T, F>;
16
21
  readonly toolbar: ToolbarCollectionState<T, F>;
22
+ readonly groupBy: GroupBy<T>;
17
23
  readonly renderSection?: RenderSection<T>;
18
24
  readonly parentState: GridState<T, F>;
19
25
  }
20
26
 
21
27
  export class GridSectionsState<T, F extends FiltersMap> {
28
+ groupBy: GroupBy<T>;
22
29
  renderSection?: RenderSection<T>;
23
30
  readonly toolbar;
24
31
  readonly collection;
@@ -27,37 +34,53 @@ export class GridSectionsState<T, F extends FiltersMap> {
27
34
  constructor(params: GridSectionsStateParams<T, F>) {
28
35
  this.collection = params.collection;
29
36
  this.toolbar = params.toolbar;
37
+ this.groupBy = params.groupBy;
30
38
  this.renderSection = params.renderSection;
31
39
  this.parentState = params.parentState;
32
40
 
33
41
  makeObservable(this, {
34
42
  sections: computed,
43
+ groupBy: observable.ref,
35
44
  renderSection: observable.ref,
36
45
  });
37
46
  }
38
47
 
39
- get sections() {
40
- const { collection, renderSection } = this;
48
+ get sections(): SectionRange[] {
49
+ const { collection, groupBy, renderSection } = this;
41
50
 
42
- if (!renderSection) {
51
+ if (!groupBy) {
43
52
  return [];
44
53
  }
45
54
 
46
- return Object.values(
47
- collection.result.items.reduce((acc, item, index) => {
48
- const section = renderSection(item);
49
- if (!acc[section.id]) {
50
- acc[section.id] = {
51
- section,
52
- range: {
53
- start: index,
54
- length: 0,
55
- },
56
- };
57
- }
58
- acc[section.id].range.length++;
59
- return acc;
60
- }, {} as Record<string, SectionRange>),
61
- );
55
+ const sectionItemsMap: Record<string, T[]> = {};
56
+ const orderedSections: string[] = [];
57
+
58
+ collection.result.items.forEach((item) => {
59
+ const sectionId = groupBy(item);
60
+
61
+ if (!sectionItemsMap[sectionId]) {
62
+ sectionItemsMap[sectionId] = [];
63
+ orderedSections.push(sectionId);
64
+ }
65
+ sectionItemsMap[sectionId].push(item);
66
+ });
67
+
68
+ let currentIndex = 0;
69
+ return orderedSections.map((sectionId) => {
70
+ const sectionItems = sectionItemsMap[sectionId];
71
+
72
+ const section = renderSection
73
+ ? renderSection(sectionId, sectionItems)
74
+ : { title: sectionId };
75
+
76
+ const range = {
77
+ start: currentIndex,
78
+ length: sectionItems.length,
79
+ };
80
+
81
+ currentIndex += sectionItems.length;
82
+
83
+ return { sectionId, section, range };
84
+ });
62
85
  }
63
86
  }
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "Heading1243663101";
8
+ var _namespace_ = "Heading3314958541";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"Heading1243663101__root"};
16
+ export var classes = {"root":"Heading3314958541__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "InputOverflow399246140";
8
+ var _namespace_ = "InputOverflow2152951428";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"InputOverflow399246140__root"};
16
+ export var classes = {"root":"InputOverflow2152951428__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -149,6 +149,26 @@ export function KanbanUniDriver(base: UniDriver, body: UniDriver) {
149
149
  base.$(`[data-hook="kanban-stage-add-card-${stageKey}"]`),
150
150
  body,
151
151
  ),
152
+ getSecondaryActions: (stageKey: string) => {
153
+ const popoverMenu = PopoverMenuUniDriver(
154
+ base.$(`[data-hook="kanban-stage-more-actions-${stageKey}"]`),
155
+ body,
156
+ );
157
+
158
+ const triggerButton = popoverMenu.getTriggerElement(
159
+ `kanban-stage-more-actions-trigger-${stageKey}`,
160
+ );
161
+ const iconButton = IconButtonUniDriver(triggerButton, base);
162
+ return {
163
+ ...popoverMenu,
164
+ clickTriggerElement: () => iconButton.click(),
165
+ };
166
+ },
167
+ getActionModal: () =>
168
+ MessageModalLayoutUniDriver(
169
+ body.$('[data-hook="collection-action-modal"]'),
170
+ body,
171
+ ),
152
172
  stagesSkeleton: () =>
153
173
  BoxUniDriver(base.$('[data-hook="kanban-stages-skeleton"]'), body),
154
174
  noResultsBox: (stageKey: string) =>