@pega/lists-react 9.0.0-build.9.9 → 9.0.1

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 (433) hide show
  1. package/README.md +0 -4
  2. package/lib/Core/Components/A11y/RepeatingStructureA11y.d.ts.map +1 -1
  3. package/lib/Core/Components/A11y/RepeatingStructureA11y.js +2 -1
  4. package/lib/Core/Components/A11y/RepeatingStructureA11y.js.map +1 -1
  5. package/lib/Core/Components/AggregateMenu.d.ts.map +1 -1
  6. package/lib/Core/Components/AggregateMenu.js +6 -2
  7. package/lib/Core/Components/AggregateMenu.js.map +1 -1
  8. package/lib/Core/Components/AggregatorCell.d.ts.map +1 -1
  9. package/lib/Core/Components/AggregatorCell.js +3 -1
  10. package/lib/Core/Components/AggregatorCell.js.map +1 -1
  11. package/lib/Core/Components/ContextMenu/ContextMenuContainer.d.ts +6 -15
  12. package/lib/Core/Components/ContextMenu/ContextMenuContainer.d.ts.map +1 -1
  13. package/lib/Core/Components/ContextMenu/ContextMenuContainer.js +111 -166
  14. package/lib/Core/Components/ContextMenu/ContextMenuContainer.js.map +1 -1
  15. package/lib/Core/Components/ContextMenu/QuickFilter.js +1 -1
  16. package/lib/Core/Components/ContextMenu/QuickFilter.js.map +1 -1
  17. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/CustomCellWrapper.d.ts +1 -1
  18. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/CustomCellWrapper.d.ts.map +1 -1
  19. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.d.ts.map +1 -1
  20. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.js +33 -5
  21. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.js.map +1 -1
  22. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDeleteAction.d.ts +10 -0
  23. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDeleteAction.d.ts.map +1 -0
  24. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDeleteAction.js +27 -0
  25. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDeleteAction.js.map +1 -0
  26. package/lib/Core/Components/DefaultComponents/CellRenderers/index.d.ts +2 -2
  27. package/lib/Core/Components/DefaultComponents/CellRenderers/index.d.ts.map +1 -1
  28. package/lib/Core/Components/DefaultComponents/CellRenderers/index.js +2 -2
  29. package/lib/Core/Components/DefaultComponents/CellRenderers/index.js.map +1 -1
  30. package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts +3 -1
  31. package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts.map +1 -1
  32. package/lib/Core/Components/DefaultComponents/EmptyContainer.js +11 -2
  33. package/lib/Core/Components/DefaultComponents/EmptyContainer.js.map +1 -1
  34. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.d.ts +3 -2
  35. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.d.ts.map +1 -1
  36. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js +13 -26
  37. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js.map +1 -1
  38. package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.js +2 -2
  39. package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.js.map +1 -1
  40. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.d.ts +0 -2
  41. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.d.ts.map +1 -1
  42. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.js +11 -9
  43. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.js.map +1 -1
  44. package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.d.ts.map +1 -1
  45. package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.js +20 -19
  46. package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.js.map +1 -1
  47. package/lib/Core/Components/DefaultComponents/index.d.ts +4 -3
  48. package/lib/Core/Components/DefaultComponents/index.d.ts.map +1 -1
  49. package/lib/Core/Components/DefaultComponents/index.js +0 -2
  50. package/lib/Core/Components/DefaultComponents/index.js.map +1 -1
  51. package/lib/Core/Components/Filters/AdvanceFilter.d.ts.map +1 -1
  52. package/lib/Core/Components/Filters/AdvanceFilter.js +5 -2
  53. package/lib/Core/Components/Filters/AdvanceFilter.js.map +1 -1
  54. package/lib/Core/Components/Filters/SelectFilter.d.ts +1 -1
  55. package/lib/Core/Components/Filters/SelectFilter.d.ts.map +1 -1
  56. package/lib/Core/Components/Filters/SelectFilter.js +43 -44
  57. package/lib/Core/Components/Filters/SelectFilter.js.map +1 -1
  58. package/lib/Core/Components/Filters/SimpleFilter.js +1 -1
  59. package/lib/Core/Components/Filters/SimpleFilter.js.map +1 -1
  60. package/lib/Core/Components/Filters/styles.d.ts +1 -1
  61. package/lib/Core/Components/FooterAggregators.d.ts.map +1 -1
  62. package/lib/Core/Components/FooterAggregators.js +6 -3
  63. package/lib/Core/Components/FooterAggregators.js.map +1 -1
  64. package/lib/Core/Components/GroupRenderer/GroupAdditionalFieldDataModal.d.ts +12 -0
  65. package/lib/Core/Components/GroupRenderer/GroupAdditionalFieldDataModal.d.ts.map +1 -0
  66. package/lib/Core/Components/GroupRenderer/GroupAdditionalFieldDataModal.js +62 -0
  67. package/lib/Core/Components/GroupRenderer/GroupAdditionalFieldDataModal.js.map +1 -0
  68. package/lib/Core/Components/GroupRenderer/GroupAdditionalInfo.d.ts +33 -0
  69. package/lib/Core/Components/GroupRenderer/GroupAdditionalInfo.d.ts.map +1 -0
  70. package/lib/Core/Components/GroupRenderer/GroupAdditionalInfo.js +106 -0
  71. package/lib/Core/Components/GroupRenderer/GroupAdditionalInfo.js.map +1 -0
  72. package/lib/Core/Components/GroupRenderer/index.d.ts +22 -0
  73. package/lib/Core/Components/GroupRenderer/index.d.ts.map +1 -0
  74. package/lib/Core/Components/GroupRenderer/index.js +395 -0
  75. package/lib/Core/Components/GroupRenderer/index.js.map +1 -0
  76. package/lib/Core/Components/Grouping/GroupingMenu.d.ts.map +1 -1
  77. package/lib/Core/Components/Grouping/GroupingMenu.js +2 -1
  78. package/lib/Core/Components/Grouping/GroupingMenu.js.map +1 -1
  79. package/lib/Core/Components/HeaderCell.d.ts.map +1 -1
  80. package/lib/Core/Components/HeaderCell.js +3 -3
  81. package/lib/Core/Components/HeaderCell.js.map +1 -1
  82. package/lib/Core/Components/HeaderMenu/actions.d.ts +1 -1
  83. package/lib/Core/Components/HeaderMenu/actions.d.ts.map +1 -1
  84. package/lib/Core/Components/HeaderMenu/actions.js +3 -4
  85. package/lib/Core/Components/HeaderMenu/actions.js.map +1 -1
  86. package/lib/Core/Components/HeaderMenu/index.d.ts.map +1 -1
  87. package/lib/Core/Components/HeaderMenu/index.js +5 -5
  88. package/lib/Core/Components/HeaderMenu/index.js.map +1 -1
  89. package/lib/Core/Components/HierarchicalGroupRenderer.d.ts.map +1 -1
  90. package/lib/Core/Components/HierarchicalGroupRenderer.js +6 -2
  91. package/lib/Core/Components/HierarchicalGroupRenderer.js.map +1 -1
  92. package/lib/Core/Components/NotificationManager.js +1 -1
  93. package/lib/Core/Components/NotificationManager.js.map +1 -1
  94. package/lib/Core/Components/RFColumnConfigurator.d.ts.map +1 -1
  95. package/lib/Core/Components/RFColumnConfigurator.js +32 -9
  96. package/lib/Core/Components/RFColumnConfigurator.js.map +1 -1
  97. package/lib/Core/Components/RSWrapper/HeaderBarGadget.d.ts.map +1 -1
  98. package/lib/Core/Components/RSWrapper/HeaderBarGadget.js +2 -1
  99. package/lib/Core/Components/RSWrapper/HeaderBarGadget.js.map +1 -1
  100. package/lib/Core/Components/RSWrapper/index.d.ts.map +1 -1
  101. package/lib/Core/Components/RSWrapper/index.js +2 -9
  102. package/lib/Core/Components/RSWrapper/index.js.map +1 -1
  103. package/lib/Core/Components/RenderingEngine/Formatter.d.ts.map +1 -1
  104. package/lib/Core/Components/RenderingEngine/Formatter.js +4 -1
  105. package/lib/Core/Components/RenderingEngine/Formatter.js.map +1 -1
  106. package/lib/Core/Components/RenderingEngine/RenderCell.d.ts.map +1 -1
  107. package/lib/Core/Components/RenderingEngine/RenderCell.js +19 -8
  108. package/lib/Core/Components/RenderingEngine/RenderCell.js.map +1 -1
  109. package/lib/Core/Components/RenderingEngine/useHighlighter.d.ts.map +1 -1
  110. package/lib/Core/Components/RenderingEngine/useHighlighter.js +0 -1
  111. package/lib/Core/Components/RenderingEngine/useHighlighter.js.map +1 -1
  112. package/lib/Core/Components/TestIdConstants.d.ts +2 -0
  113. package/lib/Core/Components/TestIdConstants.js +3 -1
  114. package/lib/Core/Components/TestIdConstants.js.map +1 -1
  115. package/lib/Core/Components/Toolbar/AdvanceToolbar.d.ts.map +1 -1
  116. package/lib/Core/Components/Toolbar/AdvanceToolbar.js +7 -18
  117. package/lib/Core/Components/Toolbar/AdvanceToolbar.js.map +1 -1
  118. package/lib/Core/Components/Toolbar/ColumnSelector.d.ts +6 -4
  119. package/lib/Core/Components/Toolbar/ColumnSelector.d.ts.map +1 -1
  120. package/lib/Core/Components/Toolbar/ColumnSelector.js +18 -21
  121. package/lib/Core/Components/Toolbar/ColumnSelector.js.map +1 -1
  122. package/lib/Core/Components/Toolbar/DebugInfo.d.ts +3 -5
  123. package/lib/Core/Components/Toolbar/DebugInfo.d.ts.map +1 -1
  124. package/lib/Core/Components/Toolbar/DebugInfo.js +3 -3
  125. package/lib/Core/Components/Toolbar/DebugInfo.js.map +1 -1
  126. package/lib/Core/Components/Toolbar/FieldSelector.d.ts +2 -1
  127. package/lib/Core/Components/Toolbar/FieldSelector.d.ts.map +1 -1
  128. package/lib/Core/Components/Toolbar/FieldSelector.js +14 -7
  129. package/lib/Core/Components/Toolbar/FieldSelector.js.map +1 -1
  130. package/lib/Core/Components/Toolbar/Grouping.types.d.ts +0 -6
  131. package/lib/Core/Components/Toolbar/Grouping.types.d.ts.map +1 -1
  132. package/lib/Core/Components/Toolbar/Grouping.types.js.map +1 -1
  133. package/lib/Core/Components/Toolbar/RefreshBanner.d.ts.map +1 -1
  134. package/lib/Core/Components/Toolbar/RefreshBanner.js +1 -0
  135. package/lib/Core/Components/Toolbar/RefreshBanner.js.map +1 -1
  136. package/lib/Core/Components/Toolbar/SimpleToolbar.d.ts.map +1 -1
  137. package/lib/Core/Components/Toolbar/SimpleToolbar.js +2 -4
  138. package/lib/Core/Components/Toolbar/SimpleToolbar.js.map +1 -1
  139. package/lib/Core/Components/Toolbar/hooks/useFilter.d.ts.map +1 -1
  140. package/lib/Core/Components/Toolbar/hooks/useFilter.js +4 -1
  141. package/lib/Core/Components/Toolbar/hooks/useFilter.js.map +1 -1
  142. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts +14 -18
  143. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts.map +1 -1
  144. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js +15 -16
  145. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js.map +1 -1
  146. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts +4 -2
  147. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts.map +1 -1
  148. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js +30 -22
  149. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js.map +1 -1
  150. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.d.ts.map +1 -1
  151. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js +17 -6
  152. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js.map +1 -1
  153. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts +7 -2
  154. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts.map +1 -1
  155. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js +12 -5
  156. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js.map +1 -1
  157. package/lib/Core/Components/Toolbar/hooks/useMore.d.ts +1 -1
  158. package/lib/Core/Components/Toolbar/hooks/useMore.d.ts.map +1 -1
  159. package/lib/Core/Components/Toolbar/hooks/useMore.js +134 -80
  160. package/lib/Core/Components/Toolbar/hooks/useMore.js.map +1 -1
  161. package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts +8 -6
  162. package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts.map +1 -1
  163. package/lib/Core/Components/Toolbar/hooks/usePersonalization.js +18 -3
  164. package/lib/Core/Components/Toolbar/hooks/usePersonalization.js.map +1 -1
  165. package/lib/Core/Components/Toolbar/hooks/useSearch.d.ts.map +1 -1
  166. package/lib/Core/Components/Toolbar/hooks/useSearch.js +7 -10
  167. package/lib/Core/Components/Toolbar/hooks/useSearch.js.map +1 -1
  168. package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts +8 -6
  169. package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts.map +1 -1
  170. package/lib/Core/Components/Toolbar/hooks/useSort/Row.js +16 -10
  171. package/lib/Core/Components/Toolbar/hooks/useSort/Row.js.map +1 -1
  172. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts +4 -2
  173. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts.map +1 -1
  174. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js +9 -3
  175. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js.map +1 -1
  176. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.d.ts.map +1 -1
  177. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js +8 -2
  178. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js.map +1 -1
  179. package/lib/Core/Components/Toolbar/hooks/useSort/utils.d.ts +1 -1
  180. package/lib/Core/Components/Toolbar/hooks/useSort/utils.d.ts.map +1 -1
  181. package/lib/Core/Components/Toolbar/hooks/useSort/utils.js +2 -2
  182. package/lib/Core/Components/Toolbar/hooks/useSort/utils.js.map +1 -1
  183. package/lib/Core/Components/Toolbar/hooks/useWrapAction.d.ts +2 -1
  184. package/lib/Core/Components/Toolbar/hooks/useWrapAction.d.ts.map +1 -1
  185. package/lib/Core/Components/Toolbar/hooks/useWrapAction.js +36 -12
  186. package/lib/Core/Components/Toolbar/hooks/useWrapAction.js.map +1 -1
  187. package/lib/Core/Components/Toolbar/utils/utils.d.ts +28 -7
  188. package/lib/Core/Components/Toolbar/utils/utils.d.ts.map +1 -1
  189. package/lib/Core/Components/Toolbar/utils/utils.js +43 -11
  190. package/lib/Core/Components/Toolbar/utils/utils.js.map +1 -1
  191. package/lib/Core/Components/Virtualise/Pagination.d.ts.map +1 -1
  192. package/lib/Core/Components/Virtualise/Pagination.js +2 -1
  193. package/lib/Core/Components/Virtualise/Pagination.js.map +1 -1
  194. package/lib/Core/Components/Virtualise/UseScroll.d.ts +4 -1
  195. package/lib/Core/Components/Virtualise/UseScroll.d.ts.map +1 -1
  196. package/lib/Core/Components/Virtualise/UseScroll.js +16 -3
  197. package/lib/Core/Components/Virtualise/UseScroll.js.map +1 -1
  198. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js +1 -1
  199. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js.map +1 -1
  200. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.d.ts +1 -1
  201. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.js +1 -1
  202. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.js.map +1 -1
  203. package/lib/Core/Components/Virtualise/VirtualizeInfinite.js +14 -4
  204. package/lib/Core/Components/Virtualise/VirtualizeInfinite.js.map +1 -1
  205. package/lib/Core/Components/Virtualise/index.js +19 -4
  206. package/lib/Core/Components/Virtualise/index.js.map +1 -1
  207. package/lib/Core/Components/Virtualise/utility.js +1 -1
  208. package/lib/Core/Components/Virtualise/utility.js.map +1 -1
  209. package/lib/Core/Components/WarningBanner.d.ts +11 -0
  210. package/lib/Core/Components/WarningBanner.d.ts.map +1 -0
  211. package/lib/Core/Components/WarningBanner.js +23 -0
  212. package/lib/Core/Components/WarningBanner.js.map +1 -0
  213. package/lib/Core/Context/LocalizationContext.d.ts +1 -1
  214. package/lib/Core/Context/LocalizationContext.d.ts.map +1 -1
  215. package/lib/Core/Context/LocalizationContext.js.map +1 -1
  216. package/lib/Core/Hooks/a11y/useAnnounce.d.ts +3 -4
  217. package/lib/Core/Hooks/a11y/useAnnounce.d.ts.map +1 -1
  218. package/lib/Core/Hooks/a11y/useAnnounce.js +3 -4
  219. package/lib/Core/Hooks/a11y/useAnnounce.js.map +1 -1
  220. package/lib/Core/Hooks/useDebounce.js +1 -1
  221. package/lib/Core/Hooks/useDebounce.js.map +1 -1
  222. package/lib/Core/Hooks/useDragDrop.d.ts +2 -2
  223. package/lib/Core/Hooks/useDragDrop.d.ts.map +1 -1
  224. package/lib/Core/Hooks/useDragDrop.js +9 -9
  225. package/lib/Core/Hooks/useDragDrop.js.map +1 -1
  226. package/lib/Core/Hooks/useRepeat.d.ts +1 -1
  227. package/lib/Core/Hooks/useRepeat.d.ts.map +1 -1
  228. package/lib/Core/Hooks/useRepeat.js +58 -11
  229. package/lib/Core/Hooks/useRepeat.js.map +1 -1
  230. package/lib/Core/Hooks/useSelectAllCheckbox.d.ts +21 -0
  231. package/lib/Core/Hooks/useSelectAllCheckbox.d.ts.map +1 -0
  232. package/lib/Core/Hooks/useSelectAllCheckbox.js +23 -0
  233. package/lib/Core/Hooks/useSelectAllCheckbox.js.map +1 -0
  234. package/lib/Core/Localization/defaultTranslations.d.ts +15 -13
  235. package/lib/Core/Localization/defaultTranslations.d.ts.map +1 -1
  236. package/lib/Core/Localization/defaultTranslations.js +16 -14
  237. package/lib/Core/Localization/defaultTranslations.js.map +1 -1
  238. package/lib/Core/Test/JUnitMocks.d.ts +12 -0
  239. package/lib/Core/Test/JUnitMocks.d.ts.map +1 -1
  240. package/lib/Core/Test/JUnitMocks.js +27 -8
  241. package/lib/Core/Test/JUnitMocks.js.map +1 -1
  242. package/lib/Core/Test/TestUtils.d.ts +0 -1
  243. package/lib/Core/Test/TestUtils.d.ts.map +1 -1
  244. package/lib/Core/Test/TestUtils.js +3 -7
  245. package/lib/Core/Test/TestUtils.js.map +1 -1
  246. package/lib/Core/Utils/index.d.ts +15 -0
  247. package/lib/Core/Utils/index.d.ts.map +1 -1
  248. package/lib/Core/Utils/index.js +22 -0
  249. package/lib/Core/Utils/index.js.map +1 -1
  250. package/lib/Core/Utils/styles.d.ts +2 -2
  251. package/lib/Core/Utils/styles.d.ts.map +1 -1
  252. package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts +4 -0
  253. package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts.map +1 -0
  254. package/lib/Core/Views/Gallery/Components/GalleryCard.js +29 -0
  255. package/lib/Core/Views/Gallery/Components/GalleryCard.js.map +1 -0
  256. package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.d.ts +8 -0
  257. package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.d.ts.map +1 -0
  258. package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.js +25 -0
  259. package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.js.map +1 -0
  260. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts +8 -0
  261. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts.map +1 -0
  262. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js +8 -0
  263. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js.map +1 -0
  264. package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts +8 -0
  265. package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts.map +1 -0
  266. package/lib/Core/Views/Gallery/Components/GalleryHeader.js +15 -0
  267. package/lib/Core/Views/Gallery/Components/GalleryHeader.js.map +1 -0
  268. package/lib/Core/Views/Gallery/Gallery.types.d.ts +8 -0
  269. package/lib/Core/Views/Gallery/Gallery.types.d.ts.map +1 -0
  270. package/lib/Core/Views/Gallery/Gallery.types.js +2 -0
  271. package/lib/Core/Views/Gallery/Gallery.types.js.map +1 -0
  272. package/lib/Core/Views/Gallery/GalleryA11y.d.ts +7 -5
  273. package/lib/Core/Views/Gallery/GalleryA11y.d.ts.map +1 -1
  274. package/lib/Core/Views/Gallery/GalleryA11y.js +9 -52
  275. package/lib/Core/Views/Gallery/GalleryA11y.js.map +1 -1
  276. package/lib/Core/Views/Gallery/GalleryContainer.d.ts +23 -0
  277. package/lib/Core/Views/Gallery/GalleryContainer.d.ts.map +1 -0
  278. package/lib/Core/Views/Gallery/GalleryContainer.js +66 -0
  279. package/lib/Core/Views/Gallery/GalleryContainer.js.map +1 -0
  280. package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.js +1 -1
  281. package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.js.map +1 -1
  282. package/lib/Core/Views/Gallery/hooks/useRowActions.d.ts +9 -0
  283. package/lib/Core/Views/Gallery/hooks/useRowActions.d.ts.map +1 -0
  284. package/lib/Core/Views/Gallery/hooks/useRowActions.js +25 -0
  285. package/lib/Core/Views/Gallery/hooks/useRowActions.js.map +1 -0
  286. package/lib/Core/Views/Gallery/index.d.ts +4 -8
  287. package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
  288. package/lib/Core/Views/Gallery/index.js +38 -59
  289. package/lib/Core/Views/Gallery/index.js.map +1 -1
  290. package/lib/Core/Views/Gallery/utils.d.ts +36 -0
  291. package/lib/Core/Views/Gallery/utils.d.ts.map +1 -0
  292. package/lib/Core/Views/Gallery/utils.js +115 -0
  293. package/lib/Core/Views/Gallery/utils.js.map +1 -0
  294. package/lib/Core/Views/Map/Map.styles.d.ts +190 -6
  295. package/lib/Core/Views/Map/Map.styles.d.ts.map +1 -1
  296. package/lib/Core/Views/Map/Map.styles.js.map +1 -1
  297. package/lib/Core/Views/Map/index.d.ts.map +1 -1
  298. package/lib/Core/Views/Map/index.js +2 -2
  299. package/lib/Core/Views/Map/index.js.map +1 -1
  300. package/lib/Core/Views/RsCardWrapper.js.map +1 -1
  301. package/lib/Core/Views/Table/Body.d.ts.map +1 -1
  302. package/lib/Core/Views/Table/Body.js +5 -2
  303. package/lib/Core/Views/Table/Body.js.map +1 -1
  304. package/lib/Core/Views/Table/CellWrapper.d.ts +1 -1
  305. package/lib/Core/Views/Table/CellWrapper.d.ts.map +1 -1
  306. package/lib/Core/Views/Table/CellWrapper.js +4 -2
  307. package/lib/Core/Views/Table/CellWrapper.js.map +1 -1
  308. package/lib/Core/Views/Table/GroupingHeaderCell.d.ts +6 -15
  309. package/lib/Core/Views/Table/GroupingHeaderCell.d.ts.map +1 -1
  310. package/lib/Core/Views/Table/GroupingHeaderCell.js +16 -14
  311. package/lib/Core/Views/Table/GroupingHeaderCell.js.map +1 -1
  312. package/lib/Core/Views/Table/HeaderWrapper.d.ts.map +1 -1
  313. package/lib/Core/Views/Table/HeaderWrapper.js +5 -5
  314. package/lib/Core/Views/Table/HeaderWrapper.js.map +1 -1
  315. package/lib/Core/Views/Table/SkeletonRows.d.ts +1 -1
  316. package/lib/Core/Views/Table/SkeletonRows.d.ts.map +1 -1
  317. package/lib/Core/Views/Table/StyledTableContainer.d.ts +3 -1
  318. package/lib/Core/Views/Table/StyledTableContainer.d.ts.map +1 -1
  319. package/lib/Core/Views/Table/StyledTableContainer.js +270 -155
  320. package/lib/Core/Views/Table/StyledTableContainer.js.map +1 -1
  321. package/lib/Core/Views/Table/TableA11y.d.ts +13 -1
  322. package/lib/Core/Views/Table/TableA11y.d.ts.map +1 -1
  323. package/lib/Core/Views/Table/TableA11y.js +233 -13
  324. package/lib/Core/Views/Table/TableA11y.js.map +1 -1
  325. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts +3 -1
  326. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts.map +1 -1
  327. package/lib/Core/Views/Table/VirtualizeWrapper.js +16 -16
  328. package/lib/Core/Views/Table/VirtualizeWrapper.js.map +1 -1
  329. package/lib/Core/Views/Table/index.d.ts.map +1 -1
  330. package/lib/Core/Views/Table/index.js +16 -7
  331. package/lib/Core/Views/Table/index.js.map +1 -1
  332. package/lib/Core/Views/Timeline/Timeline.d.ts.map +1 -1
  333. package/lib/Core/Views/Timeline/Timeline.js +15 -20
  334. package/lib/Core/Views/Timeline/Timeline.js.map +1 -1
  335. package/lib/Core/Views/Timeline/Timeline.styles.d.ts +392 -15
  336. package/lib/Core/Views/Timeline/Timeline.styles.d.ts.map +1 -1
  337. package/lib/Core/Views/Timeline/Timeline.styles.js +44 -44
  338. package/lib/Core/Views/Timeline/Timeline.styles.js.map +1 -1
  339. package/lib/Core/Views/Timeline/Timeline.types.d.ts +11 -7
  340. package/lib/Core/Views/Timeline/Timeline.types.d.ts.map +1 -1
  341. package/lib/Core/Views/Timeline/Timeline.types.js.map +1 -1
  342. package/lib/Core/Views/Timeline/TimelineGroup.d.ts +13 -0
  343. package/lib/Core/Views/Timeline/TimelineGroup.d.ts.map +1 -0
  344. package/lib/Core/Views/Timeline/TimelineGroup.js +21 -0
  345. package/lib/Core/Views/Timeline/TimelineGroup.js.map +1 -0
  346. package/lib/Core/Views/Timeline/TimelineItem.d.ts +1 -3
  347. package/lib/Core/Views/Timeline/TimelineItem.d.ts.map +1 -1
  348. package/lib/Core/Views/Timeline/TimelineItem.js +7 -6
  349. package/lib/Core/Views/Timeline/TimelineItem.js.map +1 -1
  350. package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.d.ts +2 -2
  351. package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.d.ts.map +1 -1
  352. package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.js.map +1 -1
  353. package/lib/Core/Views/Timeline/index.d.ts.map +1 -1
  354. package/lib/Core/Views/Timeline/index.js +13 -6
  355. package/lib/Core/Views/Timeline/index.js.map +1 -1
  356. package/lib/Core/Views/Timeline/utils.d.ts +8 -10
  357. package/lib/Core/Views/Timeline/utils.d.ts.map +1 -1
  358. package/lib/Core/Views/Timeline/utils.js +136 -58
  359. package/lib/Core/Views/Timeline/utils.js.map +1 -1
  360. package/lib/Core/Views/rs-styles.d.ts +1 -1
  361. package/lib/Core/a11y/loadingAnnouncementBehavior.d.ts +12 -0
  362. package/lib/Core/a11y/loadingAnnouncementBehavior.d.ts.map +1 -0
  363. package/lib/Core/a11y/loadingAnnouncementBehavior.js +37 -0
  364. package/lib/Core/a11y/loadingAnnouncementBehavior.js.map +1 -0
  365. package/lib/Core/constants.d.ts.map +1 -1
  366. package/lib/Core/constants.js +1 -0
  367. package/lib/Core/constants.js.map +1 -1
  368. package/lib/Core/index.d.ts.map +1 -1
  369. package/lib/Core/index.js +1 -2
  370. package/lib/Core/index.js.map +1 -1
  371. package/lib/Core/templateFeatureSupport.d.ts +17 -0
  372. package/lib/Core/templateFeatureSupport.d.ts.map +1 -0
  373. package/lib/Core/templateFeatureSupport.js +31 -0
  374. package/lib/Core/templateFeatureSupport.js.map +1 -0
  375. package/lib/index.d.ts +1 -1
  376. package/lib/index.d.ts.map +1 -1
  377. package/lib/index.js +1 -1
  378. package/lib/index.js.map +1 -1
  379. package/lib/types/RepeatingStructuresBoot.types.d.ts +12 -8
  380. package/lib/types/RepeatingStructuresBoot.types.d.ts.map +1 -1
  381. package/lib/types/RepeatingStructuresBoot.types.js.map +1 -1
  382. package/lib/types.d.ts +2 -0
  383. package/lib/types.d.ts.map +1 -1
  384. package/lib/types.js.map +1 -1
  385. package/package.json +11 -13
  386. package/lib/Core/Components/DefaultComponents/CardItem.d.ts +0 -3
  387. package/lib/Core/Components/DefaultComponents/CardItem.d.ts.map +0 -1
  388. package/lib/Core/Components/DefaultComponents/CardItem.js +0 -78
  389. package/lib/Core/Components/DefaultComponents/CardItem.js.map +0 -1
  390. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.d.ts +0 -12
  391. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.d.ts.map +0 -1
  392. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.js +0 -36
  393. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.js.map +0 -1
  394. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.d.ts +0 -15
  395. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.d.ts.map +0 -1
  396. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.js +0 -50
  397. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.js.map +0 -1
  398. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.d.ts +0 -12
  399. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.d.ts.map +0 -1
  400. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.js +0 -44
  401. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.js.map +0 -1
  402. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.d.ts +0 -16
  403. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.d.ts.map +0 -1
  404. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.js +0 -64
  405. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.js.map +0 -1
  406. package/lib/Core/Components/GroupRenderer.d.ts +0 -31
  407. package/lib/Core/Components/GroupRenderer.d.ts.map +0 -1
  408. package/lib/Core/Components/GroupRenderer.js +0 -348
  409. package/lib/Core/Components/GroupRenderer.js.map +0 -1
  410. package/lib/Core/Components/RSWrapper/__mocks__/uuid.d.ts +0 -2
  411. package/lib/Core/Components/RSWrapper/__mocks__/uuid.d.ts.map +0 -1
  412. package/lib/Core/Components/RSWrapper/__mocks__/uuid.js +0 -4
  413. package/lib/Core/Components/RSWrapper/__mocks__/uuid.js.map +0 -1
  414. package/lib/Core/Components/Toolbar/KeyboardInstructions.d.ts +0 -6
  415. package/lib/Core/Components/Toolbar/KeyboardInstructions.d.ts.map +0 -1
  416. package/lib/Core/Components/Toolbar/KeyboardInstructions.js +0 -32
  417. package/lib/Core/Components/Toolbar/KeyboardInstructions.js.map +0 -1
  418. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts +0 -7
  419. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts.map +0 -1
  420. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js +0 -109
  421. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js.map +0 -1
  422. package/lib/Core/Views/Gallery/ItemWrapper.d.ts +0 -19
  423. package/lib/Core/Views/Gallery/ItemWrapper.d.ts.map +0 -1
  424. package/lib/Core/Views/Gallery/ItemWrapper.js +0 -34
  425. package/lib/Core/Views/Gallery/ItemWrapper.js.map +0 -1
  426. package/lib/Core/Views/Gallery/StyledGalleryContainer.d.ts +0 -3
  427. package/lib/Core/Views/Gallery/StyledGalleryContainer.d.ts.map +0 -1
  428. package/lib/Core/Views/Gallery/StyledGalleryContainer.js +0 -51
  429. package/lib/Core/Views/Gallery/StyledGalleryContainer.js.map +0 -1
  430. package/lib/Core/Views/Timeline/utility.d.ts +0 -8
  431. package/lib/Core/Views/Timeline/utility.d.ts.map +0 -1
  432. package/lib/Core/Views/Timeline/utility.js +0 -120
  433. package/lib/Core/Views/Timeline/utility.js.map +0 -1
