@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 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../Core/Components/HeaderMenu/actions.js"],"names":[],"mappings":"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","sourcesContent":["import { FieldType, getFilters } from 'pega-repeating-structures-core';\n\nimport { allowToggle } from '../../Utils';\nimport { sortActions, TOOLBAR_FEATURES } from '../../constants';\n\nconst Grouping = 'Grouping';\nconst Filter = 'Filter';\nconst ClearFilter = 'Clear filter';\nconst Freeze = 'Freeze';\nconst Visibility = 'Hide';\nconst Summarize = 'Summarize';\nconst DynamicColumnLeft = 'Combine with left';\nconst DynamicColumnRight = 'Combine with right';\nconst DynamicColumnDelete = 'Delete';\nconst CustomizeColumn = 'Format';\nconst UndoHierarchy = 'Undo hierarchy';\n\n/** Checks if it's a column where grouping by date-functions is enabled */\nfunction isColumnWithDateFuncGrouping(column) {\n const view = column.parent;\n return (\n view.meta.dateFunctions &&\n (column.field.type === FieldType.DATE || column.field.type === FieldType.DATE_TIME)\n );\n}\n\nexport function customizeColumn(column, rfName, displayMode, newColumnAlias, oldAlias) {\n if (rfName !== undefined) {\n column.applyFormatter(rfName);\n }\n\n if (displayMode !== undefined) {\n column.applyDisplay(displayMode);\n }\n\n // old alias can be undefined\n if (oldAlias?.trim() !== newColumnAlias.trim()) {\n column.applyLabel(newColumnAlias);\n }\n}\n\nconst updateRowHeight = column => {\n const view = column.parent;\n const { customFields } = view.state;\n\n let shouldUpdateRowDensity = true;\n customFields.forEach(field => {\n if (field.id !== column.field.id) {\n const { expression } = field;\n expression.forEach(exp => {\n if (Array.isArray(exp) && exp[0] === 'multiline') shouldUpdateRowDensity = false;\n });\n }\n });\n if (shouldUpdateRowDensity) view.type.applyRowHeight(view.meta?.defaultRowHeight);\n};\n\nconst prepareColumnSortActions = (column, translate, finishPopOver) => {\n const SortActions = [];\n sortActions.forEach(action => {\n const { actionId, actionName, actionIcon } = action;\n // eslint-disable-next-line\n if (actionId != column.sortOrder)\n SortActions.push({\n id: actionName,\n icon: actionIcon,\n label: translate(actionName),\n show: column.parent.shouldDisplayFeature(TOOLBAR_FEATURES.SORT, column),\n onClick: () => {\n column.applySorting(!column.sorted, actionId);\n finishPopOver();\n }\n });\n });\n return SortActions;\n};\n\nfunction removeFilter(column) {\n const { filterExpression } = column.parent.state;\n const { applyFilter, clearFilter } = column.parent.type;\n const filters = getFilters({ filterExpression });\n if (filters.length > 1) {\n clearFilter(column.field.id);\n } else {\n applyFilter({\n filterExp: null\n });\n }\n}\n\n/**\n * This method is executed when a column is removed from the table, it sets the focus to the next\n * column on the left, or if its the first column, then on the next column on right.\n * @param {object} column\n */\nexport function handleFocus(column) {\n const { order } = column;\n let focusColumnOrder = order;\n // When hiding first column, focus should go to the next column on right\n if (order === 0) focusColumnOrder = 2;\n const selector = `[role='columnheader'][aria-colindex='${focusColumnOrder}'] > .icons-ph > .header-menu > button`;\n const domContainer = column.parent.getDomContainer();\n const ele = domContainer.querySelector(selector);\n if (ele) {\n ele.focus();\n }\n}\n\nexport function getActions({ column, setMoreContent, onUndoHierarchy, translate, finishPopOver }) {\n const {\n aggregateOptions,\n grouping: isGroupingEnabled,\n toggleFieldVisibility\n } = column.parent.meta;\n return [\n ...prepareColumnSortActions(column, translate, finishPopOver),\n {\n id: Filter,\n icon: 'filter',\n label: translate(Filter),\n show: column.parent.shouldDisplayFeature(TOOLBAR_FEATURES.FILTER, column),\n onClick: () => setMoreContent(Filter)\n },\n {\n id: ClearFilter,\n icon: 'reset',\n label: translate(ClearFilter),\n show: !!column.filtered,\n onClick: () => {\n removeFilter(column);\n finishPopOver();\n }\n },\n {\n id: Grouping,\n icon: 'row',\n label: column.grouped ? translate('Ungroup') : translate('Group'),\n show:\n isGroupingEnabled &&\n !column.parent?.hierarchicalGroupEnabled &&\n column.parent.shouldDisplayFeature(TOOLBAR_FEATURES.GROUPING, column),\n onClick: () => {\n if (isColumnWithDateFuncGrouping(column) && !column.grouped) {\n setMoreContent(Grouping);\n return;\n }\n column.applyGrouping();\n finishPopOver();\n }\n },\n {\n id: Visibility,\n icon: 'eye-off',\n label: translate(Visibility),\n show: !!(toggleFieldVisibility && column.field.toggle),\n onClick: () => {\n column.applyToggleVisibility();\n finishPopOver();\n handleFocus(column);\n },\n disabled: !allowToggle(column.parent.getVisibleColumns())\n },\n {\n id: Freeze,\n icon: 'freeze-column',\n label: column.frozen ? translate('Unfreeze') : translate('Freeze'),\n show: !!column.field.freeze,\n onClick: () => {\n column.applyFreeze();\n finishPopOver();\n }\n },\n {\n id: Summarize,\n icon: 'sigma',\n label: column.aggregated ? translate('Remove aggregation') : translate('Aggregate'),\n show: !!(\n column.field.aggregation &&\n (column.field.type === FieldType.NUMBER || column.field.type === FieldType.CURRENCY) &&\n aggregateOptions[column.field.type] &&\n aggregateOptions[column.field.type].length\n ),\n onClick: () => {\n column.applyAggregation(\n !column.aggregated ? aggregateOptions[column.field.type]?.[0] : undefined\n );\n finishPopOver();\n }\n },\n {\n id: DynamicColumnLeft,\n icon: 'arrow-left-column',\n label: translate(DynamicColumnLeft),\n show: !!column.field.combineColumn && !column.isFirstDataColumn,\n onClick: () => setMoreContent(DynamicColumnLeft)\n },\n {\n id: DynamicColumnRight,\n icon: 'arrow-right-column',\n label: translate(DynamicColumnRight),\n show: !!column.field.combineColumn && !column.isLastColumn,\n onClick: () => setMoreContent(DynamicColumnRight)\n },\n {\n id: DynamicColumnDelete,\n icon: 'column-delete',\n label: translate(DynamicColumnDelete),\n show: !!column.isCustomColumn,\n onClick: () => {\n column.deleteCustomColumn();\n updateRowHeight(column);\n handleFocus(column);\n }\n },\n {\n id: CustomizeColumn,\n icon: 'circle-stacked-mixed',\n label: translate(CustomizeColumn),\n show: !!column.field.customizeColumn && !column.isCustomColumn,\n onClick: () => setMoreContent(CustomizeColumn)\n },\n {\n id: UndoHierarchy,\n icon: 'folder-nested-solid',\n label: translate(UndoHierarchy),\n show: column.isFirstDataColumn && !!column.parent?.hierarchicalGroupEnabled,\n onClick: onUndoHierarchy\n }\n ];\n}\n"]}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../Core/Components/HeaderMenu/actions.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAChD,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AACrC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACjC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,0EAA0E;AAC1E,SAAS,4BAA4B,CAAC,MAAM;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,aAAa;QACvB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC,CACpF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ;IACrF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,6BAA6B;IAC7B,IAAI,QAAQ,EAAE,IAAI,EAAE,KAAK,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAEpC,IAAI,sBAAsB,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC3B,IAAI,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;YAC7B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW;oBAAE,sBAAsB,GAAG,KAAK,CAAC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,sBAAsB;QAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE;IACpE,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC3B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACpD,2BAA2B;QAC3B,IAAI,QAAQ,IAAI,MAAM,CAAC,SAAS;YAC9B,WAAW,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,UAAU;gBACd,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC;gBAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;gBACvE,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBAC9C,aAAa,EAAE,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,MAAM;IAC1B,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IACjD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,WAAW,CAAC;YACV,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAM;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,wEAAwE;IACxE,IAAI,KAAK,KAAK,CAAC;QAAE,gBAAgB,GAAG,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,wCAAwC,gBAAgB,wCAAwC,CAAC;IAClH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE;IAC9F,MAAM,EACJ,gBAAgB,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,qBAAqB,EACtB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACvB,OAAO;QACL,GAAG,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;QAC7D;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;YACzE,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;SACtC;QACD;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC;YAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;YACvB,OAAO,EAAE,GAAG,EAAE;gBACZ,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,aAAa,EAAE,CAAC;YAClB,CAAC;SACF;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;YACjE,IAAI,EACF,iBAAiB;gBACjB,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB;gBACxC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;YACvE,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC5D,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,aAAa,EAAE,CAAC;gBACvB,aAAa,EAAE,CAAC;YAClB,CAAC;SACF;QACD;YACE,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC;YAC5B,IAAI,EAAE,CAAC,CAAC,CAAC,qBAAqB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACtD,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,aAAa,EAAE,CAAC;gBAChB,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;SAC1D;QACD;YACE,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;YAClE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;YAC3B,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrB,aAAa,EAAE,CAAC;YAClB,CAAC;SACF;QACD;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;YACnF,IAAI,EAAE,CAAC,CAAC,CACN,MAAM,CAAC,KAAK,CAAC,WAAW;gBACxB,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAC3C;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,gBAAgB,CACrB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC;gBACF,aAAa,EAAE,CAAC;YAClB,CAAC;SACF;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,SAAS,CAAC,iBAAiB,CAAC;YACnC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC;SACjD;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,SAAS,CAAC,kBAAkB,CAAC;YACpC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,YAAY;YAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,kBAAkB,CAAC;SAClD;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,SAAS,CAAC,mBAAmB,CAAC;YACrC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;YAC7B,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,eAAe,CAAC,MAAM,CAAC,CAAC;gBACxB,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;SACF;QACD;YACE,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC;YACjC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,cAAc;YAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC;SAC/C;QACD;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC;YAC/B,IAAI,EAAE,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB;YAC3E,OAAO,EAAE,eAAe;SACzB;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { FieldType, getFilters } from 'pega-repeating-structures-core';\n\nimport { allowToggle } from '../../Utils';\nimport { sortActions, TOOLBAR_FEATURES } from '../../constants';\n\nconst Grouping = 'Grouping';\nconst Filter = 'Filter';\nconst ClearFilter = 'Clear filter';\nconst Freeze = 'Freeze';\nconst Visibility = 'Hide';\nconst Summarize = 'Summarize';\nconst DynamicColumnLeft = 'Combine with left';\nconst DynamicColumnRight = 'Combine with right';\nconst DynamicColumnDelete = 'Delete';\nconst CustomizeColumn = 'Format';\nconst UndoHierarchy = 'Undo hierarchy';\n\n/** Checks if it's a column where grouping by date-functions is enabled */\nfunction isColumnWithDateFuncGrouping(column) {\n const view = column.parent;\n return (\n view.meta.dateFunctions &&\n (column.field.type === FieldType.DATE || column.field.type === FieldType.DATE_TIME)\n );\n}\n\nexport function customizeColumn(column, rfConfig, displayMode, newColumnAlias, oldAlias) {\n if (rfConfig !== undefined) {\n column.applyFormatter(rfConfig);\n }\n\n if (displayMode !== undefined) {\n column.applyDisplay(displayMode);\n }\n\n // old alias can be undefined\n if (oldAlias?.trim() !== newColumnAlias.trim()) {\n column.applyLabel(newColumnAlias);\n }\n}\n\nconst updateRowHeight = column => {\n const view = column.parent;\n const { customFields } = view.state;\n\n let shouldUpdateRowDensity = true;\n customFields.forEach(field => {\n if (field.id !== column.field.id) {\n const { expression } = field;\n expression.forEach(exp => {\n if (Array.isArray(exp) && exp[0] === 'multiline') shouldUpdateRowDensity = false;\n });\n }\n });\n if (shouldUpdateRowDensity) view.type.applyRowHeight(view.meta?.defaultRowHeight);\n};\n\nconst prepareColumnSortActions = (column, translate, finishPopOver) => {\n const SortActions = [];\n sortActions.forEach(action => {\n const { actionId, actionName, actionIcon } = action;\n // eslint-disable-next-line\n if (actionId != column.sortOrder)\n SortActions.push({\n id: actionName,\n icon: actionIcon,\n label: translate(actionName),\n show: column.parent.shouldDisplayFeature(TOOLBAR_FEATURES.SORT, column),\n onClick: () => {\n column.applySorting(!column.sorted, actionId);\n finishPopOver();\n }\n });\n });\n return SortActions;\n};\n\nfunction removeFilter(column) {\n const { filterExpression } = column.parent.state;\n const { applyFilter, clearFilter } = column.parent.type;\n const filters = getFilters({ filterExpression });\n if (filters.length > 1) {\n clearFilter(column.field.id);\n } else {\n applyFilter({\n filterExp: null\n });\n }\n}\n\n/**\n * This method is executed when a column is removed from the table, it sets the focus to the next\n * column on the left, or if its the first column, then on the next column on right.\n * @param {object} column\n */\nexport function handleFocus(column) {\n const { order } = column;\n let focusColumnOrder = order;\n // When hiding first column, focus should go to the next column on right\n if (order === 0) focusColumnOrder = 2;\n const selector = `[role='columnheader'][aria-colindex='${focusColumnOrder}'] > .icons-ph > .header-menu > button`;\n const domContainer = column.parent.getDomContainer();\n const ele = domContainer.querySelector(selector);\n if (ele) {\n ele.focus();\n }\n}\n\nexport function getActions({ column, setMoreContent, onUndoHierarchy, translate, finishPopOver }) {\n const {\n aggregateOptions,\n grouping: isGroupingEnabled,\n toggleFieldVisibility\n } = column.parent.meta;\n return [\n ...prepareColumnSortActions(column, translate, finishPopOver),\n {\n id: Filter,\n icon: 'filter',\n label: translate(Filter),\n show: column.parent.shouldDisplayFeature(TOOLBAR_FEATURES.FILTER, column),\n onClick: () => setMoreContent(Filter)\n },\n {\n id: ClearFilter,\n icon: 'reset',\n label: translate(ClearFilter),\n show: !!column.filtered,\n onClick: () => {\n removeFilter(column);\n finishPopOver();\n }\n },\n {\n id: Grouping,\n icon: 'row',\n label: column.grouped ? translate('Ungroup') : translate('Group'),\n show:\n isGroupingEnabled &&\n !column.parent?.hierarchicalGroupEnabled &&\n column.parent.shouldDisplayFeature(TOOLBAR_FEATURES.GROUPING, column),\n onClick: () => {\n if (isColumnWithDateFuncGrouping(column) && !column.grouped) {\n setMoreContent(Grouping);\n return;\n }\n column.applyGrouping();\n finishPopOver();\n }\n },\n {\n id: Visibility,\n icon: 'eye-off',\n label: translate(Visibility),\n show: !!(toggleFieldVisibility && column.field.toggle),\n onClick: () => {\n column.applyToggleVisibility();\n finishPopOver();\n handleFocus(column);\n },\n disabled: !allowToggle(column.parent.getVisibleColumns())\n },\n {\n id: Freeze,\n icon: 'freeze-column',\n label: column.frozen ? translate('Unfreeze') : translate('Freeze'),\n show: !!column.field.freeze,\n onClick: () => {\n column.applyFreeze();\n finishPopOver();\n }\n },\n {\n id: Summarize,\n icon: 'sigma',\n label: column.aggregated ? translate('Remove aggregation') : translate('Aggregate'),\n show: !!(\n column.field.aggregation &&\n aggregateOptions[column.field.type] &&\n aggregateOptions[column.field.type].length\n ),\n onClick: () => {\n column.applyAggregation(\n !column.aggregated ? aggregateOptions[column.field.type]?.[0] : undefined\n );\n finishPopOver();\n }\n },\n {\n id: DynamicColumnLeft,\n icon: 'arrow-left-column',\n label: translate(DynamicColumnLeft),\n show: !!column.field.combineColumn && !column.isFirstDataColumn,\n onClick: () => setMoreContent(DynamicColumnLeft)\n },\n {\n id: DynamicColumnRight,\n icon: 'arrow-right-column',\n label: translate(DynamicColumnRight),\n show: !!column.field.combineColumn && !column.isLastColumn,\n onClick: () => setMoreContent(DynamicColumnRight)\n },\n {\n id: DynamicColumnDelete,\n icon: 'column-delete',\n label: translate(DynamicColumnDelete),\n show: !!column.isCustomColumn,\n onClick: () => {\n column.deleteCustomColumn();\n updateRowHeight(column);\n handleFocus(column);\n }\n },\n {\n id: CustomizeColumn,\n icon: 'circle-stacked-mixed',\n label: translate(CustomizeColumn),\n show: !!column.field.customizeColumn && !column.isCustomColumn,\n onClick: () => setMoreContent(CustomizeColumn)\n },\n {\n id: UndoHierarchy,\n icon: 'folder-nested-solid',\n label: translate(UndoHierarchy),\n show: column.isFirstDataColumn && !!column.parent?.hierarchicalGroupEnabled,\n onClick: onUndoHierarchy\n }\n ];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Components/HeaderMenu/index.jsx"],"names":[],"mappings":"AAgFA;;;mDAkNC;;;;;;;;;;;;;;;;;;sBAlSqB,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Components/HeaderMenu/index.jsx"],"names":[],"mappings":"AAgFA;;;mDAmNC;;;;;;;;;;;;;;;;;;sBAnSqB,YAAY"}
@@ -18,8 +18,8 @@ const DynamicColumnRight = 'Combine with right';
18
18
  const CustomizeColumn = 'Format';
19
19
  const sortActionStates = ['Sort-ascending', 'Sort-descending', 'Remove-sort'];
20
20
  const ariaSort = {
21
- asc: 'ascending',
22
- desc: 'descending'
21
+ asc: 'Ascending',
22
+ desc: 'Descending'
23
23
  };
24
24
  function getFirstLevelActions(actions) {
25
25
  return removeEmptyValues(actions.map(function mapper(s) {
@@ -117,8 +117,8 @@ export default function HeaderMenu({ column, popoverButtonRef }) {
117
117
  view.type.applyRowHeight('4');
118
118
  }, onCancel: finishPopOver, popoverButtonRef: popoverButtonRef, heading: `Combine with ${moreContent === DynamicColumnLeft ? 'left' : 'right'}` }));
119
119
  case CustomizeColumn:
120
- return (_jsx(RFColumnConfigurator, { column: column, finishPopOver: finishPopOver, onSubmit: (rfName, columnAlias, displayMode) => {
121
- customizeColumn(column, rfName, displayMode, columnAlias, column.alias);
120
+ return (_jsx(RFColumnConfigurator, { column: column, finishPopOver: finishPopOver, onSubmit: (rfConfig, columnAlias, displayMode) => {
121
+ customizeColumn(column, rfConfig, displayMode, columnAlias, column.alias);
122
122
  }, onCancel: finishPopOver, popoverButtonRef: popoverButtonRef }));
123
123
  default:
124
124
  return (_jsx(Menu, { scrollAt: '400', "data-test-id": 'action-menu', items: firstLevelActions.flat(), className: 'action-menu', focusControlEl: popoverButtonRef.current, onItemClick: id => {
@@ -153,7 +153,7 @@ export default function HeaderMenu({ column, popoverButtonRef }) {
153
153
  // Don't show the menu for columns which are of action type eg: rowActionMenu, rowDragDrop etc
154
154
  if (firstLevelActions.flat().length === 0 || field.type === FieldType.ACTION_FIELD_TYPE)
155
155
  return null;
156
- return (_jsxs("div", { className: 'header-menu', children: [_jsx(Button, { variant: 'simple', className: 'button-more', compact: true, icon: true, "aria-expanded": forceShowMenu, "aria-label": `${translate('Actions')} - ${column.categorizedHeaderLabel}`, label: !forceShowMenu ? `${translate('Actions')}` : undefined, ref: popoverButtonRef, "aria-describedby": sortDescriptionId, onClick: () => {
156
+ return (_jsxs("div", { className: 'header-menu', children: [_jsx(Button, { "data-testid": 'column-header-menu-button', variant: 'simple', className: 'button-more', compact: true, icon: true, "aria-expanded": forceShowMenu, "aria-label": `${translate('Actions')} - ${column.categorizedHeaderLabel}`, label: !forceShowMenu ? `${translate('Actions')}` : undefined, ref: popoverButtonRef, "aria-describedby": sortDescriptionId, onClick: () => {
157
157
  setMoreContent('default');
158
158
  setForceShowMenu(true);
159
159
  }, onKeyDown: e => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Components/HeaderMenu/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useMemo, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport {\n Icon,\n Popover,\n Menu,\n useElement,\n Button,\n VisuallyHiddenText,\n createUID,\n getActiveElement,\n useOuterEvent\n} from '@pega/cosmos-react-core';\nimport { removeEmptyValues, FieldType } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\nimport DynamicFieldConfiguration from '../DynamicFieldConfiguration';\nimport FilterComponent from '../Filters/Filter';\nimport RFColumnConfigurator from '../RFColumnConfigurator';\nimport GroupingMenu from '../Grouping/GroupingMenu';\n\nimport { getActions, customizeColumn } from './actions';\n\nconst Default = 'default';\nconst Filter = 'Filter';\nconst Grouping = 'Grouping';\nconst DynamicColumnLeft = 'Combine with left';\nconst DynamicColumnRight = 'Combine with right';\nconst CustomizeColumn = 'Format';\nconst sortActionStates = ['Sort-ascending', 'Sort-descending', 'Remove-sort'];\n\nconst ariaSort = {\n asc: 'ascending',\n desc: 'descending'\n};\n\nfunction getFirstLevelActions(actions) {\n return removeEmptyValues(\n actions.map(function mapper(s) {\n if (Array.isArray(s)) {\n return s.map(mapper);\n }\n const { id, icon, label, show = true, onClick, disabled } = s;\n if (!show) {\n return null;\n }\n return {\n 'data-test-id': id,\n primary: label,\n visual: <Icon name={icon} />,\n id: id.replaceAll(' ', '-'), // eg: Combine with right -> Combine-with-right\n onClick,\n disabled\n };\n })\n );\n}\n\nfunction getFocusables(elementRef) {\n return elementRef.querySelectorAll(\n 'a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]):not([readonly]), input:not([disabled]):not([readonly]), select:not([disabled]):not([readonly])'\n );\n}\n\nfunction headerMenuTabHandler(e, popperRef) {\n const focusables = getFocusables(popperRef);\n const { 0: firstFocusable, [focusables.length - 1]: lastFocusable } = focusables;\n const activeEl = getActiveElement();\n\n if (!e.shiftKey && (activeEl === popperRef || activeEl === lastFocusable)) {\n firstFocusable?.focus();\n e.preventDefault();\n } else if (e.shiftKey && (activeEl === popperRef || activeEl === firstFocusable)) {\n lastFocusable?.focus();\n e.preventDefault();\n }\n}\n\nexport default function HeaderMenu({ column, popoverButtonRef }) {\n const view = column.parent;\n const {\n state: { clearColFilter }\n } = view;\n const [translate] = useTranslate();\n const { field } = column;\n const uid = createUID();\n const sortDescriptionId = `${uid}_description`;\n const isClearColFilter = clearColFilter === field.id;\n const sort = ariaSort[column?.getSortProperties()?.sortOrder];\n const sortSequence = column?.getSortProperties()?.sortSequence;\n const filtered = column?.filtered;\n\n const [moreContent, setMoreContent] = useState(Default);\n const [forceShowMenu, setForceShowMenu] = useState(false);\n const [sortDescription, setSortDescription] = useState('');\n const [popperRef, setPopperRef] = useElement();\n\n const finishPopOver = useCallback(() => {\n if (moreContent === Filter && isClearColFilter) {\n view.type.clearFilter(null);\n }\n if (popperRef && popoverButtonRef.current) {\n popoverButtonRef.current.focus();\n }\n setForceShowMenu(false);\n }, [moreContent, isClearColFilter, view, popperRef, popoverButtonRef]);\n\n const onUndoHierarchy = useCallback(() => {\n column.parent?.type.clearHierarchicalGroup();\n finishPopOver();\n }, [column, finishPopOver]);\n\n useEffect(() => {\n let sortStr = '';\n if (sort) sortStr = `${translate('Sorted')} ${translate(sort)}`;\n if (sortSequence) sortStr += ` ${translate('Sort priority')} ${sortSequence}`;\n if (filtered) sortStr += ` ${translate('Filtered column')}`;\n setSortDescription(sortStr);\n }, [sort, sortSequence, filtered, translate]);\n\n const actions = useMemo(\n () =>\n getActions({\n column,\n setMoreContent,\n onUndoHierarchy,\n translate,\n finishPopOver\n }),\n [column, onUndoHierarchy, translate, finishPopOver]\n );\n\n const firstLevelActions = useMemo(() => getFirstLevelActions(actions), [actions]);\n\n const content = useMemo(() => {\n switch (moreContent) {\n case Filter:\n return (\n <FilterComponent\n column={column}\n finishPopOver={finishPopOver}\n popoverButtonRef={popoverButtonRef}\n />\n );\n case Grouping:\n return <GroupingMenu column={column} finishPopOver={finishPopOver} />;\n case DynamicColumnLeft:\n case DynamicColumnRight:\n return (\n <DynamicFieldConfiguration\n column={column}\n onSubmit={(title, templateName, bHideColumns) => {\n column.applyMerge(\n moreContent === DynamicColumnLeft ? 'left' : 'right',\n title,\n templateName,\n bHideColumns\n );\n finishPopOver();\n if (templateName === 'multiline') view.type.applyRowHeight('4');\n }}\n onCancel={finishPopOver}\n popoverButtonRef={popoverButtonRef}\n heading={`Combine with ${moreContent === DynamicColumnLeft ? 'left' : 'right'}`}\n />\n );\n case CustomizeColumn:\n return (\n <RFColumnConfigurator\n column={column}\n finishPopOver={finishPopOver}\n onSubmit={(rfName, columnAlias, displayMode) => {\n customizeColumn(column, rfName, displayMode, columnAlias, column.alias);\n }}\n onCancel={finishPopOver}\n popoverButtonRef={popoverButtonRef}\n />\n );\n default:\n return (\n <Menu\n scrollAt='400'\n data-test-id='action-menu'\n items={firstLevelActions.flat()}\n className='action-menu'\n focusControlEl={popoverButtonRef.current}\n onItemClick={id => {\n // NVDA/JAWS reading out the stale sort order on sort action\n // Removing intermediate sort state and adding back when we receive it from column prop\n if (sortActionStates.includes(id)) {\n setSortDescription('');\n }\n }}\n />\n );\n }\n }, [moreContent, column, finishPopOver, popoverButtonRef, firstLevelActions, view.type]);\n\n useOuterEvent('mousedown', [popperRef], () => {\n if (\n moreContent !== Filter &&\n moreContent !== 'Format' &&\n moreContent !== 'Combine with left' &&\n moreContent !== 'Combine with right'\n ) {\n finishPopOver();\n }\n });\n\n useEffect(() => {\n if (isClearColFilter) {\n setMoreContent(Filter);\n setForceShowMenu(true);\n }\n }, [isClearColFilter]);\n\n useEffect(() => {\n // Focus the first focusable element in nested menu content eg: filter,customize column etc\n if (moreContent && popperRef && moreContent !== 'default') {\n getFocusables(popperRef)?.[0]?.focus();\n }\n }, [forceShowMenu, popperRef, moreContent]);\n\n // Don't show the menu for columns which are of action type eg: rowActionMenu, rowDragDrop etc\n if (firstLevelActions.flat().length === 0 || field.type === FieldType.ACTION_FIELD_TYPE)\n return null;\n\n return (\n <div className='header-menu'>\n <Button\n variant='simple'\n className='button-more'\n compact\n icon\n aria-expanded={forceShowMenu}\n aria-label={`${translate('Actions')} - ${column.categorizedHeaderLabel}`}\n label={!forceShowMenu ? `${translate('Actions')}` : undefined}\n ref={popoverButtonRef}\n aria-describedby={sortDescriptionId}\n onClick={() => {\n setMoreContent('default');\n setForceShowMenu(true);\n }}\n onKeyDown={e => {\n if (forceShowMenu && e.key !== 'Enter') {\n // TODO remove preventDefault when popover steals the focus into its content\n e.preventDefault();\n }\n if (e.key === 'Escape' && forceShowMenu) {\n e.stopPropagation();\n setForceShowMenu(false);\n setPopperRef(null);\n }\n }}\n >\n <Icon name='more' />\n </Button>\n {forceShowMenu &&\n createPortal(\n <Popover\n className='popper'\n ref={setPopperRef}\n arrow\n target={popoverButtonRef.current}\n placement='bottom-start'\n hideOnTargetHidden\n // TODO: Consume FormDialog cosmos component in nested menu option renderers filter, group etc\n onKeyDown={e => {\n if (e.key === 'Escape' && forceShowMenu) {\n setForceShowMenu(false);\n setPopperRef(null);\n popoverButtonRef.current.focus();\n }\n if (e.key === 'Tab') {\n headerMenuTabHandler(e, popperRef);\n }\n }}\n >\n {content}\n </Popover>,\n column.parent.getDomContainer()\n )}\n\n <VisuallyHiddenText id={sortDescriptionId} aria-hidden>\n {sortDescription}\n </VisuallyHiddenText>\n </div>\n );\n}\n\nHeaderMenu.propTypes = {\n column: PropTypes.objectOf(PropTypes.any),\n popoverButtonRef: PropTypes.objectOf(PropTypes.any)\n};\n\nHeaderMenu.defaultProps = {\n column: {},\n popoverButtonRef: {}\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Components/HeaderMenu/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useMemo, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport {\n Icon,\n Popover,\n Menu,\n useElement,\n Button,\n VisuallyHiddenText,\n createUID,\n getActiveElement,\n useOuterEvent\n} from '@pega/cosmos-react-core';\nimport { removeEmptyValues, FieldType } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\nimport DynamicFieldConfiguration from '../DynamicFieldConfiguration';\nimport FilterComponent from '../Filters/Filter';\nimport RFColumnConfigurator from '../RFColumnConfigurator';\nimport GroupingMenu from '../Grouping/GroupingMenu';\n\nimport { getActions, customizeColumn } from './actions';\n\nconst Default = 'default';\nconst Filter = 'Filter';\nconst Grouping = 'Grouping';\nconst DynamicColumnLeft = 'Combine with left';\nconst DynamicColumnRight = 'Combine with right';\nconst CustomizeColumn = 'Format';\nconst sortActionStates = ['Sort-ascending', 'Sort-descending', 'Remove-sort'];\n\nconst ariaSort = {\n asc: 'Ascending',\n desc: 'Descending'\n};\n\nfunction getFirstLevelActions(actions) {\n return removeEmptyValues(\n actions.map(function mapper(s) {\n if (Array.isArray(s)) {\n return s.map(mapper);\n }\n const { id, icon, label, show = true, onClick, disabled } = s;\n if (!show) {\n return null;\n }\n return {\n 'data-test-id': id,\n primary: label,\n visual: <Icon name={icon} />,\n id: id.replaceAll(' ', '-'), // eg: Combine with right -> Combine-with-right\n onClick,\n disabled\n };\n })\n );\n}\n\nfunction getFocusables(elementRef) {\n return elementRef.querySelectorAll(\n 'a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]):not([readonly]), input:not([disabled]):not([readonly]), select:not([disabled]):not([readonly])'\n );\n}\n\nfunction headerMenuTabHandler(e, popperRef) {\n const focusables = getFocusables(popperRef);\n const { 0: firstFocusable, [focusables.length - 1]: lastFocusable } = focusables;\n const activeEl = getActiveElement();\n\n if (!e.shiftKey && (activeEl === popperRef || activeEl === lastFocusable)) {\n firstFocusable?.focus();\n e.preventDefault();\n } else if (e.shiftKey && (activeEl === popperRef || activeEl === firstFocusable)) {\n lastFocusable?.focus();\n e.preventDefault();\n }\n}\n\nexport default function HeaderMenu({ column, popoverButtonRef }) {\n const view = column.parent;\n const {\n state: { clearColFilter }\n } = view;\n const [translate] = useTranslate();\n const { field } = column;\n const uid = createUID();\n const sortDescriptionId = `${uid}_description`;\n const isClearColFilter = clearColFilter === field.id;\n const sort = ariaSort[column?.getSortProperties()?.sortOrder];\n const sortSequence = column?.getSortProperties()?.sortSequence;\n const filtered = column?.filtered;\n\n const [moreContent, setMoreContent] = useState(Default);\n const [forceShowMenu, setForceShowMenu] = useState(false);\n const [sortDescription, setSortDescription] = useState('');\n const [popperRef, setPopperRef] = useElement();\n\n const finishPopOver = useCallback(() => {\n if (moreContent === Filter && isClearColFilter) {\n view.type.clearFilter(null);\n }\n if (popperRef && popoverButtonRef.current) {\n popoverButtonRef.current.focus();\n }\n setForceShowMenu(false);\n }, [moreContent, isClearColFilter, view, popperRef, popoverButtonRef]);\n\n const onUndoHierarchy = useCallback(() => {\n column.parent?.type.clearHierarchicalGroup();\n finishPopOver();\n }, [column, finishPopOver]);\n\n useEffect(() => {\n let sortStr = '';\n if (sort) sortStr = `${translate('Sorted')} ${translate(sort)}`;\n if (sortSequence) sortStr += ` ${translate('Sort priority')} ${sortSequence}`;\n if (filtered) sortStr += ` ${translate('Filtered column')}`;\n setSortDescription(sortStr);\n }, [sort, sortSequence, filtered, translate]);\n\n const actions = useMemo(\n () =>\n getActions({\n column,\n setMoreContent,\n onUndoHierarchy,\n translate,\n finishPopOver\n }),\n [column, onUndoHierarchy, translate, finishPopOver]\n );\n\n const firstLevelActions = useMemo(() => getFirstLevelActions(actions), [actions]);\n\n const content = useMemo(() => {\n switch (moreContent) {\n case Filter:\n return (\n <FilterComponent\n column={column}\n finishPopOver={finishPopOver}\n popoverButtonRef={popoverButtonRef}\n />\n );\n case Grouping:\n return <GroupingMenu column={column} finishPopOver={finishPopOver} />;\n case DynamicColumnLeft:\n case DynamicColumnRight:\n return (\n <DynamicFieldConfiguration\n column={column}\n onSubmit={(title, templateName, bHideColumns) => {\n column.applyMerge(\n moreContent === DynamicColumnLeft ? 'left' : 'right',\n title,\n templateName,\n bHideColumns\n );\n finishPopOver();\n if (templateName === 'multiline') view.type.applyRowHeight('4');\n }}\n onCancel={finishPopOver}\n popoverButtonRef={popoverButtonRef}\n heading={`Combine with ${moreContent === DynamicColumnLeft ? 'left' : 'right'}`}\n />\n );\n case CustomizeColumn:\n return (\n <RFColumnConfigurator\n column={column}\n finishPopOver={finishPopOver}\n onSubmit={(rfConfig, columnAlias, displayMode) => {\n customizeColumn(column, rfConfig, displayMode, columnAlias, column.alias);\n }}\n onCancel={finishPopOver}\n popoverButtonRef={popoverButtonRef}\n />\n );\n default:\n return (\n <Menu\n scrollAt='400'\n data-test-id='action-menu'\n items={firstLevelActions.flat()}\n className='action-menu'\n focusControlEl={popoverButtonRef.current}\n onItemClick={id => {\n // NVDA/JAWS reading out the stale sort order on sort action\n // Removing intermediate sort state and adding back when we receive it from column prop\n if (sortActionStates.includes(id)) {\n setSortDescription('');\n }\n }}\n />\n );\n }\n }, [moreContent, column, finishPopOver, popoverButtonRef, firstLevelActions, view.type]);\n\n useOuterEvent('mousedown', [popperRef], () => {\n if (\n moreContent !== Filter &&\n moreContent !== 'Format' &&\n moreContent !== 'Combine with left' &&\n moreContent !== 'Combine with right'\n ) {\n finishPopOver();\n }\n });\n\n useEffect(() => {\n if (isClearColFilter) {\n setMoreContent(Filter);\n setForceShowMenu(true);\n }\n }, [isClearColFilter]);\n\n useEffect(() => {\n // Focus the first focusable element in nested menu content eg: filter,customize column etc\n if (moreContent && popperRef && moreContent !== 'default') {\n getFocusables(popperRef)?.[0]?.focus();\n }\n }, [forceShowMenu, popperRef, moreContent]);\n\n // Don't show the menu for columns which are of action type eg: rowActionMenu, rowDragDrop etc\n if (firstLevelActions.flat().length === 0 || field.type === FieldType.ACTION_FIELD_TYPE)\n return null;\n\n return (\n <div className='header-menu'>\n <Button\n data-testid='column-header-menu-button'\n variant='simple'\n className='button-more'\n compact\n icon\n aria-expanded={forceShowMenu}\n aria-label={`${translate('Actions')} - ${column.categorizedHeaderLabel}`}\n label={!forceShowMenu ? `${translate('Actions')}` : undefined}\n ref={popoverButtonRef}\n aria-describedby={sortDescriptionId}\n onClick={() => {\n setMoreContent('default');\n setForceShowMenu(true);\n }}\n onKeyDown={e => {\n if (forceShowMenu && e.key !== 'Enter') {\n // TODO remove preventDefault when popover steals the focus into its content\n e.preventDefault();\n }\n if (e.key === 'Escape' && forceShowMenu) {\n e.stopPropagation();\n setForceShowMenu(false);\n setPopperRef(null);\n }\n }}\n >\n <Icon name='more' />\n </Button>\n {forceShowMenu &&\n createPortal(\n <Popover\n className='popper'\n ref={setPopperRef}\n arrow\n target={popoverButtonRef.current}\n placement='bottom-start'\n hideOnTargetHidden\n // TODO: Consume FormDialog cosmos component in nested menu option renderers filter, group etc\n onKeyDown={e => {\n if (e.key === 'Escape' && forceShowMenu) {\n setForceShowMenu(false);\n setPopperRef(null);\n popoverButtonRef.current.focus();\n }\n if (e.key === 'Tab') {\n headerMenuTabHandler(e, popperRef);\n }\n }}\n >\n {content}\n </Popover>,\n column.parent.getDomContainer()\n )}\n\n <VisuallyHiddenText id={sortDescriptionId} aria-hidden>\n {sortDescription}\n </VisuallyHiddenText>\n </div>\n );\n}\n\nHeaderMenu.propTypes = {\n column: PropTypes.objectOf(PropTypes.any),\n popoverButtonRef: PropTypes.objectOf(PropTypes.any)\n};\n\nHeaderMenu.defaultProps = {\n column: {},\n popoverButtonRef: {}\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalGroupRenderer.d.ts","sourceRoot":"","sources":["../../../Core/Components/HierarchicalGroupRenderer.jsx"],"names":[],"mappings":"AAoIA;;;mDAyHC;;;;;;;;;AA/OM,kFAC0B;AAI1B,qCAEN;AA+OM;;;mDAqCN;;;;;;;;;;;;sBAzSqB,YAAY"}
1
+ {"version":3,"file":"HierarchicalGroupRenderer.d.ts","sourceRoot":"","sources":["../../../Core/Components/HierarchicalGroupRenderer.jsx"],"names":[],"mappings":"AAoIA;;;mDA2HC;;;;;;;;;AAjPM,kFAC0B;AAI1B,qCAEN;AAiPM;;;mDAuCN;;;;;;;;;;;;sBA7SqB,YAAY"}
@@ -191,7 +191,9 @@ export function HierarchicalGroupHeader({ groupHeader, columns }) {
191
191
  };
192
192
  };
193
193
  const renderHierarchicalCells = () => {
194
- return columns.map(column => {
194
+ return [...columns]
195
+ .sort((colA, colB) => colA.order - colB.order)
196
+ .map(column => {
195
197
  const columnRendererProps = getRenderingEnginePropsById(column.field.id);
196
198
  return (_jsx(HierarchicalCell, { column: column, columnRendererProps: columnRendererProps }, column.field.id));
197
199
  });
@@ -216,7 +218,9 @@ export const HierarchicalGroupFooter = ({ columns, groupHeader }) => {
216
218
  }, [groupHeader.isVisible, footerWidth]);
217
219
  if (!groupHeader.isVisible)
218
220
  return null;
219
- return (_jsxs(StyledHierarchicalGroupFooter, { groupHeader: groupHeader, className: cx('row hierarchical-group-footer-row'), labelLeft: labelLeft, "data-test-id": 'hierarchicalGroupFooter', children: [_jsx("div", { className: 'footer-label-container', children: _jsx("div", { ref: labelRef, className: 'label', children: groupHeader.name }) }), columns.map(c => {
221
+ return (_jsxs(StyledHierarchicalGroupFooter, { groupHeader: groupHeader, className: cx('row hierarchical-group-footer-row'), labelLeft: labelLeft, "data-test-id": 'hierarchicalGroupFooter', children: [_jsx("div", { className: 'footer-label-container', children: _jsx("div", { ref: labelRef, className: 'label', children: groupHeader.name }) }), [...columns]
222
+ .sort((colA, colB) => colA.order - colB.order)
223
+ .map(c => {
220
224
  const cxt = {
221
225
  getValue: () => groupHeader?.aggregation?.[c.field.name]?.[c.aggregationType?.toLowerCase()]
222
226
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalGroupRenderer.js","sourceRoot":"","sources":["../../../Core/Components/HierarchicalGroupRenderer.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useLayoutEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { Icon } from '@pega/cosmos-react-core';\nimport BareButton from '@pega/cosmos-react-core/lib/components/Button/BareButton';\nimport { getGroupFromKey } from 'pega-ui-list-data-apis';\n\nimport { createClassName as cx } from '../Utils';\n\nimport AggregatorCell from './AggregatorCell';\nimport RenderingEngine from './RenderingEngine/RenderCell';\nimport HierarchicalCell from './HierarchicalCell';\n\nexport const hierarchicalgroupheaderleftdisplacement = headerLevel =>\n `${(headerLevel + 1) * 1.5}rem`;\n\nlet counter = 0;\n\nexport const resetCounter = () => {\n counter = 0;\n};\n\nconst StyledHierarchicalGroupHeader = styled.div`\n --group-left: ${props => hierarchicalgroupheaderleftdisplacement(props.groupHeader.level)};\n --group-bg-color: ${props => {\n return props.theme.base.palette['primary-background'];\n }};\n background-color: var(--group-bg-color);\n\n &.row.sticky-group-header {\n position: sticky;\n top: calc(\n ${props =>\n props.groupHeader.isLeafNode && props.groupHeader.level !== 0\n ? 'calc(var(--row-height) + var(--group-header-height))'\n : 'var(--row-height)'}\n );\n z-index: ${props => {\n const zIndex = 5 + props.groupHeader.level + counter;\n if (props.groupHeader.isLeafNode) {\n counter += props.groupHeader.level;\n }\n return zIndex;\n }};\n > .cell-action {\n background-color: var(--group-bg-color);\n }\n }\n\n .group-label {\n width: 0.437rem;\n display: inline-block;\n }\n\n .group-context-count {\n font-weight: ${props => props.theme.base['font-weight'].bold};\n }\n\n .group-icon-spacer {\n padding-left: var(--icon-size);\n }\n\n .stickyGroupHeader {\n position: sticky;\n left: 0;\n width: 0;\n z-index: 10;\n border-bottom: var(--border-style);\n\n > button {\n color: currentColor;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n background-color: var(--group-bg-color);\n padding-left: var(--group-left);\n z-index: 30;\n cursor: pointer;\n white-space: nowrap;\n }\n button:focus {\n box-shadow: ${({ theme }) => theme.base.shadow.focus};\n }\n }\n .group-header.cell {\n width: ${props => props.groupWidth};\n left: 0;\n padding-left: var(--group-left);\n }\n\n div.group-header.cell-fixed {\n background-color: var(--group-bg-color);\n }\n`;\n\nconst StyledHierarchicalGroupFooter = styled.div`\n --group-bg-color: ${props => {\n return props.theme.base.palette['secondary-background'];\n }};\n background-color: var(--group-bg-color);\n\n &.row.hierarchical-group-footer-row {\n position: relative;\n > .cell-action {\n background-color: var(--group-bg-color);\n }\n }\n\n & .footer-label-container {\n position: sticky;\n top: 0;\n left: 0;\n width: 0;\n z-index: 5;\n & .label {\n position: absolute;\n background-color: var(--group-bg-color);\n height: calc(100% - var(--border-width));\n left: ${props => {\n return `${props.labelLeft}px`;\n }};\n width: max-content;\n /* stylelint-disable unit-allowed-list */\n padding: 0 5px;\n }\n }\n`;\n\nexport function HierarchicalGroupHeader({ groupHeader, columns }) {\n // TODO: This we are adding temporary to show freeze border until we make group header rendering change\n // when we will pick up aggregation.\n if (!groupHeader.isVisible) return null;\n let groupWidth = '';\n const view = columns[0].parent;\n let freezeColCount = 0;\n columns\n .filter(c => !c.hidden && c.frozen)\n .forEach(c => {\n groupWidth += `var(--col-width-${c.field.id}) + `;\n freezeColCount += 1;\n });\n if (freezeColCount > 0) groupWidth = `calc(${groupWidth.substr(0, groupWidth.length - 2)})`;\n\n const renderStickyHeader = () => {\n // If grouping by a regular column (i.e. without a dateFunction), determine props for the rendere\n const { columnId, dateFunction } =\n getGroupFromKey(groupHeader.groupBy, view.state.groups) ?? {};\n // if state.groups is not yet prepared/updated, then getGroupFromKey will return undefined\n if (!columnId) {\n return null;\n }\n let columnRendererProps;\n if (!dateFunction) {\n const column = columns.find(c => c.field.id === columnId);\n column.setExecutionContext(null); // If null is not set then it will execute on the previous row context and facing issues when cell is edited. Based on column.editMode and current context renderer varies (it can be cellEditRenderer)\n\n columnRendererProps = {\n ...column.getRenderingEngineProps(),\n context: {\n getValue: () => groupHeader.name,\n getExecutionContext: () => {\n return { getValue: () => groupHeader.data, name: 'groupHeader' };\n }\n }\n };\n }\n\n const formatter = view.getFormatterByKey('Integer');\n const { locale } = view.meta;\n const groupCountFormatted = formatter\n ? formatter(groupHeader.count, { locale })\n : groupHeader.count;\n const expandCollapseIcon = groupHeader.isExpanded ? (\n <Icon name='caret-down' />\n ) : (\n <Icon name='caret-right' />\n );\n\n return (\n <div className='stickyGroupHeader'>\n <BareButton\n aria-label={`${groupHeader.label} ${groupCountFormatted} items`}\n style={{\n paddingRight: '3px',\n maxWidth: freezeColCount > 0 ? groupWidth : 'auto'\n }}\n onClick={() => view.type.toggleGroupExpansion({ groupHeader })}\n >\n {groupHeader.count > 0 ? expandCollapseIcon : <div className='group-icon-spacer' />}\n <div className='group-wrapper'>\n <div className='group-label' />\n <span className='group-context-count' style={{ display: 'inline-flex' }}>\n <RenderingEngine {...columnRendererProps} highlighter />\n </span>\n </div>\n </BareButton>\n </div>\n );\n };\n\n const getRenderingEnginePropsById = id => {\n const column = columns.find(c => c.field.id === id);\n const columnContext = column.getContext();\n const parentContext = columnContext.getParentContext();\n\n return {\n ...column.getRenderingEngineProps(),\n context: {\n getValue: () => {\n return groupHeader.info[column.field?.name];\n },\n getExecutionContext: () => {\n return { getValue: () => groupHeader.info, name: 'groupHeader' };\n },\n getParentContext: () => {\n return {\n ...parentContext,\n getRenderingEnginePropsById\n };\n }\n }\n };\n };\n\n const renderHierarchicalCells = () => {\n return columns.map(column => {\n const columnRendererProps = getRenderingEnginePropsById(column.field.id);\n\n return (\n <HierarchicalCell\n key={column.field.id}\n column={column}\n columnRendererProps={columnRendererProps}\n />\n );\n });\n };\n\n return (\n <StyledHierarchicalGroupHeader\n groupHeader={groupHeader}\n groupWidth={groupWidth}\n className={cx('row hierarchical-group-header-row sticky-group-header')}\n data-test-id='hierarchicalGroupHeader'\n >\n {renderStickyHeader()}\n {renderHierarchicalCells()}\n </StyledHierarchicalGroupHeader>\n );\n}\n\nHierarchicalGroupHeader.propTypes = {\n columns: PropTypes.arrayOf(PropTypes.any).isRequired,\n groupHeader: PropTypes.objectOf(PropTypes.any).isRequired\n};\n\nexport const HierarchicalGroupFooter = ({ columns, groupHeader }) => {\n const labelRef = useRef(null);\n const [labelLeft, setLabelLeft] = useState(0);\n const view = columns[0].parent;\n const parentContainer = view.virtualizeElements.rootVirtualiser?.getParentContainer();\n const footerWidth = parentContainer?.clientWidth;\n\n useLayoutEffect(() => {\n if (labelRef.current) {\n const { width } = labelRef.current.getBoundingClientRect();\n setLabelLeft(footerWidth - width - 5);\n }\n }, [groupHeader.isVisible, footerWidth]);\n\n if (!groupHeader.isVisible) return null;\n\n return (\n <StyledHierarchicalGroupFooter\n groupHeader={groupHeader}\n className={cx('row hierarchical-group-footer-row')}\n labelLeft={labelLeft}\n data-test-id='hierarchicalGroupFooter'\n >\n <div className='footer-label-container'>\n <div ref={labelRef} className='label'>\n {groupHeader.name}\n </div>\n </div>\n {columns.map(c => {\n const cxt = {\n getValue: () =>\n groupHeader?.aggregation?.[c.field.name]?.[c.aggregationType?.toLowerCase()]\n };\n return <AggregatorCell key={c.field.id} column={c} context={cxt} />;\n })}\n </StyledHierarchicalGroupFooter>\n );\n};\n\nHierarchicalGroupFooter.propTypes = {\n columns: PropTypes.arrayOf(PropTypes.any).isRequired,\n groupHeader: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
1
+ {"version":3,"file":"HierarchicalGroupRenderer.js","sourceRoot":"","sources":["../../../Core/Components/HierarchicalGroupRenderer.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useLayoutEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { Icon } from '@pega/cosmos-react-core';\nimport BareButton from '@pega/cosmos-react-core/lib/components/Button/BareButton';\nimport { getGroupFromKey } from 'pega-ui-list-data-apis';\n\nimport { createClassName as cx } from '../Utils';\n\nimport AggregatorCell from './AggregatorCell';\nimport RenderingEngine from './RenderingEngine/RenderCell';\nimport HierarchicalCell from './HierarchicalCell';\n\nexport const hierarchicalgroupheaderleftdisplacement = headerLevel =>\n `${(headerLevel + 1) * 1.5}rem`;\n\nlet counter = 0;\n\nexport const resetCounter = () => {\n counter = 0;\n};\n\nconst StyledHierarchicalGroupHeader = styled.div`\n --group-left: ${props => hierarchicalgroupheaderleftdisplacement(props.groupHeader.level)};\n --group-bg-color: ${props => {\n return props.theme.base.palette['primary-background'];\n }};\n background-color: var(--group-bg-color);\n\n &.row.sticky-group-header {\n position: sticky;\n top: calc(\n ${props =>\n props.groupHeader.isLeafNode && props.groupHeader.level !== 0\n ? 'calc(var(--row-height) + var(--group-header-height))'\n : 'var(--row-height)'}\n );\n z-index: ${props => {\n const zIndex = 5 + props.groupHeader.level + counter;\n if (props.groupHeader.isLeafNode) {\n counter += props.groupHeader.level;\n }\n return zIndex;\n }};\n > .cell-action {\n background-color: var(--group-bg-color);\n }\n }\n\n .group-label {\n width: 0.437rem;\n display: inline-block;\n }\n\n .group-context-count {\n font-weight: ${props => props.theme.base['font-weight'].bold};\n }\n\n .group-icon-spacer {\n padding-left: var(--icon-size);\n }\n\n .stickyGroupHeader {\n position: sticky;\n left: 0;\n width: 0;\n z-index: 10;\n border-bottom: var(--border-style);\n\n > button {\n color: currentColor;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n background-color: var(--group-bg-color);\n padding-left: var(--group-left);\n z-index: 30;\n cursor: pointer;\n white-space: nowrap;\n }\n button:focus {\n box-shadow: ${({ theme }) => theme.base.shadow.focus};\n }\n }\n .group-header.cell {\n width: ${props => props.groupWidth};\n left: 0;\n padding-left: var(--group-left);\n }\n\n div.group-header.cell-fixed {\n background-color: var(--group-bg-color);\n }\n`;\n\nconst StyledHierarchicalGroupFooter = styled.div`\n --group-bg-color: ${props => {\n return props.theme.base.palette['secondary-background'];\n }};\n background-color: var(--group-bg-color);\n\n &.row.hierarchical-group-footer-row {\n position: relative;\n > .cell-action {\n background-color: var(--group-bg-color);\n }\n }\n\n & .footer-label-container {\n position: sticky;\n top: 0;\n left: 0;\n width: 0;\n z-index: 5;\n & .label {\n position: absolute;\n background-color: var(--group-bg-color);\n height: calc(100% - var(--border-width));\n left: ${props => {\n return `${props.labelLeft}px`;\n }};\n width: max-content;\n /* stylelint-disable unit-allowed-list */\n padding: 0 5px;\n }\n }\n`;\n\nexport function HierarchicalGroupHeader({ groupHeader, columns }) {\n // TODO: This we are adding temporary to show freeze border until we make group header rendering change\n // when we will pick up aggregation.\n if (!groupHeader.isVisible) return null;\n let groupWidth = '';\n const view = columns[0].parent;\n let freezeColCount = 0;\n columns\n .filter(c => !c.hidden && c.frozen)\n .forEach(c => {\n groupWidth += `var(--col-width-${c.field.id}) + `;\n freezeColCount += 1;\n });\n if (freezeColCount > 0) groupWidth = `calc(${groupWidth.substr(0, groupWidth.length - 2)})`;\n\n const renderStickyHeader = () => {\n // If grouping by a regular column (i.e. without a dateFunction), determine props for the rendere\n const { columnId, dateFunction } =\n getGroupFromKey(groupHeader.groupBy, view.state.groups) ?? {};\n // if state.groups is not yet prepared/updated, then getGroupFromKey will return undefined\n if (!columnId) {\n return null;\n }\n let columnRendererProps;\n if (!dateFunction) {\n const column = columns.find(c => c.field.id === columnId);\n column.setExecutionContext(null); // If null is not set then it will execute on the previous row context and facing issues when cell is edited. Based on column.editMode and current context renderer varies (it can be cellEditRenderer)\n\n columnRendererProps = {\n ...column.getRenderingEngineProps(),\n context: {\n getValue: () => groupHeader.name,\n getExecutionContext: () => {\n return { getValue: () => groupHeader.data, name: 'groupHeader' };\n }\n }\n };\n }\n\n const formatter = view.getFormatterByKey('Integer');\n const { locale } = view.meta;\n const groupCountFormatted = formatter\n ? formatter(groupHeader.count, { locale })\n : groupHeader.count;\n const expandCollapseIcon = groupHeader.isExpanded ? (\n <Icon name='caret-down' />\n ) : (\n <Icon name='caret-right' />\n );\n\n return (\n <div className='stickyGroupHeader'>\n <BareButton\n aria-label={`${groupHeader.label} ${groupCountFormatted} items`}\n style={{\n paddingRight: '3px',\n maxWidth: freezeColCount > 0 ? groupWidth : 'auto'\n }}\n onClick={() => view.type.toggleGroupExpansion({ groupHeader })}\n >\n {groupHeader.count > 0 ? expandCollapseIcon : <div className='group-icon-spacer' />}\n <div className='group-wrapper'>\n <div className='group-label' />\n <span className='group-context-count' style={{ display: 'inline-flex' }}>\n <RenderingEngine {...columnRendererProps} highlighter />\n </span>\n </div>\n </BareButton>\n </div>\n );\n };\n\n const getRenderingEnginePropsById = id => {\n const column = columns.find(c => c.field.id === id);\n const columnContext = column.getContext();\n const parentContext = columnContext.getParentContext();\n\n return {\n ...column.getRenderingEngineProps(),\n context: {\n getValue: () => {\n return groupHeader.info[column.field?.name];\n },\n getExecutionContext: () => {\n return { getValue: () => groupHeader.info, name: 'groupHeader' };\n },\n getParentContext: () => {\n return {\n ...parentContext,\n getRenderingEnginePropsById\n };\n }\n }\n };\n };\n\n const renderHierarchicalCells = () => {\n return [...columns]\n .sort((colA, colB) => colA.order - colB.order)\n .map(column => {\n const columnRendererProps = getRenderingEnginePropsById(column.field.id);\n\n return (\n <HierarchicalCell\n key={column.field.id}\n column={column}\n columnRendererProps={columnRendererProps}\n />\n );\n });\n };\n\n return (\n <StyledHierarchicalGroupHeader\n groupHeader={groupHeader}\n groupWidth={groupWidth}\n className={cx('row hierarchical-group-header-row sticky-group-header')}\n data-test-id='hierarchicalGroupHeader'\n >\n {renderStickyHeader()}\n {renderHierarchicalCells()}\n </StyledHierarchicalGroupHeader>\n );\n}\n\nHierarchicalGroupHeader.propTypes = {\n columns: PropTypes.arrayOf(PropTypes.any).isRequired,\n groupHeader: PropTypes.objectOf(PropTypes.any).isRequired\n};\n\nexport const HierarchicalGroupFooter = ({ columns, groupHeader }) => {\n const labelRef = useRef(null);\n const [labelLeft, setLabelLeft] = useState(0);\n const view = columns[0].parent;\n const parentContainer = view.virtualizeElements.rootVirtualiser?.getParentContainer();\n const footerWidth = parentContainer?.clientWidth;\n\n useLayoutEffect(() => {\n if (labelRef.current) {\n const { width } = labelRef.current.getBoundingClientRect();\n setLabelLeft(footerWidth - width - 5);\n }\n }, [groupHeader.isVisible, footerWidth]);\n\n if (!groupHeader.isVisible) return null;\n\n return (\n <StyledHierarchicalGroupFooter\n groupHeader={groupHeader}\n className={cx('row hierarchical-group-footer-row')}\n labelLeft={labelLeft}\n data-test-id='hierarchicalGroupFooter'\n >\n <div className='footer-label-container'>\n <div ref={labelRef} className='label'>\n {groupHeader.name}\n </div>\n </div>\n {[...columns]\n .sort((colA, colB) => colA.order - colB.order)\n .map(c => {\n const cxt = {\n getValue: () =>\n groupHeader?.aggregation?.[c.field.name]?.[c.aggregationType?.toLowerCase()]\n };\n return <AggregatorCell key={c.field.id} column={c} context={cxt} />;\n })}\n </StyledHierarchicalGroupFooter>\n );\n};\n\nHierarchicalGroupFooter.propTypes = {\n columns: PropTypes.arrayOf(PropTypes.any).isRequired,\n groupHeader: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
@@ -21,7 +21,7 @@ export default function NotificationManager({ view }) {
21
21
  if (!activeNotifications.has(id)) {
22
22
  const timeoutID = setTimeout(() => {
23
23
  onDismiss({ id });
24
- }, 1 * 3000);
24
+ }, 1 * 7500);
25
25
  push({
26
26
  content,
27
27
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationManager.js","sourceRoot":"","sources":["../../../Core/Components/NotificationManager.js"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE;IAClD,MAAM,EAAE,KAAK,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;IAE9B,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAE1E,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACjC,gFAAgF;QAChF,UAAU,CAAC,GAAG,EAAE;YACd,sBAAsB,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACnC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC;YAErC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACb,IAAI,CAAC;oBACH,OAAO;oBACP,EAAE;oBACF,SAAS;oBACT,YAAY,EAAE,IAAI;oBAClB,SAAS;iBACV,CAAC,CAAC;gBACH,sBAAsB,CAAC,IAAI,CAAC,EAAE;oBAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACb,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mBAAmB,CAAC,SAAS,GAAG;IAC9B,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;CACnD,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport { useEffect, useState } from 'react';\n\nimport { useToaster } from '@pega/cosmos-react-core';\n\nexport default function NotificationManager({ view }) {\n const { state: { notifications = [] } = {} } = view;\n const { push } = useToaster();\n\n const [activeNotifications, setActiveNotifications] = useState(new Set());\n\n const onDismiss = ({ id }) => {\n view.type.removeNotification(id);\n // Remove myself once event loop is free to ensure race conditions are not faced\n setTimeout(() => {\n setActiveNotifications(msgs => {\n msgs.delete(id);\n return new Set(msgs);\n });\n });\n };\n\n useEffect(() => {\n notifications.forEach(notification => {\n const { content, id } = notification;\n\n if (!activeNotifications.has(id)) {\n const timeoutID = setTimeout(() => {\n onDismiss({ id });\n }, 1 * 3000);\n push({\n content,\n id,\n onDismiss,\n dismissAfter: null,\n timeoutID\n });\n setActiveNotifications(msgs => {\n msgs.add(id);\n return new Set(msgs);\n });\n }\n });\n });\n\n return null;\n}\n\nNotificationManager.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
1
+ {"version":3,"file":"NotificationManager.js","sourceRoot":"","sources":["../../../Core/Components/NotificationManager.js"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE;IAClD,MAAM,EAAE,KAAK,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;IAE9B,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAE1E,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACjC,gFAAgF;QAChF,UAAU,CAAC,GAAG,EAAE;YACd,sBAAsB,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACnC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC;YAErC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAChC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACb,IAAI,CAAC;oBACH,OAAO;oBACP,EAAE;oBACF,SAAS;oBACT,YAAY,EAAE,IAAI;oBAClB,SAAS;iBACV,CAAC,CAAC;gBACH,sBAAsB,CAAC,IAAI,CAAC,EAAE;oBAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACb,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mBAAmB,CAAC,SAAS,GAAG;IAC9B,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;CACnD,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport { useEffect, useState } from 'react';\n\nimport { useToaster } from '@pega/cosmos-react-core';\n\nexport default function NotificationManager({ view }) {\n const { state: { notifications = [] } = {} } = view;\n const { push } = useToaster();\n\n const [activeNotifications, setActiveNotifications] = useState(new Set());\n\n const onDismiss = ({ id }) => {\n view.type.removeNotification(id);\n // Remove myself once event loop is free to ensure race conditions are not faced\n setTimeout(() => {\n setActiveNotifications(msgs => {\n msgs.delete(id);\n return new Set(msgs);\n });\n });\n };\n\n useEffect(() => {\n notifications.forEach(notification => {\n const { content, id } = notification;\n\n if (!activeNotifications.has(id)) {\n const timeoutID = setTimeout(() => {\n onDismiss({ id });\n }, 1 * 7500);\n push({\n content,\n id,\n onDismiss,\n dismissAfter: null,\n timeoutID\n });\n setActiveNotifications(msgs => {\n msgs.add(id);\n return new Set(msgs);\n });\n }\n });\n });\n\n return null;\n}\n\nNotificationManager.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RFColumnConfigurator.d.ts","sourceRoot":"","sources":["../../../Core/Components/RFColumnConfigurator.jsx"],"names":[],"mappings":"AAwJA;;;;;;4CAgDC;;;;;;;;;;;;sBAvMqB,YAAY"}
1
+ {"version":3,"file":"RFColumnConfigurator.d.ts","sourceRoot":"","sources":["../../../Core/Components/RFColumnConfigurator.jsx"],"names":[],"mappings":"AAqKA;;;;;;4CA4EC;;;;;;;;;;;;sBAhPqB,YAAY"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { memo, useState, useCallback } from 'react';
2
+ import { memo, useState, useCallback, useRef } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import styled from 'styled-components';
5
+ import fastDeepEqual from 'fast-deep-equal/es6';
5
6
  import { Input, Button, Select, Option, FormDialog } from '@pega/cosmos-react-core';
6
7
  import useTranslate from '../Hooks/useTranslate';
7
8
  import { DEFAULT_FORMAT } from '../constants';
@@ -30,14 +31,16 @@ Footer.propTypes = {
30
31
  };
31
32
  const defaultDisplayMode = 'Normal';
32
33
  const displayModes = [defaultDisplayMode, 'Hierarchical'];
33
- const Body = memo(({ column, rfName, columnAlias, displayMode, onRFChange, oncolumnAliasChange, onDisplayModeChange }) => {
34
+ const Body = memo(({ column, rfName, columnAlias, displayMode, onRFChange, setRFConfig, rfConfig, oncolumnAliasChange, onDisplayModeChange, formatterRef }) => {
34
35
  const renderFormatters = column.getRenderFormatters();
35
- const isDefaultFormatterExist = renderFormatters?.find(formatter => formatter.label === DEFAULT_FORMAT);
36
+ const componentName = renderFormatters?.find(f => f.value === rfName)?.component;
37
+ const Component = componentName && column.renderFactory?.(componentName);
38
+ const isDefaultFormatterExist = renderFormatters?.find(formatter => formatter.isDefault || formatter.label === DEFAULT_FORMAT);
36
39
  const renderDisplayMode = column.renderDisplayMode();
37
40
  const [translate] = useTranslate();
38
41
  const label = getFieldLabel(column.field);
39
42
  const showFormatter = column.formatterName !== 'UserReference' && !column.field.disableFormatting;
40
- return (_jsxs(_Fragment, { children: [_jsx(StyledRow, { children: _jsx(Input, { type: 'text', label: translate('Field'), value: label, readOnly: true }) }), _jsx(StyledRow, { children: _jsx(Input, { id: 'customise-label', type: 'text', label: translate('Alias'), onChange: oncolumnAliasChange, placeholder: translate('Enter alias'), value: columnAlias, "data-test-id": 'Customise label' }) }), showFormatter && renderFormatters && (_jsx(StyledRow, { children: _jsxs(Select, { id: 'select-customised-format', label: translate('Format'), onChange: onRFChange, value: rfName || '', "data-test-id": 'Customise format', children: [!isDefaultFormatterExist && (_jsx(Option, { value: DEFAULT_FORMAT, children: translate(DEFAULT_FORMAT) }, DEFAULT_FORMAT)), renderFormatters?.map(v => (_jsx(Option, { value: v.value, children: translate(v.label) }, v.value)))] }) })), renderDisplayMode && (_jsx(StyledRow, { children: _jsx(Select, { id: 'select-customised-display', label: translate('Display'), onChange: onDisplayModeChange, value: displayMode || defaultDisplayMode, "data-test-id": 'Customise display', children: displayModes.map(mode => (_jsx(Option, { value: mode, children: translate(mode) }, mode))) }) }))] }));
43
+ return (_jsxs(_Fragment, { children: [_jsx(StyledRow, { children: _jsx(Input, { type: 'text', label: translate('Field'), value: label, readOnly: true }) }), _jsx(StyledRow, { children: _jsx(Input, { id: 'customise-label', type: 'text', label: translate('Alias'), onChange: oncolumnAliasChange, placeholder: translate('Enter alias'), value: columnAlias, "data-test-id": 'Customise label' }) }), showFormatter && renderFormatters && (_jsx(StyledRow, { children: _jsxs(Select, { id: 'select-customised-format', label: translate('Format'), onChange: onRFChange, value: rfName || '', "data-test-id": 'Customise format', children: [!isDefaultFormatterExist && (_jsx(Option, { value: DEFAULT_FORMAT, children: translate(DEFAULT_FORMAT) }, DEFAULT_FORMAT)), renderFormatters?.map(v => (_jsx(Option, { value: v.value, children: translate(v.label) }, v.value)))] }) })), Component && (_jsx(Component, { ref: formatterRef, formatting: { type: rfName, config: rfConfig }, onChange: setRFConfig })), renderDisplayMode && (_jsx(StyledRow, { children: _jsx(Select, { id: 'select-customised-display', label: translate('Display'), onChange: onDisplayModeChange, value: displayMode || defaultDisplayMode, "data-test-id": 'Customise display', children: displayModes.map(mode => (_jsx(Option, { value: mode, children: translate(mode) }, mode))) }) }))] }));
41
44
  });
42
45
  Body.displayName = 'Body';
43
46
  Body.propTypes = {
@@ -60,19 +63,39 @@ Body.defaultProps = {
60
63
  };
61
64
  export default function RFColumnConfigurator({ column, onCancel, onSubmit, finishPopOver, popoverButtonRef }) {
62
65
  const [columnAlias, setColumnAlias] = useState(column.alias || '');
63
- const [rfName, setRFName] = useState(column.formatterName || DEFAULT_FORMAT);
66
+ const renderFormatters = column.getRenderFormatters();
67
+ const [rfName, setRFName] = useState((typeof column.formatterConfig === 'string'
68
+ ? column.formatterConfig
69
+ : column.formatterConfig?.type) || DEFAULT_FORMAT);
70
+ const [rfConfig, setRFConfig] = useState(column.formatterConfig?.config !== undefined
71
+ ? column.formatterConfig?.config
72
+ : renderFormatters?.find(f => f.value === rfName)?.defaultConfig);
73
+ const formatterRef = useRef(null);
64
74
  const [displayMode, setDisplayMode] = useState(column.displayMode);
65
75
  const [translate] = useTranslate();
66
76
  const onSubmitChanges = useCallback(() => {
67
- const isRFChanged = rfName !== column.formatterName;
77
+ // Validating whether formatter settings are valid or not
78
+ if (formatterRef.current?.validate && !formatterRef.current.validate())
79
+ return;
80
+ const isRFNameChanged = rfName !==
81
+ (typeof column.formatterConfig === 'string'
82
+ ? column.formatterConfig
83
+ : column.formatterConfig?.type);
84
+ const isRFConfigChanged = !fastDeepEqual(rfConfig, column.formatterConfig?.config); // can be undefined
85
+ const isRFChanged = isRFNameChanged || isRFConfigChanged;
68
86
  const isLableChanged = columnAlias.trim() !== column.alias?.trim(); // can be undefined
69
87
  const isDisplayChanged = displayMode !== column.displayMode;
70
88
  if (isRFChanged || isLableChanged || isDisplayChanged) {
71
- onSubmit(isRFChanged ? rfName : undefined, columnAlias, isDisplayChanged ? displayMode : undefined);
89
+ onSubmit(
90
+ // eslint-disable-next-line no-nested-ternary
91
+ isRFChanged ? (rfConfig ? { type: rfName, config: rfConfig } : rfName) : undefined, columnAlias, isDisplayChanged ? displayMode : undefined);
72
92
  }
73
93
  finishPopOver();
74
- }, [column, onSubmit, rfName, columnAlias, finishPopOver, displayMode]);
75
- return (_jsx(_Fragment, { children: popoverButtonRef.current ? (_jsx(FormDialog, { heading: translate('Format'), onSubmit: onSubmitChanges, onCancel: onCancel, target: popoverButtonRef.current, children: _jsx(Body, { column: column, rfName: rfName, columnAlias: columnAlias, displayMode: displayMode, onRFChange: e => setRFName(e.target.value), oncolumnAliasChange: e => setColumnAlias(e.target.value), onDisplayModeChange: e => setDisplayMode(e.target.value) }) })) : null }));
94
+ }, [column, onSubmit, rfName, columnAlias, finishPopOver, displayMode, rfConfig]);
95
+ return (_jsx(_Fragment, { children: popoverButtonRef.current ? (_jsx(FormDialog, { heading: translate('Format'), onSubmit: onSubmitChanges, onCancel: onCancel, target: popoverButtonRef.current, children: _jsx(Body, { column: column, rfName: rfName, columnAlias: columnAlias, displayMode: displayMode, onRFChange: e => {
96
+ setRFName(e.target.value);
97
+ setRFConfig(renderFormatters?.find(f => f.value === e.target.value)?.defaultConfig);
98
+ }, setRFConfig: setRFConfig, rfConfig: rfConfig, oncolumnAliasChange: e => setColumnAlias(e.target.value), onDisplayModeChange: e => setDisplayMode(e.target.value), formatterRef: formatterRef }) })) : null }));
76
99
  }
77
100
  RFColumnConfigurator.propTypes = {
78
101
  column: PropTypes.objectOf(PropTypes.any).isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"RFColumnConfigurator.js","sourceRoot":"","sources":["../../../Core/Components/RFColumnConfigurator.jsx"],"names":[],"mappings":"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","sourcesContent":["import { memo, useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport { Input, Button, Select, Option, FormDialog } from '@pega/cosmos-react-core';\n\nimport useTranslate from '../Hooks/useTranslate';\nimport { DEFAULT_FORMAT } from '../constants';\n\nconst StyledRow = styled.div`\n margin: 0.625rem 0;\n`;\n\n// Returns user friendly label from field information\nfunction getFieldLabel(field) {\n // Add category information (if applicable)\n if (field.category && field.category.length) {\n const combinedCategories = field.category\n .map(currentCategory => currentCategory.label)\n .join('.');\n return `${combinedCategories}.${field.label}`;\n }\n\n return `${field.label}`;\n}\n\nconst Footer = memo(({ cancel, submit }) => {\n const [translate] = useTranslate();\n return (\n <footer>\n <Button onClick={cancel} data-test-id='cancel'>\n {translate('Cancel')}\n </Button>\n <Button variant='primary' onClick={submit} data-test-id='submit'>\n {translate('Submit')}\n </Button>\n </footer>\n );\n});\n\nFooter.displayName = 'Footer';\n\nFooter.propTypes = {\n cancel: PropTypes.func.isRequired,\n submit: PropTypes.func.isRequired\n};\n\nconst defaultDisplayMode = 'Normal';\nconst displayModes = [defaultDisplayMode, 'Hierarchical'];\n\nconst Body = memo(\n ({\n column,\n rfName,\n columnAlias,\n displayMode,\n onRFChange,\n oncolumnAliasChange,\n onDisplayModeChange\n }) => {\n const renderFormatters = column.getRenderFormatters();\n const isDefaultFormatterExist = renderFormatters?.find(\n formatter => formatter.label === DEFAULT_FORMAT\n );\n const renderDisplayMode = column.renderDisplayMode();\n const [translate] = useTranslate();\n const label = getFieldLabel(column.field);\n const showFormatter =\n column.formatterName !== 'UserReference' && !column.field.disableFormatting;\n return (\n <>\n <StyledRow>\n <Input type='text' label={translate('Field')} value={label} readOnly />\n </StyledRow>\n <StyledRow>\n <Input\n id='customise-label'\n type='text'\n label={translate('Alias')}\n onChange={oncolumnAliasChange}\n placeholder={translate('Enter alias')}\n value={columnAlias}\n data-test-id='Customise label'\n />\n </StyledRow>\n\n {showFormatter && renderFormatters && (\n <StyledRow>\n <Select\n id='select-customised-format'\n label={translate('Format')}\n onChange={onRFChange}\n value={rfName || ''}\n data-test-id='Customise format'\n >\n {!isDefaultFormatterExist && (\n <Option key={DEFAULT_FORMAT} value={DEFAULT_FORMAT}>\n {translate(DEFAULT_FORMAT)}\n </Option>\n )}\n {renderFormatters?.map(v => (\n <Option key={v.value} value={v.value}>\n {translate(v.label)}\n </Option>\n ))}\n </Select>\n </StyledRow>\n )}\n {renderDisplayMode && (\n <StyledRow>\n <Select\n id='select-customised-display'\n label={translate('Display')}\n onChange={onDisplayModeChange}\n value={displayMode || defaultDisplayMode}\n data-test-id='Customise display'\n >\n {displayModes.map(mode => (\n <Option key={mode} value={mode}>\n {translate(mode)}\n </Option>\n ))}\n </Select>\n </StyledRow>\n )}\n </>\n );\n }\n);\n\nBody.displayName = 'Body';\n\nBody.propTypes = {\n column: PropTypes.objectOf(PropTypes.any),\n rfName: PropTypes.string,\n columnAlias: PropTypes.string,\n onRFChange: PropTypes.func,\n oncolumnAliasChange: PropTypes.func,\n displayMode: PropTypes.string,\n onDisplayModeChange: PropTypes.func\n};\n\nBody.defaultProps = {\n column: {},\n rfName: '',\n columnAlias: '',\n onRFChange: () => {},\n oncolumnAliasChange: () => {},\n displayMode: defaultDisplayMode,\n onDisplayModeChange: () => {}\n};\n\nexport default function RFColumnConfigurator({\n column,\n onCancel,\n onSubmit,\n finishPopOver,\n popoverButtonRef\n}) {\n const [columnAlias, setColumnAlias] = useState(column.alias || '');\n const [rfName, setRFName] = useState(column.formatterName || DEFAULT_FORMAT);\n const [displayMode, setDisplayMode] = useState(column.displayMode);\n const [translate] = useTranslate();\n const onSubmitChanges = useCallback(() => {\n const isRFChanged = rfName !== column.formatterName;\n const isLableChanged = columnAlias.trim() !== column.alias?.trim(); // can be undefined\n const isDisplayChanged = displayMode !== column.displayMode;\n\n if (isRFChanged || isLableChanged || isDisplayChanged) {\n onSubmit(\n isRFChanged ? rfName : undefined,\n columnAlias,\n isDisplayChanged ? displayMode : undefined\n );\n }\n finishPopOver();\n }, [column, onSubmit, rfName, columnAlias, finishPopOver, displayMode]);\n\n return (\n <>\n {popoverButtonRef.current ? (\n <FormDialog\n heading={translate('Format')}\n onSubmit={onSubmitChanges}\n onCancel={onCancel}\n target={popoverButtonRef.current}\n >\n <Body\n column={column}\n rfName={rfName}\n columnAlias={columnAlias}\n displayMode={displayMode}\n onRFChange={e => setRFName(e.target.value)}\n oncolumnAliasChange={e => setColumnAlias(e.target.value)}\n onDisplayModeChange={e => setDisplayMode(e.target.value)}\n />\n </FormDialog>\n ) : null}\n </>\n );\n}\n\nRFColumnConfigurator.propTypes = {\n column: PropTypes.objectOf(PropTypes.any).isRequired,\n onCancel: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n finishPopOver: PropTypes.func.isRequired\n};\n"]}
1
+ {"version":3,"file":"RFColumnConfigurator.js","sourceRoot":"","sources":["../../../Core/Components/RFColumnConfigurator.jsx"],"names":[],"mappings":"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","sourcesContent":["import { memo, useState, useCallback, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\nimport { Input, Button, Select, Option, FormDialog } from '@pega/cosmos-react-core';\n\nimport useTranslate from '../Hooks/useTranslate';\nimport { DEFAULT_FORMAT } from '../constants';\n\nconst StyledRow = styled.div`\n margin: 0.625rem 0;\n`;\n\n// Returns user friendly label from field information\nfunction getFieldLabel(field) {\n // Add category information (if applicable)\n if (field.category && field.category.length) {\n const combinedCategories = field.category\n .map(currentCategory => currentCategory.label)\n .join('.');\n return `${combinedCategories}.${field.label}`;\n }\n\n return `${field.label}`;\n}\n\nconst Footer = memo(({ cancel, submit }) => {\n const [translate] = useTranslate();\n return (\n <footer>\n <Button onClick={cancel} data-test-id='cancel'>\n {translate('Cancel')}\n </Button>\n <Button variant='primary' onClick={submit} data-test-id='submit'>\n {translate('Submit')}\n </Button>\n </footer>\n );\n});\n\nFooter.displayName = 'Footer';\n\nFooter.propTypes = {\n cancel: PropTypes.func.isRequired,\n submit: PropTypes.func.isRequired\n};\n\nconst defaultDisplayMode = 'Normal';\nconst displayModes = [defaultDisplayMode, 'Hierarchical'];\n\nconst Body = memo(\n ({\n column,\n rfName,\n columnAlias,\n displayMode,\n onRFChange,\n setRFConfig,\n rfConfig,\n oncolumnAliasChange,\n onDisplayModeChange,\n formatterRef\n }) => {\n const renderFormatters = column.getRenderFormatters();\n const componentName = renderFormatters?.find(f => f.value === rfName)?.component;\n const Component = componentName && column.renderFactory?.(componentName);\n const isDefaultFormatterExist = renderFormatters?.find(\n formatter => formatter.isDefault || formatter.label === DEFAULT_FORMAT\n );\n const renderDisplayMode = column.renderDisplayMode();\n const [translate] = useTranslate();\n const label = getFieldLabel(column.field);\n const showFormatter =\n column.formatterName !== 'UserReference' && !column.field.disableFormatting;\n return (\n <>\n <StyledRow>\n <Input type='text' label={translate('Field')} value={label} readOnly />\n </StyledRow>\n <StyledRow>\n <Input\n id='customise-label'\n type='text'\n label={translate('Alias')}\n onChange={oncolumnAliasChange}\n placeholder={translate('Enter alias')}\n value={columnAlias}\n data-test-id='Customise label'\n />\n </StyledRow>\n\n {showFormatter && renderFormatters && (\n <StyledRow>\n <Select\n id='select-customised-format'\n label={translate('Format')}\n onChange={onRFChange}\n value={rfName || ''}\n data-test-id='Customise format'\n >\n {!isDefaultFormatterExist && (\n <Option key={DEFAULT_FORMAT} value={DEFAULT_FORMAT}>\n {translate(DEFAULT_FORMAT)}\n </Option>\n )}\n {renderFormatters?.map(v => (\n <Option key={v.value} value={v.value}>\n {translate(v.label)}\n </Option>\n ))}\n </Select>\n </StyledRow>\n )}\n {Component && (\n <Component\n ref={formatterRef}\n formatting={{ type: rfName, config: rfConfig }}\n onChange={setRFConfig}\n />\n )}\n {renderDisplayMode && (\n <StyledRow>\n <Select\n id='select-customised-display'\n label={translate('Display')}\n onChange={onDisplayModeChange}\n value={displayMode || defaultDisplayMode}\n data-test-id='Customise display'\n >\n {displayModes.map(mode => (\n <Option key={mode} value={mode}>\n {translate(mode)}\n </Option>\n ))}\n </Select>\n </StyledRow>\n )}\n </>\n );\n }\n);\n\nBody.displayName = 'Body';\n\nBody.propTypes = {\n column: PropTypes.objectOf(PropTypes.any),\n rfName: PropTypes.string,\n columnAlias: PropTypes.string,\n onRFChange: PropTypes.func,\n oncolumnAliasChange: PropTypes.func,\n displayMode: PropTypes.string,\n onDisplayModeChange: PropTypes.func\n};\n\nBody.defaultProps = {\n column: {},\n rfName: '',\n columnAlias: '',\n onRFChange: () => {},\n oncolumnAliasChange: () => {},\n displayMode: defaultDisplayMode,\n onDisplayModeChange: () => {}\n};\n\nexport default function RFColumnConfigurator({\n column,\n onCancel,\n onSubmit,\n finishPopOver,\n popoverButtonRef\n}) {\n const [columnAlias, setColumnAlias] = useState(column.alias || '');\n const renderFormatters = column.getRenderFormatters();\n const [rfName, setRFName] = useState(\n (typeof column.formatterConfig === 'string'\n ? column.formatterConfig\n : column.formatterConfig?.type) || DEFAULT_FORMAT\n );\n const [rfConfig, setRFConfig] = useState(\n column.formatterConfig?.config !== undefined\n ? column.formatterConfig?.config\n : renderFormatters?.find(f => f.value === rfName)?.defaultConfig\n );\n const formatterRef = useRef(null);\n\n const [displayMode, setDisplayMode] = useState(column.displayMode);\n const [translate] = useTranslate();\n const onSubmitChanges = useCallback(() => {\n // Validating whether formatter settings are valid or not\n if (formatterRef.current?.validate && !formatterRef.current.validate()) return;\n\n const isRFNameChanged =\n rfName !==\n (typeof column.formatterConfig === 'string'\n ? column.formatterConfig\n : column.formatterConfig?.type);\n const isRFConfigChanged = !fastDeepEqual(rfConfig, column.formatterConfig?.config); // can be undefined\n const isRFChanged = isRFNameChanged || isRFConfigChanged;\n const isLableChanged = columnAlias.trim() !== column.alias?.trim(); // can be undefined\n const isDisplayChanged = displayMode !== column.displayMode;\n\n if (isRFChanged || isLableChanged || isDisplayChanged) {\n onSubmit(\n // eslint-disable-next-line no-nested-ternary\n isRFChanged ? (rfConfig ? { type: rfName, config: rfConfig } : rfName) : undefined,\n columnAlias,\n isDisplayChanged ? displayMode : undefined\n );\n }\n finishPopOver();\n }, [column, onSubmit, rfName, columnAlias, finishPopOver, displayMode, rfConfig]);\n\n return (\n <>\n {popoverButtonRef.current ? (\n <FormDialog\n heading={translate('Format')}\n onSubmit={onSubmitChanges}\n onCancel={onCancel}\n target={popoverButtonRef.current}\n >\n <Body\n column={column}\n rfName={rfName}\n columnAlias={columnAlias}\n displayMode={displayMode}\n onRFChange={e => {\n setRFName(e.target.value);\n setRFConfig(renderFormatters?.find(f => f.value === e.target.value)?.defaultConfig);\n }}\n setRFConfig={setRFConfig}\n rfConfig={rfConfig}\n oncolumnAliasChange={e => setColumnAlias(e.target.value)}\n onDisplayModeChange={e => setDisplayMode(e.target.value)}\n formatterRef={formatterRef}\n />\n </FormDialog>\n ) : null}\n </>\n );\n}\n\nRFColumnConfigurator.propTypes = {\n column: PropTypes.objectOf(PropTypes.any).isRequired,\n onCancel: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n finishPopOver: PropTypes.func.isRequired\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBarGadget.d.ts","sourceRoot":"","sources":["../../../../Core/Components/RSWrapper/HeaderBarGadget.jsx"],"names":[],"mappings":"AA+CA;;4CA6BC;;;;;;;;;sBA5EqB,YAAY"}
1
+ {"version":3,"file":"HeaderBarGadget.d.ts","sourceRoot":"","sources":["../../../../Core/Components/RSWrapper/HeaderBarGadget.jsx"],"names":[],"mappings":"AAwDA;;4CA6BC;;;;;;;;;sBArFqB,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 { Flex, Icon, Text, useTheme, calculateFontSize } from '@pega/cosmos-react-core';
4
+ import { Flex, Icon, Text, useTheme, calculateFontSize, defaultThemeProp } from '@pega/cosmos-react-core';
5
5
  import ToolbarActions from '../Toolbar/ToolbarActions';
6
6
  import Personalization from './Personalization';
7
7
  const StyledHeaderBar = styled.div(({ theme }) => {
@@ -41,6 +41,7 @@ const StyledHeaderBar = styled.div(({ theme }) => {
41
41
  }
42
42
  `;
43
43
  });
44
+ StyledHeaderBar.defaultProps = defaultThemeProp;
44
45
  export default function HeaderBarGadget({ view }) {
45
46
  const { meta: { icon, title, toolbarActions } } = view;
46
47
  const theme = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBarGadget.js","sourceRoot":"","sources":["../../../../Core/Components/RSWrapper/HeaderBarGadget.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAExF,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtF,OAAO,GAAG,CAAA;;;;0BAIc,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;uBACtC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;qBAe7B,QAAQ,CAAC,EAAE;uBACT,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;;;;;;mBAM1C,QAAQ,CAAC,CAAC;;;;yBAIJ,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;;GAEvD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE;IAC9C,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,EACtC,GAAG,IAAI,CAAC;IACT,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CACL,MAAC,IAAI,IACH,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EACnC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EACjB,SAAS,EAAC,mBAAmB,EAC7B,EAAE,EAAE,eAAe,EACnB,KAAK,EAAE,KAAK,aAEZ,KAAC,IAAI,IAAC,SAAS,QAAC,SAAS,EAAC,2BAA2B,YACnD,KAAC,IAAI,IAAC,SAAS,EAAC,iBAAiB,EAAC,IAAI,EAAE,IAAI,GAAI,GAC3C,EACP,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAC,oBAAoB,aACzF,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,IAAI,IAAC,OAAO,EAAC,WAAW,YAAE,KAAK,GAAQ,GACpC,EACN,wBACE,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,GAAI,GAC3B,IACD,EACP,cAAK,SAAS,EAAC,iBAAiB,YAC9B,KAAC,cAAc,IAAC,cAAc,EAAE,cAAc,GAAI,GAC9C,IACD,CACR,CAAC;AACJ,CAAC;AAED,eAAe,CAAC,SAAS,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;CACnD,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\nimport { Flex, Icon, Text, useTheme, calculateFontSize } from '@pega/cosmos-react-core';\n\nimport ToolbarActions from '../Toolbar/ToolbarActions';\n\nimport Personalization from './Personalization';\n\nconst StyledHeaderBar = styled.div(({ theme }) => {\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n return css`\n .header-bar-icon-container {\n margin-right: 0.5rem;\n padding: 0.5rem;\n background-color: ${theme.base.palette['brand-primary']};\n border-radius: ${theme.base['border-radius']};\n\n > .header-bar-icon {\n margin: 0;\n height: 1rem;\n width: 1rem;\n fill: currentColor;\n color: white;\n }\n }\n .header-bar-content {\n max-height: 2.5rem;\n justify-content: center;\n\n button > div > span {\n font-size: ${fontSize.xl};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n }\n }\n\n .toolbar-actions {\n align-self: flex-end;\n font-size: ${fontSize.m};\n }\n\n .rs-title {\n margin: 0 0 calc(${props => props.theme.base.spacing} - 0.875rem);\n }\n `;\n});\n\nexport default function HeaderBarGadget({ view }) {\n const {\n meta: { icon, title, toolbarActions }\n } = view;\n const theme = useTheme();\n return (\n <Flex\n container={{ alignItems: 'center' }}\n item={{ grow: 1 }}\n className='header-bar-gadget'\n as={StyledHeaderBar}\n theme={theme}\n >\n <Flex container className='header-bar-icon-container'>\n <Icon className='header-bar-icon' name={icon} />\n </Flex>\n <Flex container={{ direction: 'column' }} item={{ grow: 1 }} className='header-bar-content'>\n <div className='rs-title'>\n <Text variant='secondary'>{title}</Text>\n </div>\n <div>\n <Personalization view={view} />\n </div>\n </Flex>\n <div className='toolbar-actions'>\n <ToolbarActions toolbarActions={toolbarActions} />\n </div>\n </Flex>\n );\n}\n\nHeaderBarGadget.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
1
+ {"version":3,"file":"HeaderBarGadget.js","sourceRoot":"","sources":["../../../../Core/Components/RSWrapper/HeaderBarGadget.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtF,OAAO,GAAG,CAAA;;;;0BAIc,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;uBACtC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;qBAe7B,QAAQ,CAAC,EAAE;uBACT,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;;;;;;mBAM1C,QAAQ,CAAC,CAAC;;;;yBAIJ,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;;GAEvD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEhD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE;IAC9C,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,EACtC,GAAG,IAAI,CAAC;IACT,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CACL,MAAC,IAAI,IACH,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EACnC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EACjB,SAAS,EAAC,mBAAmB,EAC7B,EAAE,EAAE,eAAe,EACnB,KAAK,EAAE,KAAK,aAEZ,KAAC,IAAI,IAAC,SAAS,QAAC,SAAS,EAAC,2BAA2B,YACnD,KAAC,IAAI,IAAC,SAAS,EAAC,iBAAiB,EAAC,IAAI,EAAE,IAAI,GAAI,GAC3C,EACP,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAC,oBAAoB,aACzF,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,IAAI,IAAC,OAAO,EAAC,WAAW,YAAE,KAAK,GAAQ,GACpC,EACN,wBACE,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,GAAI,GAC3B,IACD,EACP,cAAK,SAAS,EAAC,iBAAiB,YAC9B,KAAC,cAAc,IAAC,cAAc,EAAE,cAAc,GAAI,GAC9C,IACD,CACR,CAAC;AACJ,CAAC;AAED,eAAe,CAAC,SAAS,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;CACnD,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\n\nimport {\n Flex,\n Icon,\n Text,\n useTheme,\n calculateFontSize,\n defaultThemeProp\n} from '@pega/cosmos-react-core';\n\nimport ToolbarActions from '../Toolbar/ToolbarActions';\n\nimport Personalization from './Personalization';\n\nconst StyledHeaderBar = styled.div(({ theme }) => {\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n return css`\n .header-bar-icon-container {\n margin-right: 0.5rem;\n padding: 0.5rem;\n background-color: ${theme.base.palette['brand-primary']};\n border-radius: ${theme.base['border-radius']};\n\n > .header-bar-icon {\n margin: 0;\n height: 1rem;\n width: 1rem;\n fill: currentColor;\n color: white;\n }\n }\n .header-bar-content {\n max-height: 2.5rem;\n justify-content: center;\n\n button > div > span {\n font-size: ${fontSize.xl};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n }\n }\n\n .toolbar-actions {\n align-self: flex-end;\n font-size: ${fontSize.m};\n }\n\n .rs-title {\n margin: 0 0 calc(${props => props.theme.base.spacing} - 0.875rem);\n }\n `;\n});\n\nStyledHeaderBar.defaultProps = defaultThemeProp;\n\nexport default function HeaderBarGadget({ view }) {\n const {\n meta: { icon, title, toolbarActions }\n } = view;\n const theme = useTheme();\n return (\n <Flex\n container={{ alignItems: 'center' }}\n item={{ grow: 1 }}\n className='header-bar-gadget'\n as={StyledHeaderBar}\n theme={theme}\n >\n <Flex container className='header-bar-icon-container'>\n <Icon className='header-bar-icon' name={icon} />\n </Flex>\n <Flex container={{ direction: 'column' }} item={{ grow: 1 }} className='header-bar-content'>\n <div className='rs-title'>\n <Text variant='secondary'>{title}</Text>\n </div>\n <div>\n <Personalization view={view} />\n </div>\n </Flex>\n <div className='toolbar-actions'>\n <ToolbarActions toolbarActions={toolbarActions} />\n </div>\n </Flex>\n );\n}\n\nHeaderBarGadget.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Components/RSWrapper/index.jsx"],"names":[],"mappings":"AAgCO;;4CAEN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Components/RSWrapper/index.jsx"],"names":[],"mappings":"AA+BO;;4CAEN"}
@@ -10,7 +10,6 @@ import Gallery from '../../Views/Gallery';
10
10
  import Timeline from '../../Views/Timeline';
11
11
  import Map from '../../Views/Map';
12
12
  import repeatComponent from '../../index';
13
- import { rowDensityClasses } from '../../constants';
14
13
  import useConfirmationModal from '../../Hooks/useConfirmationModal';
15
14
  import useSmallScreen from '../../Hooks/useSmallScreen';
16
15
  import { LocalizationProvider } from '../../Context/LocalizationContext';
@@ -30,7 +29,8 @@ export const CosmosProviders = ({ children }) => {
30
29
  return _jsx(Fullscreen, { children: children });
31
30
  };
32
31
  const RSWrapper = ({ view }) => {
33
- const { meta: { template } = {}, setDomContainer, columns } = view;
32
+ /** Read template from view, as changeTemplate feature can mutate the template */
33
+ const { template, setDomContainer, columns } = view;
34
34
  let Component;
35
35
  switch (template) {
36
36
  case REPEATING_STRUCTURE_TEMPLATES.GALLERY:
@@ -63,13 +63,6 @@ const RSWrapper = ({ view }) => {
63
63
  });
64
64
  return acc;
65
65
  }, {});
66
- const visibleColumns = view.getVisibleColumns();
67
- if (visibleColumns.length === 1 &&
68
- view.getRowDensity() === rowDensityClasses[4].id &&
69
- visibleColumns[0].field.width === undefined) {
70
- // If table has only one column then make column width as auto. flex-grow on cell-last will stretch the column to available width.
71
- delete columnStyles[`--col-width-${visibleColumns[0].field.idHash}`];
72
- }
73
66
  const domContainerRef = useRef();
74
67
  useSmallScreen(view, domContainerRef);
75
68
  return (_jsx(CosmosProviders, { children: _jsx(StyledRSContainer, { ref: r => {