@@ -1,8 +1,7 @@
1
1
  export default Row;
2
- declare function Row({ updateSortItemId, updateSortItemOrder, columns, removeSortItem, sortItems, index, id, order, sequence, dragProps, dropProps, focusRowRef }: {
2
+ declare function Row({ updateSortItemId, updateSortItemOrder, removeSortItem, sortItems, index, id, order, sequence, dragProps, dropProps, focusRowRef, fieldDefs, columns }: {
3
3
  updateSortItemId: any;
4
4
  updateSortItemOrder: any;
5
- columns: any;
6
5
  removeSortItem: any;
7
6
  sortItems: any;
8
7
  index: any;
@@ -12,27 +11,30 @@ declare function Row({ updateSortItemId, updateSortItemOrder, columns, removeSor
12
11
  dragProps: any;
13
12
  dropProps: any;
14
13
  focusRowRef: any;
14
+ fieldDefs: any;
15
+ columns: any;
15
16
  }): import("react/jsx-runtime").JSX.Element | null;
16
17
  declare namespace Row {
17
18
  namespace propTypes {
18
- let updateSortItemId: PropTypes.Validator<(...args: any[]) => any>;
19
+ let updateSortItemId: PropTypes.Requireable<(...args: any[]) => any>;
19
20
  let updateSortItemOrder: PropTypes.Validator<(...args: any[]) => any>;
20
21
  let columns: PropTypes.Validator<any[]>;
21
- let removeSortItem: PropTypes.Validator<(...args: any[]) => any>;
22
+ let removeSortItem: PropTypes.Requireable<(...args: any[]) => any>;
22
23
  let sortItems: PropTypes.Validator<any[]>;
23
24
  let id: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
24
25
  let index: PropTypes.Validator<number>;
25
26
  let order: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
26
27
  let sequence: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
27
- let dragProps: PropTypes.Validator<{
28
+ let dragProps: PropTypes.Requireable<{
28
29
  [x: string]: any;
29
30
  }>;
30
- let dropProps: PropTypes.Validator<{
31
+ let dropProps: PropTypes.Requireable<{
31
32
  [x: string]: any;
32
33
  }>;
33
34
  let focusRowRef: PropTypes.Requireable<{
34
35
  [x: string]: any;
35
36
  }>;
37
+ let fieldDefs: PropTypes.Validator<any[]>;
36
38
  }
37
39
  let displayName: string;
38
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/Row.jsx"],"names":[],"mappings":";AAwBA;;;;;;;;;;;;;mDAqFC;;;;;;;;;;;;;;;;;;;;;;;;sBA7GqB,YAAY"}
1
+ {"version":3,"file":"Row.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/Row.jsx"],"names":[],"mappings":";AAgCA;;;;;;;;;;;;;;mDA+FC;;;;;;;;;;;;;;;;;;;;;;;;;sBA/HqB,YAAY"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import PropTypes from 'prop-types';
3
3
  import styled, { css } from 'styled-components';
4
- import { Button, defaultThemeProp, Flex, Icon, Option, Select } from '@pega/cosmos-react-core';
4
+ import { Button, defaultThemeProp, Flex, Icon, Option, Select, useI18n } from '@pega/cosmos-react-core';
5
5
  import FieldSelector from '../../FieldSelector';
6
6
  import { keyFrom } from '../../../../Utils';
7
7
  import useTranslate from '../../../../Hooks/useTranslate';
@@ -17,39 +17,45 @@ const StyledDragHandle = styled(Button)(({ theme }) => {
17
17
  `;
18
18
  });
19
19
  StyledDragHandle.defaultProps = defaultThemeProp;
20
- const Row = ({ updateSortItemId, updateSortItemOrder, columns, removeSortItem, sortItems, index, id, order, sequence, dragProps, dropProps, focusRowRef }) => {
20
+ const Row = ({ updateSortItemId, updateSortItemOrder, removeSortItem, sortItems, index, id, order, sequence, dragProps, dropProps, focusRowRef, fieldDefs, columns }) => {
21
21
  const [translate] = useTranslate();
22
- const validSortColumnsInRow = getValidSortColumnsInRow(columns, sortItems, id);
22
+ const t = useI18n();
23
+ const validSortColumnsInRow = getValidSortColumnsInRow(fieldDefs, sortItems, id);
23
24
  if (!validSortColumnsInRow || !validSortColumnsInRow.length)
24
25
  return null;
25
26
  const validSortOrders = getValidSortOrders();
26
27
  const { label } = validSortOrders.find(v => v.id === order) || {};
28
+ const fieldLabel = columns?.find(f => f.field.id === id)?.label;
29
+ const dragHandleLabel = fieldLabel
30
+ ? t('drag_to_reorder_field', [fieldLabel])
31
+ : t('drag_to_reorder');
27
32
  return (_jsx("div", { ...dropProps, "data-sequence": sequence, children: _jsxs(Flex, { container: {
28
33
  justify: 'between',
29
34
  alignItems: 'end',
30
35
  direction: 'row',
31
36
  wrap: 'no-wrap',
32
37
  itemGap: 0.5
33
- }, ref: focusRowRef, children: [_jsx(StyledDragHandle, { forwardedAs: 'div', role: 'button', icon: true, variant: 'simple', compact: true, ...dragProps, children: _jsx(Icon, { name: 'drag' }) }), _jsx(Flex, { item: { grow: 1 }, children: _jsx(FieldSelector, { label: translate('Field'), columns: validSortColumnsInRow, value: id, onChange: newID => updateSortItemId(newID, sequence), fieldProp: 'id' }) }), _jsx(Flex, { item: { grow: 1 }, children: _jsxs(Select, { label: translate('Sort order'), className: 'select-sorts', "data-testid": 'SortSelector', value: label, onChange: e => {
38
+ }, ref: focusRowRef, children: [_jsx(StyledDragHandle, { forwardedAs: 'div', role: 'button', icon: true, variant: 'simple', compact: true, disabled: !dragProps, "aria-label": dragHandleLabel, ...dragProps, children: _jsx(Icon, { name: 'drag' }) }), _jsx(Flex, { item: { grow: 1, basis: '0' }, children: _jsx(FieldSelector, { label: translate('Field'), fieldDefs: fieldDefs, value: id, onChange: newID => updateSortItemId(newID, sequence), fieldProp: 'id', readOnly: !updateSortItemId }) }), _jsx(Flex, { item: { grow: 1, basis: '0' }, children: _jsxs(Select, { label: translate('Sort order'), className: 'select-sorts', "data-testid": 'SortSelector', value: label, onChange: e => {
34
39
  const o = validSortOrders.find(v => v.label === e.target.value);
35
40
  if (o) {
36
41
  updateSortItemOrder(e, sequence, o.id);
37
42
  }
38
- }, children: [_jsx("option", { value: '', children: translate('Select...') }), validSortOrders.map((v, i) => (_jsx(Option, { value: v.label, children: translate(v.label) }, keyFrom(v.label, i))))] }) }), _jsx(Flex, { item: true, children: _jsx(Button, { icon: true, variant: 'simple', onClick: () => removeSortItem(index, order), label: translate('Remove sort'), children: _jsx(Icon, { name: 'trash' }) }) })] }) }));
43
+ }, children: [_jsx("option", { value: '', children: translate('Select...') }), validSortOrders.map((v, i) => (_jsx(Option, { value: v.label, children: translate(v.label) }, keyFrom(v.label, i))))] }) }), _jsx(Flex, { item: true, children: _jsx(Button, { icon: true, variant: 'simple', onClick: () => removeSortItem(index, order), label: translate('Remove sort'), disabled: !removeSortItem, children: _jsx(Icon, { name: 'trash' }) }) })] }) }));
39
44
  };
40
45
  Row.propTypes = {
41
- updateSortItemId: PropTypes.func.isRequired,
46
+ updateSortItemId: PropTypes.func,
42
47
  updateSortItemOrder: PropTypes.func.isRequired,
43
48
  columns: PropTypes.arrayOf(PropTypes.any).isRequired,
44
- removeSortItem: PropTypes.func.isRequired,
49
+ removeSortItem: PropTypes.func,
45
50
  sortItems: PropTypes.arrayOf(PropTypes.any).isRequired,
46
51
  id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
47
52
  index: PropTypes.number.isRequired,
48
53
  order: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
49
54
  sequence: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
50
- dragProps: PropTypes.objectOf(PropTypes.any).isRequired,
51
- dropProps: PropTypes.objectOf(PropTypes.any).isRequired,
52
- focusRowRef: PropTypes.objectOf(PropTypes.any)
55
+ dragProps: PropTypes.objectOf(PropTypes.any),
56
+ dropProps: PropTypes.objectOf(PropTypes.any),
57
+ focusRowRef: PropTypes.objectOf(PropTypes.any),
58
+ fieldDefs: PropTypes.arrayOf(PropTypes.any).isRequired
53
59
  };
54
60
  Row.displayName = 'Row';
55
61
  export default Row;
@@ -1 +1 @@
1
- {"version":3,"file":"Row.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/Row.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/F,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACpD,OAAO,GAAG,CAAA;;yBAEa,KAAK,CAAC,IAAI,CAAC,OAAO;;;2BAGhB,KAAK,CAAC,IAAI,CAAC,OAAO;;GAE1C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,GAAG,GAAG,CAAC,EACX,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,cAAc,EACd,SAAS,EACT,KAAK,EACL,EAAE,EACF,KAAK,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACZ,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;IACnC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzE,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;IAElE,OAAO,CACL,iBAAS,SAAS,mBAAiB,QAAQ,YACzC,MAAC,IAAI,IACH,SAAS,EAAE;gBACT,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,GAAG;aACb,EACD,GAAG,EAAE,WAAW,aAEhB,KAAC,gBAAgB,IACf,WAAW,EAAC,KAAK,EACjB,IAAI,EAAC,QAAQ,EACb,IAAI,QACJ,OAAO,EAAC,QAAQ,EAChB,OAAO,WACH,SAAS,YAEb,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACH,EACnB,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YACrB,KAAC,aAAa,IACZ,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EACzB,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,EAAE,EACT,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,EACpD,SAAS,EAAC,IAAI,GACd,GACG,EACP,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,YACrB,MAAC,MAAM,IACL,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,EAC9B,SAAS,EAAC,cAAc,iBACZ,cAAc,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE;4BACZ,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAChE,IAAI,CAAC,EAAE,CAAC;gCACN,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;4BACzC,CAAC;wBACH,CAAC,aAED,iBAAQ,KAAK,EAAC,EAAE,YAAE,SAAS,CAAC,WAAW,CAAC,GAAU,EACjD,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,KAAC,MAAM,IAA2B,KAAK,EAAE,CAAC,CAAC,KAAK,YAC7C,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IADR,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAEvB,CACV,CAAC,IACK,GACJ,EACP,KAAC,IAAI,IAAC,IAAI,kBACR,KAAC,MAAM,IACL,IAAI,QACJ,OAAO,EAAC,QAAQ,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3C,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,YAE/B,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,GAAG,GACd,GACJ,IACF,GACH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,GAAG,CAAC,SAAS,GAAG;IACd,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IAC3C,mBAAmB,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IAC9C,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;IACpD,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IACzC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;IACtD,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;IACxE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IAClC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;IAC3E,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;IAC9E,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;IACvD,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;IACvD,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;CAC/C,CAAC;AAEF,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;AAExB,eAAe,GAAG,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\nimport { Button, defaultThemeProp, Flex, Icon, Option, Select } from '@pega/cosmos-react-core';\n\nimport FieldSelector from '../../FieldSelector';\nimport { keyFrom } from '../../../../Utils';\nimport useTranslate from '../../../../Hooks/useTranslate';\n\nimport { getValidSortColumnsInRow, getValidSortOrders } from './utils';\n\nconst StyledDragHandle = styled(Button)(({ theme }) => {\n return css`\n cursor: grab;\n margin-block: calc(${theme.base.spacing} * 0.5);\n\n @media (pointer: coarse) {\n margin-block: calc(${theme.base.spacing} * 1.25);\n }\n `;\n});\n\nStyledDragHandle.defaultProps = defaultThemeProp;\n\nconst Row = ({\n updateSortItemId,\n updateSortItemOrder,\n columns,\n removeSortItem,\n sortItems,\n index,\n id,\n order,\n sequence,\n dragProps,\n dropProps,\n focusRowRef\n}) => {\n const [translate] = useTranslate();\n const validSortColumnsInRow = getValidSortColumnsInRow(columns, sortItems, id);\n if (!validSortColumnsInRow || !validSortColumnsInRow.length) return null;\n const validSortOrders = getValidSortOrders();\n const { label } = validSortOrders.find(v => v.id === order) || {};\n\n return (\n <div {...dropProps} data-sequence={sequence}>\n <Flex\n container={{\n justify: 'between',\n alignItems: 'end',\n direction: 'row',\n wrap: 'no-wrap',\n itemGap: 0.5\n }}\n ref={focusRowRef}\n >\n <StyledDragHandle\n forwardedAs='div'\n role='button'\n icon\n variant='simple'\n compact\n {...dragProps}\n >\n <Icon name='drag' />\n </StyledDragHandle>\n <Flex item={{ grow: 1 }}>\n <FieldSelector\n label={translate('Field')}\n columns={validSortColumnsInRow}\n value={id}\n onChange={newID => updateSortItemId(newID, sequence)}\n fieldProp='id'\n />\n </Flex>\n <Flex item={{ grow: 1 }}>\n <Select\n label={translate('Sort order')}\n className='select-sorts'\n data-testid='SortSelector'\n value={label}\n onChange={e => {\n const o = validSortOrders.find(v => v.label === e.target.value);\n if (o) {\n updateSortItemOrder(e, sequence, o.id);\n }\n }}\n >\n <option value=''>{translate('Select...')}</option>\n {validSortOrders.map((v, i) => (\n <Option key={keyFrom(v.label, i)} value={v.label}>\n {translate(v.label)}\n </Option>\n ))}\n </Select>\n </Flex>\n <Flex item>\n <Button\n icon\n variant='simple'\n onClick={() => removeSortItem(index, order)}\n label={translate('Remove sort')}\n >\n <Icon name='trash' />\n </Button>\n </Flex>\n </Flex>\n </div>\n );\n};\n\nRow.propTypes = {\n updateSortItemId: PropTypes.func.isRequired,\n updateSortItemOrder: PropTypes.func.isRequired,\n columns: PropTypes.arrayOf(PropTypes.any).isRequired,\n removeSortItem: PropTypes.func.isRequired,\n sortItems: PropTypes.arrayOf(PropTypes.any).isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n index: PropTypes.number.isRequired,\n order: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n sequence: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n dragProps: PropTypes.objectOf(PropTypes.any).isRequired,\n dropProps: PropTypes.objectOf(PropTypes.any).isRequired,\n focusRowRef: PropTypes.objectOf(PropTypes.any)\n};\n\nRow.displayName = 'Row';\n\nexport default Row;\n"]}
1
+ {"version":3,"file":"Row.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/Row.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\nimport {\n Button,\n defaultThemeProp,\n Flex,\n Icon,\n Option,\n Select,\n useI18n\n} from '@pega/cosmos-react-core';\n\nimport FieldSelector from '../../FieldSelector';\nimport { keyFrom } from '../../../../Utils';\nimport useTranslate from '../../../../Hooks/useTranslate';\n\nimport { getValidSortColumnsInRow, getValidSortOrders } from './utils';\n\nconst StyledDragHandle = styled(Button)(({ theme }) => {\n return css`\n cursor: grab;\n margin-block: calc(${theme.base.spacing} * 0.5);\n\n @media (pointer: coarse) {\n margin-block: calc(${theme.base.spacing} * 1.25);\n }\n `;\n});\n\nStyledDragHandle.defaultProps = defaultThemeProp;\n\nconst Row = ({\n updateSortItemId,\n updateSortItemOrder,\n removeSortItem,\n sortItems,\n index,\n id,\n order,\n sequence,\n dragProps,\n dropProps,\n focusRowRef,\n fieldDefs,\n columns\n}) => {\n const [translate] = useTranslate();\n const t = useI18n();\n const validSortColumnsInRow = getValidSortColumnsInRow(fieldDefs, sortItems, id);\n if (!validSortColumnsInRow || !validSortColumnsInRow.length) return null;\n const validSortOrders = getValidSortOrders();\n const { label } = validSortOrders.find(v => v.id === order) || {};\n const fieldLabel = columns?.find(f => f.field.id === id)?.label;\n const dragHandleLabel = fieldLabel\n ? t('drag_to_reorder_field', [fieldLabel])\n : t('drag_to_reorder');\n\n return (\n <div {...dropProps} data-sequence={sequence}>\n <Flex\n container={{\n justify: 'between',\n alignItems: 'end',\n direction: 'row',\n wrap: 'no-wrap',\n itemGap: 0.5\n }}\n ref={focusRowRef}\n >\n <StyledDragHandle\n forwardedAs='div'\n role='button'\n icon\n variant='simple'\n compact\n disabled={!dragProps}\n aria-label={dragHandleLabel}\n {...dragProps}\n >\n <Icon name='drag' />\n </StyledDragHandle>\n <Flex item={{ grow: 1, basis: '0' }}>\n <FieldSelector\n label={translate('Field')}\n fieldDefs={fieldDefs}\n value={id}\n onChange={newID => updateSortItemId(newID, sequence)}\n fieldProp='id'\n readOnly={!updateSortItemId}\n />\n </Flex>\n <Flex item={{ grow: 1, basis: '0' }}>\n <Select\n label={translate('Sort order')}\n className='select-sorts'\n data-testid='SortSelector'\n value={label}\n onChange={e => {\n const o = validSortOrders.find(v => v.label === e.target.value);\n if (o) {\n updateSortItemOrder(e, sequence, o.id);\n }\n }}\n >\n <option value=''>{translate('Select...')}</option>\n {validSortOrders.map((v, i) => (\n <Option key={keyFrom(v.label, i)} value={v.label}>\n {translate(v.label)}\n </Option>\n ))}\n </Select>\n </Flex>\n <Flex item>\n <Button\n icon\n variant='simple'\n onClick={() => removeSortItem(index, order)}\n label={translate('Remove sort')}\n disabled={!removeSortItem}\n >\n <Icon name='trash' />\n </Button>\n </Flex>\n </Flex>\n </div>\n );\n};\n\nRow.propTypes = {\n updateSortItemId: PropTypes.func,\n updateSortItemOrder: PropTypes.func.isRequired,\n columns: PropTypes.arrayOf(PropTypes.any).isRequired,\n removeSortItem: PropTypes.func,\n sortItems: PropTypes.arrayOf(PropTypes.any).isRequired,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n index: PropTypes.number.isRequired,\n order: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n sequence: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n dragProps: PropTypes.objectOf(PropTypes.any),\n dropProps: PropTypes.objectOf(PropTypes.any),\n focusRowRef: PropTypes.objectOf(PropTypes.any),\n fieldDefs: PropTypes.arrayOf(PropTypes.any).isRequired\n};\n\nRow.displayName = 'Row';\n\nexport default Row;\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { Sort } from 'pega-repeating-structures-core/types/State.types';
2
- import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ import { type RsCoreTypes } from 'pega-repeating-structures-core';
3
3
  import type { SortItem } from './useSort';
4
4
  interface SortRendererProps {
5
5
  sortItems: SortItem[];
@@ -7,7 +7,9 @@ interface SortRendererProps {
7
7
  updateSortItems: (sortItems: (Sort | {
8
8
  order: string;
9
9
  })[]) => void;
10
+ template: RsCoreTypes.Meta['template'];
11
+ fieldDefs: RsCoreTypes.Meta['fieldDefs'];
10
12
  }
11
- declare const SortRenderer: ({ sortItems, columns, updateSortItems }: SortRendererProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const SortRenderer: ({ sortItems, columns, updateSortItems, template, fieldDefs }: SortRendererProps) => import("react/jsx-runtime").JSX.Element;
12
14
  export default SortRenderer;
13
15
  //# sourceMappingURL=SortRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SortRenderer.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/SortRenderer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAOlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI1C,UAAU,iBAAiB;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACpE;AAED,QAAA,MAAM,YAAY,GAAI,yCAAyC,iBAAiB,4CA+H/E,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"SortRenderer.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/SortRenderer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kDAAkD,CAAC;AAC7E,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAOjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI1C,UAAU,iBAAiB;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACnE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;CAC1C;AAED,QAAA,MAAM,YAAY,GAAI,8DAMnB,iBAAiB,4CAmInB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useRef } from 'react';
3
3
  import { Button, createUID, Flex, Icon, useI18n } from '@pega/cosmos-react-core';
4
+ import { REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';
4
5
  import useRowFocus from '../useRowFocus';
5
6
  import useDragDrop from '../../../../Hooks/useDragDrop';
6
7
  import { getValidSortColumnsInRow } from './utils';
7
8
  import Row from './Row';
8
9
  const DropSelector = '[data-drop]';
9
- const SortRenderer = ({ sortItems, columns, updateSortItems }) => {
10
+ const SortRenderer = ({ sortItems, columns, updateSortItems, template, fieldDefs }) => {
10
11
  const t = useI18n();
11
12
  const { focusRowRef, focusRowId, setFocusRowId } = useRowFocus();
12
13
  const dragDropRef = useRef(null);
@@ -30,7 +31,7 @@ const SortRenderer = ({ sortItems, columns, updateSortItems }) => {
30
31
  onDrop
31
32
  });
32
33
  const addSortItem = useCallback(() => {
33
- const validSortColumnsInRow = getValidSortColumnsInRow(columns, sortItems);
34
+ const validSortColumnsInRow = getValidSortColumnsInRow(fieldDefs, sortItems);
34
35
  if (validSortColumnsInRow && validSortColumnsInRow.length) {
35
36
  const newRow = {
36
37
  id: createUID(),
@@ -75,7 +76,12 @@ const SortRenderer = ({ sortItems, columns, updateSortItems }) => {
75
76
  return (_jsxs(Flex, { container: { direction: 'column', gap: 2 }, children: [_jsx(Flex, { container: { direction: 'column', gap: 1 }, ref: dragDropRef, children: sortItems
76
77
  .slice()
77
78
  .sort((a, b) => a.sequence - b.sequence)
78
- .map((s, i) => (_jsx(Row, { updateSortItemId: updateSortItemId, updateSortItemOrder: updateSortItemOrder, columns: columns, removeSortItem: removeSortItem, sortItems: sortItems, index: i, id: s.columnId, order: s.order, sequence: s.sequence, dragProps: dragProps, dropProps: dropProps, focusRowRef: sortItems[i].id === focusRowId ? focusRowRef : null }, s.id))) }), _jsx("div", { children: _jsx(Button, { variant: 'link', "aria-label": t('add_sort'), onClick: addSortItem, children: _jsxs(Flex, { container: { inline: true, alignItems: 'start', gap: 1 }, as: 'span', children: [_jsx(Icon, { name: 'plus' }), _jsx("span", { children: t('add') })] }) }) })] }));
79
+ .map((s, i) => (_jsx(Row, { updateSortItemOrder: updateSortItemOrder, removeSortItem: removeSortItem, columns: columns, sortItems: sortItems, index: i, id: s.columnId, order: s.order, sequence: s.sequence, focusRowRef: sortItems[i].id === focusRowId ? focusRowRef : null, ...(!(i === 0 && template === REPEATING_STRUCTURE_TEMPLATES.TIMELINE) && {
80
+ updateSortItemId,
81
+ removeSortItem,
82
+ dragProps,
83
+ dropProps
84
+ }), fieldDefs: fieldDefs }, s.id))) }), _jsx("div", { children: _jsx(Button, { variant: 'link', "aria-label": t('add_sort'), onClick: addSortItem, children: _jsxs(Flex, { container: { inline: true, alignItems: 'start', gap: 1 }, as: 'span', children: [_jsx(Icon, { name: 'plus' }), _jsx("span", { children: t('add') })] }) }) })] }));
79
85
  };
80
86
  export default SortRenderer;
81
87
  //# sourceMappingURL=SortRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SortRenderer.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/SortRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\n\nimport { Button, createUID, Flex, Icon, useI18n } from '@pega/cosmos-react-core';\nimport type { Sort } from 'pega-repeating-structures-core/types/State.types';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport useRowFocus from '../useRowFocus';\nimport useDragDrop from '../../../../Hooks/useDragDrop';\n\nimport { getValidSortColumnsInRow } from './utils';\nimport Row from './Row';\nimport type { SortItem } from './useSort';\n\nconst DropSelector = '[data-drop]';\n\ninterface SortRendererProps {\n sortItems: SortItem[];\n columns: RsCoreTypes.Column[];\n updateSortItems: (sortItems: (Sort | { order: string })[]) => void;\n}\n\nconst SortRenderer = ({ sortItems, columns, updateSortItems }: SortRendererProps) => {\n const t = useI18n();\n const { focusRowRef, focusRowId, setFocusRowId } = useRowFocus();\n\n const dragDropRef = useRef<HTMLDivElement>(null);\n const getAnimationSelector = useCallback((target: Element) => target.closest(DropSelector), []);\n\n const updateSortItemSequence = useCallback(\n (srcSequence: Sort['sequence'], destSequence: Sort['sequence']) => {\n const items = sortItems.slice().sort((a, b) => a.sequence - b.sequence);\n items.splice(destSequence - 1, 0, items.splice(srcSequence - 1, 1)[0]);\n items.forEach((item, index) => {\n item.sequence = index + 1;\n });\n updateSortItems(items);\n },\n [sortItems]\n );\n\n const onDrop = useCallback(\n (dest: Element, src: Element) => {\n updateSortItemSequence(\n parseInt(src.getAttribute('data-sequence') ?? '', 10),\n parseInt(dest.getAttribute('data-sequence') ?? '', 10)\n );\n },\n [updateSortItemSequence]\n );\n const { dragProps, dropProps } = useDragDrop({\n context: dragDropRef,\n getAnimationSelector,\n getGhostImageSelector: getAnimationSelector,\n getDraggedObject: getAnimationSelector,\n onDrop\n });\n\n const addSortItem = useCallback(() => {\n const validSortColumnsInRow = getValidSortColumnsInRow(columns, sortItems);\n if (validSortColumnsInRow && validSortColumnsInRow.length) {\n const newRow = {\n id: createUID(),\n columnId: '',\n order: '',\n sequence: sortItems.length + 1\n };\n const newSortItems = [...sortItems, newRow];\n updateSortItems(newSortItems);\n setFocusRowId(newRow.id);\n }\n }, [sortItems, columns, setFocusRowId]);\n\n const updateSortItemId = useCallback(\n (id: Sort['columnId'], sequence: Sort['sequence']) => {\n const index = sortItems.findIndex(s => s.sequence === sequence);\n const items = [...sortItems];\n items[index].columnId = id;\n updateSortItems(items);\n },\n [sortItems]\n );\n\n const updateSortItemOrder = useCallback(\n (e: ChangeEvent, sequence: Sort['sequence'], o: Sort['order']) => {\n const index = sortItems.findIndex(s => s.sequence === sequence);\n const items = [...sortItems];\n items[index].order = o;\n updateSortItems(items);\n },\n [sortItems]\n );\n\n const removeSortItem = useCallback(\n (index: number) => {\n const items = sortItems.map(v => ({ ...v }));\n const { sequence } = items[index];\n items.splice(index, 1);\n items.forEach(item => {\n if (item.sequence > sequence) item.sequence -= 1;\n });\n updateSortItems(items);\n\n if (items.length > 0)\n setFocusRowId(index === sortItems.length - 1 ? items[index - 1].id : items[index].id);\n },\n [sortItems, setFocusRowId]\n );\n\n useEffect(() => {\n if (!sortItems.length) {\n addSortItem();\n }\n }, [sortItems, addSortItem]);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Flex container={{ direction: 'column', gap: 1 }} ref={dragDropRef}>\n {sortItems\n .slice()\n .sort((a, b) => a.sequence - b.sequence)\n .map((s, i) => (\n <Row\n key={s.id}\n updateSortItemId={updateSortItemId}\n updateSortItemOrder={updateSortItemOrder}\n columns={columns}\n removeSortItem={removeSortItem}\n sortItems={sortItems}\n index={i}\n id={s.columnId}\n order={s.order}\n sequence={s.sequence}\n dragProps={dragProps}\n dropProps={dropProps}\n focusRowRef={sortItems[i].id === focusRowId ? focusRowRef : null}\n />\n ))}\n </Flex>\n <div>\n <Button variant='link' aria-label={t('add_sort')} onClick={addSortItem}>\n <Flex container={{ inline: true, alignItems: 'start', gap: 1 }} as='span'>\n <Icon name='plus' />\n <span>{t('add')}</span>\n </Flex>\n </Button>\n </div>\n </Flex>\n );\n};\n\nexport default SortRenderer;\n"]}
1
+ {"version":3,"file":"SortRenderer.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/SortRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport type { ChangeEvent } from 'react';\n\nimport { Button, createUID, Flex, Icon, useI18n } from '@pega/cosmos-react-core';\nimport type { Sort } from 'pega-repeating-structures-core/types/State.types';\nimport { REPEATING_STRUCTURE_TEMPLATES, type RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport useRowFocus from '../useRowFocus';\nimport useDragDrop from '../../../../Hooks/useDragDrop';\n\nimport { getValidSortColumnsInRow } from './utils';\nimport Row from './Row';\nimport type { SortItem } from './useSort';\n\nconst DropSelector = '[data-drop]';\n\ninterface SortRendererProps {\n sortItems: SortItem[];\n columns: RsCoreTypes.Column[];\n updateSortItems: (sortItems: (Sort | { order: string })[]) => void;\n template: RsCoreTypes.Meta['template'];\n fieldDefs: RsCoreTypes.Meta['fieldDefs'];\n}\n\nconst SortRenderer = ({\n sortItems,\n columns,\n updateSortItems,\n template,\n fieldDefs\n}: SortRendererProps) => {\n const t = useI18n();\n const { focusRowRef, focusRowId, setFocusRowId } = useRowFocus();\n\n const dragDropRef = useRef<HTMLDivElement>(null);\n const getAnimationSelector = useCallback((target: Element) => target.closest(DropSelector), []);\n\n const updateSortItemSequence = useCallback(\n (srcSequence: Sort['sequence'], destSequence: Sort['sequence']) => {\n const items = sortItems.slice().sort((a, b) => a.sequence - b.sequence);\n items.splice(destSequence - 1, 0, items.splice(srcSequence - 1, 1)[0]);\n items.forEach((item, index) => {\n item.sequence = index + 1;\n });\n updateSortItems(items);\n },\n [sortItems]\n );\n\n const onDrop = useCallback(\n (dest: Element, src: Element) => {\n updateSortItemSequence(\n parseInt(src.getAttribute('data-sequence') ?? '', 10),\n parseInt(dest.getAttribute('data-sequence') ?? '', 10)\n );\n },\n [updateSortItemSequence]\n );\n const { dragProps, dropProps } = useDragDrop({\n context: dragDropRef,\n getAnimationSelector,\n getGhostImageSelector: getAnimationSelector,\n getDraggedObject: getAnimationSelector,\n onDrop\n });\n\n const addSortItem = useCallback(() => {\n const validSortColumnsInRow = getValidSortColumnsInRow(fieldDefs, sortItems);\n if (validSortColumnsInRow && validSortColumnsInRow.length) {\n const newRow = {\n id: createUID(),\n columnId: '',\n order: '',\n sequence: sortItems.length + 1\n };\n const newSortItems = [...sortItems, newRow];\n updateSortItems(newSortItems);\n setFocusRowId(newRow.id);\n }\n }, [sortItems, columns, setFocusRowId]);\n\n const updateSortItemId = useCallback(\n (id: Sort['columnId'], sequence: Sort['sequence']) => {\n const index = sortItems.findIndex(s => s.sequence === sequence);\n const items = [...sortItems];\n items[index].columnId = id;\n updateSortItems(items);\n },\n [sortItems]\n );\n\n const updateSortItemOrder = useCallback(\n (e: ChangeEvent, sequence: Sort['sequence'], o: Sort['order']) => {\n const index = sortItems.findIndex(s => s.sequence === sequence);\n const items = [...sortItems];\n items[index].order = o;\n updateSortItems(items);\n },\n [sortItems]\n );\n\n const removeSortItem = useCallback(\n (index: number) => {\n const items = sortItems.map(v => ({ ...v }));\n const { sequence } = items[index];\n items.splice(index, 1);\n items.forEach(item => {\n if (item.sequence > sequence) item.sequence -= 1;\n });\n updateSortItems(items);\n\n if (items.length > 0)\n setFocusRowId(index === sortItems.length - 1 ? items[index - 1].id : items[index].id);\n },\n [sortItems, setFocusRowId]\n );\n\n useEffect(() => {\n if (!sortItems.length) {\n addSortItem();\n }\n }, [sortItems, addSortItem]);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Flex container={{ direction: 'column', gap: 1 }} ref={dragDropRef}>\n {sortItems\n .slice()\n .sort((a, b) => a.sequence - b.sequence)\n .map((s, i) => (\n <Row\n key={s.id}\n updateSortItemOrder={updateSortItemOrder}\n removeSortItem={removeSortItem}\n columns={columns}\n sortItems={sortItems}\n index={i}\n id={s.columnId}\n order={s.order}\n sequence={s.sequence}\n focusRowRef={sortItems[i].id === focusRowId ? focusRowRef : null}\n {...(!(i === 0 && template === REPEATING_STRUCTURE_TEMPLATES.TIMELINE) && {\n updateSortItemId,\n removeSortItem,\n dragProps,\n dropProps\n })}\n fieldDefs={fieldDefs}\n />\n ))}\n </Flex>\n <div>\n <Button variant='link' aria-label={t('add_sort')} onClick={addSortItem}>\n <Flex container={{ inline: true, alignItems: 'start', gap: 1 }} as='span'>\n <Icon name='plus' />\n <span>{t('add')}</span>\n </Flex>\n </Button>\n </div>\n </Flex>\n );\n};\n\nexport default SortRenderer;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useSort.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/useSort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,gBAAgB,EAAe,MAAM,yBAAyB,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kDAAkD,CAAC;AAO7E,MAAM,WAAW,QAAS,SAAQ,IAAI;IACpC,EAAE,EAAE,MAAM,CAAC;CACZ;AAKD,QAAA,MAAM,OAAO,GAAI,UAAU;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,KAAG,gBAAgB,CAAC,MAAM,CAwC9E,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"useSort.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/useSort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,gBAAgB,EAAe,MAAM,yBAAyB,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kDAAkD,CAAC;AAO7E,MAAM,WAAW,QAAS,SAAQ,IAAI;IACpC,EAAE,EAAE,MAAM,CAAC;CACZ;AAKD,QAAA,MAAM,OAAO,GAAI,UAAU;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,KAAG,gBAAgB,CAAC,MAAM,CA+C9E,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -5,7 +5,7 @@ import { deepCopy, deepEqual } from '../../../../Utils/index';
5
5
  import SortRenderer from './SortRenderer';
6
6
  const convertSortingOrderToSortItems = (sortingOrder) => sortingOrder.map(sort => ({ ...sort, id: createUID() }));
7
7
  const useSort = ({ view }) => {
8
- const { columns = [], state: { sortingOrder = [] } = {}, type: { applySorting } } = view;
8
+ const { columns = [], state: { sortingOrder = [] } = {}, meta: { template }, type: { applySorting } } = view;
9
9
  const displaySort = view.shouldDisplayFeature(TOOLBAR_FEATURES.SORT);
10
10
  const [sortItems, updateSortItems] = useState([]);
11
11
  const onSubmit = useCallback(() => {
@@ -32,7 +32,13 @@ const useSort = ({ view }) => {
32
32
  return {
33
33
  count: sortingOrder.length > 0 ? sortingOrder.length : undefined,
34
34
  renderer: SortRenderer,
35
- rendererProps: { sortItems, columns, updateSortItems },
35
+ rendererProps: {
36
+ sortItems,
37
+ columns,
38
+ updateSortItems,
39
+ template,
40
+ fieldDefs: view.getFieldDefs()
41
+ },
36
42
  onSubmit,
37
43
  onCancel
38
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSort.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/useSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAyB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAIxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAM1C,MAAM,8BAA8B,GAAG,CAAC,YAAoB,EAAE,EAAE,CAC9D,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3D,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAA8B,EAA4B,EAAE;IACjF,MAAM,EACJ,OAAO,GAAG,EAAE,EACZ,KAAK,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,EAAE,EACjC,IAAI,EAAE,EAAE,YAAY,EAAE,EACvB,GAAG,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,MAAM,cAAc,GAAG,SAAS;aAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;aACvC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;YAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACL,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,eAAe,CAAC,QAAQ,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC/C,eAAe,CAAC,QAAQ,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAErC,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,OAAO;QACL,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAChE,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE;QACtD,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { createUID, type ListToolbarProps, usePrevious } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { Sort } from 'pega-repeating-structures-core/types/State.types';\n\nimport { TOOLBAR_FEATURES } from '../../../../constants';\nimport { deepCopy, deepEqual } from '../../../../Utils/index';\n\nimport SortRenderer from './SortRenderer';\n\nexport interface SortItem extends Sort {\n id: string;\n}\n\nconst convertSortingOrderToSortItems = (sortingOrder: Sort[]) =>\n sortingOrder.map(sort => ({ ...sort, id: createUID() }));\n\nconst useSort = ({ view }: { view: RsCoreTypes.View }): ListToolbarProps['sort'] => {\n const {\n columns = [],\n state: { sortingOrder = [] } = {},\n type: { applySorting }\n } = view;\n const displaySort = view.shouldDisplayFeature(TOOLBAR_FEATURES.SORT);\n const [sortItems, updateSortItems] = useState<SortItem[]>([]);\n\n const onSubmit = useCallback(() => {\n const finalSortItems = sortItems\n .sort((a, b) => a.sequence - b.sequence)\n .filter(ele => ele.columnId && ele.order)\n .map((item, index) => {\n const { id, ...rest } = item;\n return { ...rest, sequence: index + 1 };\n });\n applySorting(finalSortItems);\n }, [sortItems, applySorting]);\n\n const onCancel = useCallback(() => {\n updateSortItems(deepCopy(convertSortingOrderToSortItems(sortingOrder)));\n }, [sortingOrder]);\n\n const prevSortingOrder = usePrevious(sortingOrder);\n useEffect(() => {\n if (!deepEqual(sortingOrder, prevSortingOrder)) {\n updateSortItems(deepCopy(convertSortingOrderToSortItems(sortingOrder)));\n }\n }, [sortingOrder, prevSortingOrder]);\n\n if (!displaySort) return;\n\n return {\n count: sortingOrder.length > 0 ? sortingOrder.length : undefined,\n renderer: SortRenderer,\n rendererProps: { sortItems, columns, updateSortItems },\n onSubmit,\n onCancel\n };\n};\n\nexport default useSort;\n"]}
1
+ {"version":3,"file":"useSort.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/useSort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAyB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAIxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAM1C,MAAM,8BAA8B,GAAG,CAAC,YAAoB,EAAE,EAAE,CAC9D,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3D,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAA8B,EAA4B,EAAE;IACjF,MAAM,EACJ,OAAO,GAAG,EAAE,EACZ,KAAK,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,EAAE,EACjC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAClB,IAAI,EAAE,EAAE,YAAY,EAAE,EACvB,GAAG,IAAI,CAAC;IACT,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,MAAM,cAAc,GAAG,SAAS;aAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;aACvC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;YAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACL,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,eAAe,CAAC,QAAQ,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC/C,eAAe,CAAC,QAAQ,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAErC,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,OAAO;QACL,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAChE,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE;YACb,SAAS;YACT,OAAO;YACP,eAAe;YACf,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;SAC/B;QACD,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { createUID, type ListToolbarProps, usePrevious } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { Sort } from 'pega-repeating-structures-core/types/State.types';\n\nimport { TOOLBAR_FEATURES } from '../../../../constants';\nimport { deepCopy, deepEqual } from '../../../../Utils/index';\n\nimport SortRenderer from './SortRenderer';\n\nexport interface SortItem extends Sort {\n id: string;\n}\n\nconst convertSortingOrderToSortItems = (sortingOrder: Sort[]) =>\n sortingOrder.map(sort => ({ ...sort, id: createUID() }));\n\nconst useSort = ({ view }: { view: RsCoreTypes.View }): ListToolbarProps['sort'] => {\n const {\n columns = [],\n state: { sortingOrder = [] } = {},\n meta: { template },\n type: { applySorting }\n } = view;\n const displaySort = view.shouldDisplayFeature(TOOLBAR_FEATURES.SORT);\n const [sortItems, updateSortItems] = useState<SortItem[]>([]);\n\n const onSubmit = useCallback(() => {\n const finalSortItems = sortItems\n .sort((a, b) => a.sequence - b.sequence)\n .filter(ele => ele.columnId && ele.order)\n .map((item, index) => {\n const { id, ...rest } = item;\n return { ...rest, sequence: index + 1 };\n });\n applySorting(finalSortItems);\n }, [sortItems, applySorting]);\n\n const onCancel = useCallback(() => {\n updateSortItems(deepCopy(convertSortingOrderToSortItems(sortingOrder)));\n }, [sortingOrder]);\n\n const prevSortingOrder = usePrevious(sortingOrder);\n useEffect(() => {\n if (!deepEqual(sortingOrder, prevSortingOrder)) {\n updateSortItems(deepCopy(convertSortingOrderToSortItems(sortingOrder)));\n }\n }, [sortingOrder, prevSortingOrder]);\n\n if (!displaySort) return;\n\n return {\n count: sortingOrder.length > 0 ? sortingOrder.length : undefined,\n renderer: SortRenderer,\n rendererProps: {\n sortItems,\n columns,\n updateSortItems,\n template,\n fieldDefs: view.getFieldDefs()\n },\n onSubmit,\n onCancel\n };\n};\n\nexport default useSort;\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
2
  import type { Sort } from 'pega-repeating-structures-core/types/State.types';
3
- export declare const getValidSortColumnsInRow: (columns: RsCoreTypes.Column[], sortItems: Sort[], id?: Sort["columnId"]) => import("pega-repeating-structures-core/lib/src/core/generators/ColumnGenerator").default[];
3
+ export declare const getValidSortColumnsInRow: (fieldDefs: RsCoreTypes.Meta["fieldDefs"], sortItems: Sort[], id?: Sort["columnId"]) => import("pega-repeating-structures-core/lib/types/Meta.types").FieldDef[];
4
4
  export declare const getValidSortOrders: () => {
5
5
  id: string;
6
6
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kDAAkD,CAAC;AAS7E,eAAO,MAAM,wBAAwB,GACnC,SAAS,WAAW,CAAC,MAAM,EAAE,EAC7B,WAAW,IAAI,EAAE,EACjB,KAAK,IAAI,CAAC,UAAU,CAAC,+FAMtB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;GAK9B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kDAAkD,CAAC;AAS7E,eAAO,MAAM,wBAAwB,GACnC,WAAW,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EACxC,WAAW,IAAI,EAAE,EACjB,KAAK,IAAI,CAAC,UAAU,CAAC,6EAMtB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;GAK9B,CAAC"}
@@ -3,12 +3,12 @@ const sortLabels = {
3
3
  asc: 'Ascending',
4
4
  desc: 'Descending'
5
5
  };
6
- export const getValidSortColumnsInRow = (columns, sortItems, id) => {
6
+ export const getValidSortColumnsInRow = (fieldDefs, sortItems, id) => {
7
7
  const existingSortItemsId = sortItems.map(s => s.columnId);
8
8
  const index = id ? existingSortItemsId.indexOf(id) : -1;
9
9
  if (index !== -1)
10
10
  existingSortItemsId.splice(index, 1);
11
- return columns.filter(c => c.field.sort && !existingSortItemsId.includes(c.field.id));
11
+ return fieldDefs.filter(c => c.sort && !existingSortItemsId.includes(c.id));
12
12
  };
13
13
  export const getValidSortOrders = () => {
14
14
  return NonNullSortActions.map(o => ({
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,UAAU,GAA8B;IAC5C,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAA6B,EAC7B,SAAiB,EACjB,EAAqB,EACrB,EAAE;IACF,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,CAAC,CAAC,QAAQ;QACd,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC,CAAC","sourcesContent":["import type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { Sort } from 'pega-repeating-structures-core/types/State.types';\n\nimport { NonNullSortActions } from '../../../../constants';\n\nconst sortLabels: { [key: string]: string } = {\n asc: 'Ascending',\n desc: 'Descending'\n};\n\nexport const getValidSortColumnsInRow = (\n columns: RsCoreTypes.Column[],\n sortItems: Sort[],\n id?: Sort['columnId']\n) => {\n const existingSortItemsId = sortItems.map(s => s.columnId);\n const index = id ? existingSortItemsId.indexOf(id) : -1;\n if (index !== -1) existingSortItemsId.splice(index, 1);\n return columns.filter(c => c.field.sort && !existingSortItemsId.includes(c.field.id));\n};\n\nexport const getValidSortOrders = () => {\n return NonNullSortActions.map(o => ({\n id: o.actionId,\n label: sortLabels[o.actionId]\n }));\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useSort/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,UAAU,GAA8B;IAC5C,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAAwC,EACxC,SAAiB,EACjB,EAAqB,EACrB,EAAE;IACF,MAAM,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,EAAE,EAAE,CAAC,CAAC,QAAQ;QACd,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC,CAAC","sourcesContent":["import type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { Sort } from 'pega-repeating-structures-core/types/State.types';\n\nimport { NonNullSortActions } from '../../../../constants';\n\nconst sortLabels: { [key: string]: string } = {\n asc: 'Ascending',\n desc: 'Descending'\n};\n\nexport const getValidSortColumnsInRow = (\n fieldDefs: RsCoreTypes.Meta['fieldDefs'],\n sortItems: Sort[],\n id?: Sort['columnId']\n) => {\n const existingSortItemsId = sortItems.map(s => s.columnId);\n const index = id ? existingSortItemsId.indexOf(id) : -1;\n if (index !== -1) existingSortItemsId.splice(index, 1);\n return fieldDefs.filter(c => c.sort && !existingSortItemsId.includes(c.id));\n};\n\nexport const getValidSortOrders = () => {\n return NonNullSortActions.map(o => ({\n id: o.actionId,\n label: sortLabels[o.actionId]\n }));\n};\n"]}
@@ -1,6 +1,7 @@
1
1
  import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ /** Toggles word-wrap row density and restores the previous height when unwrapping. */
2
3
  export default function useWrapAction(view: RsCoreTypes.View): {
3
4
  enabled: boolean;
4
5
  onClick: () => void;
5
- };
6
+ } | undefined;
6
7
  //# sourceMappingURL=useWrapAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWrapAction.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useWrapAction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI;;;EAe3D"}
1
+ {"version":3,"file":"useWrapAction.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useWrapAction.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,sFAAsF;AACtF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI;;;cA6C3D"}
@@ -1,17 +1,41 @@
1
- import { useMemo } from 'react';
2
- import { ROW_DENSITY } from 'pega-repeating-structures-core/lib/types/Meta.types';
1
+ import { useMemo, useRef } from 'react';
2
+ import { REPEATING_STRUCTURE_TEMPLATES, ROW_DENSITY } from 'pega-repeating-structures-core/lib/types/Meta.types';
3
+ import showFeatureForTemplate from '../../../templateFeatureSupport';
4
+ /** Toggles word-wrap row density and restores the previous height when unwrapping. */
3
5
  export default function useWrapAction(view) {
4
6
  const { selectedHeightOption } = view.state;
5
- return useMemo(() => ({
6
- enabled: selectedHeightOption === ROW_DENSITY.WRAP_CONTENT,
7
- onClick: () => {
8
- if (selectedHeightOption !== ROW_DENSITY.WRAP_CONTENT) {
9
- view.type.applyRowHeight(ROW_DENSITY.WRAP_CONTENT);
10
- }
11
- else {
12
- view.type.applyRowHeight(ROW_DENSITY.SHORT);
13
- }
7
+ // TODO(TS): tighten rs-core types so Meta.template and Meta.showWrapAction are required.
8
+ // Then remove these fallback defaults and rely on the typed contract directly.
9
+ const { defaultRowHeight, showWrapAction = true, template: metaTemplate = REPEATING_STRUCTURE_TEMPLATES.TABLE } = view.meta;
10
+ const template = view.template ?? metaTemplate;
11
+ const isWrapActionEnabled = showWrapAction && showFeatureForTemplate(template, 'wrap');
12
+ // Track the last non-wrap height so we can restore it when unwrapping.
13
+ /* TODO: If wrap is persisted via personalization, the pre-wrap height is lost on reload
14
+ and falls back to meta default. Needs a separate state slice in RsCore to fix. */
15
+ const lastNonWrapHeightRef = useRef(selectedHeightOption !== ROW_DENSITY.WRAP_CONTENT ? selectedHeightOption : undefined);
16
+ // Update ref only when height is a non-wrap value
17
+ if (selectedHeightOption && selectedHeightOption !== ROW_DENSITY.WRAP_CONTENT) {
18
+ lastNonWrapHeightRef.current = selectedHeightOption;
19
+ }
20
+ return useMemo(() => {
21
+ if (!isWrapActionEnabled) {
22
+ return undefined;
14
23
  }
15
- }), [selectedHeightOption]);
24
+ return {
25
+ enabled: selectedHeightOption === ROW_DENSITY.WRAP_CONTENT,
26
+ onClick: () => {
27
+ if (selectedHeightOption !== ROW_DENSITY.WRAP_CONTENT) {
28
+ view.type.applyRowHeight(ROW_DENSITY.WRAP_CONTENT);
29
+ }
30
+ else {
31
+ // Disable wrap: restore last non-wrap height, fall back to meta default, then fall back to SHORT
32
+ const fallbackHeight = defaultRowHeight && defaultRowHeight !== ROW_DENSITY.WRAP_CONTENT
33
+ ? defaultRowHeight
34
+ : ROW_DENSITY.SHORT;
35
+ view.type.applyRowHeight(lastNonWrapHeightRef.current ?? fallbackHeight);
36
+ }
37
+ }
38
+ };
39
+ }, [selectedHeightOption, defaultRowHeight, isWrapActionEnabled]);
16
40
  }
17
41
  //# sourceMappingURL=useWrapAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWrapAction.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useWrapAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAGlF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAsB;IAC1D,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5C,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,oBAAoB,KAAK,WAAW,CAAC,YAAY;QAC1D,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,oBAAoB,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;gBACtD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KACF,CAAC,EACF,CAAC,oBAAoB,CAAC,CACvB,CAAC;AACJ,CAAC","sourcesContent":["import { useMemo } from 'react';\n\nimport { ROW_DENSITY } from 'pega-repeating-structures-core/lib/types/Meta.types';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nexport default function useWrapAction(view: RsCoreTypes.View) {\n const { selectedHeightOption } = view.state;\n return useMemo(\n () => ({\n enabled: selectedHeightOption === ROW_DENSITY.WRAP_CONTENT,\n onClick: () => {\n if (selectedHeightOption !== ROW_DENSITY.WRAP_CONTENT) {\n view.type.applyRowHeight(ROW_DENSITY.WRAP_CONTENT);\n } else {\n view.type.applyRowHeight(ROW_DENSITY.SHORT);\n }\n }\n }),\n [selectedHeightOption]\n );\n}\n"]}
1
+ {"version":3,"file":"useWrapAction.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useWrapAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EACL,6BAA6B,EAC7B,WAAW,EACZ,MAAM,qDAAqD,CAAC;AAG7D,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AAErE,sFAAsF;AACtF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAsB;IAC1D,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5C,yFAAyF;IACzF,+EAA+E;IAC/E,MAAM,EACJ,gBAAgB,EAChB,cAAc,GAAG,IAAI,EACrB,QAAQ,EAAE,YAAY,GAAG,6BAA6B,CAAC,KAAK,EAC7D,GAAG,IAAI,CAAC,IAAI,CAAC;IACd,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC/C,MAAM,mBAAmB,GAAG,cAAc,IAAI,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEvF,uEAAuE;IACvE;sFACkF;IAClF,MAAM,oBAAoB,GAAG,MAAM,CACjC,oBAAoB,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CACrF,CAAC;IAEF,kDAAkD;IAClD,IAAI,oBAAoB,IAAI,oBAAoB,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;QAC9E,oBAAoB,CAAC,OAAO,GAAG,oBAAoB,CAAC;IACtD,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,OAAO,EAAE,oBAAoB,KAAK,WAAW,CAAC,YAAY;YAC1D,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,oBAAoB,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,iGAAiG;oBACjG,MAAM,cAAc,GAClB,gBAAgB,IAAI,gBAAgB,KAAK,WAAW,CAAC,YAAY;wBAC/D,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACpE,CAAC","sourcesContent":["import { useMemo, useRef } from 'react';\n\nimport {\n REPEATING_STRUCTURE_TEMPLATES,\n ROW_DENSITY\n} from 'pega-repeating-structures-core/lib/types/Meta.types';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport showFeatureForTemplate from '../../../templateFeatureSupport';\n\n/** Toggles word-wrap row density and restores the previous height when unwrapping. */\nexport default function useWrapAction(view: RsCoreTypes.View) {\n const { selectedHeightOption } = view.state;\n // TODO(TS): tighten rs-core types so Meta.template and Meta.showWrapAction are required.\n // Then remove these fallback defaults and rely on the typed contract directly.\n const {\n defaultRowHeight,\n showWrapAction = true,\n template: metaTemplate = REPEATING_STRUCTURE_TEMPLATES.TABLE\n } = view.meta;\n const template = view.template ?? metaTemplate;\n const isWrapActionEnabled = showWrapAction && showFeatureForTemplate(template, 'wrap');\n\n // Track the last non-wrap height so we can restore it when unwrapping.\n /* TODO: If wrap is persisted via personalization, the pre-wrap height is lost on reload\n and falls back to meta default. Needs a separate state slice in RsCore to fix. */\n const lastNonWrapHeightRef = useRef(\n selectedHeightOption !== ROW_DENSITY.WRAP_CONTENT ? selectedHeightOption : undefined\n );\n\n // Update ref only when height is a non-wrap value\n if (selectedHeightOption && selectedHeightOption !== ROW_DENSITY.WRAP_CONTENT) {\n lastNonWrapHeightRef.current = selectedHeightOption;\n }\n\n return useMemo(() => {\n if (!isWrapActionEnabled) {\n return undefined;\n }\n\n return {\n enabled: selectedHeightOption === ROW_DENSITY.WRAP_CONTENT,\n onClick: () => {\n if (selectedHeightOption !== ROW_DENSITY.WRAP_CONTENT) {\n view.type.applyRowHeight(ROW_DENSITY.WRAP_CONTENT);\n } else {\n // Disable wrap: restore last non-wrap height, fall back to meta default, then fall back to SHORT\n const fallbackHeight =\n defaultRowHeight && defaultRowHeight !== ROW_DENSITY.WRAP_CONTENT\n ? defaultRowHeight\n : ROW_DENSITY.SHORT;\n view.type.applyRowHeight(lastNonWrapHeightRef.current ?? fallbackHeight);\n }\n }\n };\n }, [selectedHeightOption, defaultRowHeight, isWrapActionEnabled]);\n}\n"]}
@@ -2,9 +2,11 @@ export default getMenuItemsFromColumns;
2
2
  /**
3
3
  * returns copy of embedded property's leafNode model from store or null
4
4
  * @function getMenuItemsFromColumns
5
- * @param {array} columns columns array containing each column object
5
+ * @param fieldDefs - field definitions to build menu items from
6
6
  * @param {string} fieldProp value for id prop(either 'name' of 'id')
7
- * @param {string} selectedField field which is already selected as part of sort/group/filter action
7
+ * @param options.selectedField - field id that is already selected (for sort/group/filter actions)
8
+ * @param options.columns - live column objects that expose `field.filterPickList` and `getUniqueValues()`
9
+ * @param options.defaultType - fallback field type if not specified on the field definition
8
10
  * @returns {array} returns an array of objects where each object is one category
9
11
  *
10
12
  * @example <caption>Example for getMenuItemsFromColumns.</caption>
@@ -28,24 +30,43 @@ export default getMenuItemsFromColumns;
28
30
  id: '3',
29
31
  category: [{ label: 'Profile' }],
30
32
  sort: true
33
+ },
34
+ {
35
+ type: 'text',
36
+ name: 'pyOperatorName',
37
+ label: 'Operator name',
38
+ id: '4',
39
+ filterPicklist:true
31
40
  }
32
41
  ]
33
42
  *
34
- * getMenuItemsFromColumns(columns) returns :
43
+ * getMenuItemsFromColumns(fieldDefs) returns :
35
44
  * [
36
45
  {
37
- id: 'ID',
46
+ id: 'pyID',
38
47
  primary: ID,
39
48
  items: undefined,
40
49
  selected: undefined
41
50
  },
42
51
  {
43
- id: ‘Bugs Class’,
44
- primary: ‘Bugs Class’,
52
+ id: ‘pyLabel’,
53
+ primary: ‘Name’,
45
54
  selected: undefined,
46
55
  items: [ {id: ‘Priority', primary: ‘Priority’, selected: true, items: undefined}]
56
+ },
57
+ {
58
+ id: 'pyOperatorName',
59
+ primary: 'Operator name',
60
+ selected: undefined,
61
+ possibleValues: function() {
62
+ // Fetch unique values for Operator name column
63
+ }
47
64
  }
65
+
48
66
  ]
49
67
  */
50
- declare function getMenuItemsFromColumns(columns: array, fieldProp: string, selectedField: string, defaultType?: "text"): array;
68
+ declare function getMenuItemsFromColumns(fieldDefs: any, fieldProp: string, { selectedField, columns, defaultType }?: {
69
+ columns?: never[] | undefined;
70
+ defaultType?: "text" | undefined;
71
+ }): array;
51
72
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":";AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AAEF,kDA9CW,KAAK,aACL,MAAM,iBACN,MAAM,yBACJ,KAAK,CAmEjB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":";AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEE;AAEF,oEA/DW,MAAM;;;IAIJ,KAAK,CA2GjB"}