@pega/lists-react 8.0.0-build.27.14

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 (720) hide show
  1. package/LICENSE +185 -0
  2. package/README.md +219 -0
  3. package/SECURITY.md +11 -0
  4. package/lib/Core/Components/A11y/RepeatingStructureA11y.d.ts +23 -0
  5. package/lib/Core/Components/A11y/RepeatingStructureA11y.d.ts.map +1 -0
  6. package/lib/Core/Components/A11y/RepeatingStructureA11y.js +30 -0
  7. package/lib/Core/Components/A11y/RepeatingStructureA11y.js.map +1 -0
  8. package/lib/Core/Components/AggregateMenu.d.ts +23 -0
  9. package/lib/Core/Components/AggregateMenu.d.ts.map +1 -0
  10. package/lib/Core/Components/AggregateMenu.js +73 -0
  11. package/lib/Core/Components/AggregateMenu.js.map +1 -0
  12. package/lib/Core/Components/AggregatorCell.d.ts +23 -0
  13. package/lib/Core/Components/AggregatorCell.d.ts.map +1 -0
  14. package/lib/Core/Components/AggregatorCell.js +29 -0
  15. package/lib/Core/Components/AggregatorCell.js.map +1 -0
  16. package/lib/Core/Components/ColumnResizer.d.ts +13 -0
  17. package/lib/Core/Components/ColumnResizer.d.ts.map +1 -0
  18. package/lib/Core/Components/ColumnResizer.js +12 -0
  19. package/lib/Core/Components/ColumnResizer.js.map +1 -0
  20. package/lib/Core/Components/ConfirmationModal.d.ts +27 -0
  21. package/lib/Core/Components/ConfirmationModal.d.ts.map +1 -0
  22. package/lib/Core/Components/ConfirmationModal.js +36 -0
  23. package/lib/Core/Components/ConfirmationModal.js.map +1 -0
  24. package/lib/Core/Components/ContextMenu/ContextMenuContainer.d.ts +17 -0
  25. package/lib/Core/Components/ContextMenu/ContextMenuContainer.d.ts.map +1 -0
  26. package/lib/Core/Components/ContextMenu/ContextMenuContainer.js +209 -0
  27. package/lib/Core/Components/ContextMenu/ContextMenuContainer.js.map +1 -0
  28. package/lib/Core/Components/ContextMenu/CopyPaste.d.ts +3 -0
  29. package/lib/Core/Components/ContextMenu/CopyPaste.d.ts.map +1 -0
  30. package/lib/Core/Components/ContextMenu/CopyPaste.js +22 -0
  31. package/lib/Core/Components/ContextMenu/CopyPaste.js.map +1 -0
  32. package/lib/Core/Components/ContextMenu/QuickFilter.d.ts +4 -0
  33. package/lib/Core/Components/ContextMenu/QuickFilter.d.ts.map +1 -0
  34. package/lib/Core/Components/ContextMenu/QuickFilter.js +82 -0
  35. package/lib/Core/Components/ContextMenu/QuickFilter.js.map +1 -0
  36. package/lib/Core/Components/DateValueDisplay.d.ts +13 -0
  37. package/lib/Core/Components/DateValueDisplay.d.ts.map +1 -0
  38. package/lib/Core/Components/DateValueDisplay.js +71 -0
  39. package/lib/Core/Components/DateValueDisplay.js.map +1 -0
  40. package/lib/Core/Components/DefaultComponents/Badge.d.ts +14 -0
  41. package/lib/Core/Components/DefaultComponents/Badge.d.ts.map +1 -0
  42. package/lib/Core/Components/DefaultComponents/Badge.js +15 -0
  43. package/lib/Core/Components/DefaultComponents/Badge.js.map +1 -0
  44. package/lib/Core/Components/DefaultComponents/CardItem.d.ts +3 -0
  45. package/lib/Core/Components/DefaultComponents/CardItem.d.ts.map +1 -0
  46. package/lib/Core/Components/DefaultComponents/CardItem.js +78 -0
  47. package/lib/Core/Components/DefaultComponents/CardItem.js.map +1 -0
  48. package/lib/Core/Components/DefaultComponents/CellRenderers/Cell.d.ts +15 -0
  49. package/lib/Core/Components/DefaultComponents/CellRenderers/Cell.d.ts.map +1 -0
  50. package/lib/Core/Components/DefaultComponents/CellRenderers/Cell.js +18 -0
  51. package/lib/Core/Components/DefaultComponents/CellRenderers/Cell.js.map +1 -0
  52. package/lib/Core/Components/DefaultComponents/CellRenderers/CheckCross.d.ts +5 -0
  53. package/lib/Core/Components/DefaultComponents/CellRenderers/CheckCross.d.ts.map +1 -0
  54. package/lib/Core/Components/DefaultComponents/CellRenderers/CheckCross.js +25 -0
  55. package/lib/Core/Components/DefaultComponents/CellRenderers/CheckCross.js.map +1 -0
  56. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/Comma.d.ts +13 -0
  57. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/Comma.d.ts.map +1 -0
  58. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/Comma.js +11 -0
  59. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/Comma.js.map +1 -0
  60. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/CustomCellWrapper.d.ts +3 -0
  61. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/CustomCellWrapper.d.ts.map +1 -0
  62. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/CustomCellWrapper.js +10 -0
  63. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/CustomCellWrapper.js.map +1 -0
  64. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/ForwardSlash.d.ts +13 -0
  65. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/ForwardSlash.d.ts.map +1 -0
  66. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/ForwardSlash.js +11 -0
  67. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/ForwardSlash.js.map +1 -0
  68. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/MultiLine.d.ts +13 -0
  69. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/MultiLine.d.ts.map +1 -0
  70. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/MultiLine.js +15 -0
  71. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/MultiLine.js.map +1 -0
  72. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/Space.d.ts +13 -0
  73. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/Space.d.ts.map +1 -0
  74. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/Space.js +11 -0
  75. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/Space.js.map +1 -0
  76. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/index.d.ts +12 -0
  77. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/index.d.ts.map +1 -0
  78. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/index.js +11 -0
  79. package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/index.js.map +1 -0
  80. package/lib/Core/Components/DefaultComponents/CellRenderers/CustomCell.d.ts +18 -0
  81. package/lib/Core/Components/DefaultComponents/CellRenderers/CustomCell.d.ts.map +1 -0
  82. package/lib/Core/Components/DefaultComponents/CellRenderers/CustomCell.js +51 -0
  83. package/lib/Core/Components/DefaultComponents/CellRenderers/CustomCell.js.map +1 -0
  84. package/lib/Core/Components/DefaultComponents/CellRenderers/DefaultTextRenderer.d.ts +13 -0
  85. package/lib/Core/Components/DefaultComponents/CellRenderers/DefaultTextRenderer.d.ts.map +1 -0
  86. package/lib/Core/Components/DefaultComponents/CellRenderers/DefaultTextRenderer.js +25 -0
  87. package/lib/Core/Components/DefaultComponents/CellRenderers/DefaultTextRenderer.js.map +1 -0
  88. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.d.ts +12 -0
  89. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.d.ts.map +1 -0
  90. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.js +35 -0
  91. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.js.map +1 -0
  92. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.d.ts +15 -0
  93. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.d.ts.map +1 -0
  94. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.js +49 -0
  95. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.js.map +1 -0
  96. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.d.ts +12 -0
  97. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.d.ts.map +1 -0
  98. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.js +44 -0
  99. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.js.map +1 -0
  100. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.d.ts +16 -0
  101. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.d.ts.map +1 -0
  102. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.js +64 -0
  103. package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.js.map +1 -0
  104. package/lib/Core/Components/DefaultComponents/CellRenderers/Link.d.ts +7 -0
  105. package/lib/Core/Components/DefaultComponents/CellRenderers/Link.d.ts.map +1 -0
  106. package/lib/Core/Components/DefaultComponents/CellRenderers/Link.js +23 -0
  107. package/lib/Core/Components/DefaultComponents/CellRenderers/Link.js.map +1 -0
  108. package/lib/Core/Components/DefaultComponents/CellRenderers/Operator.d.ts +19 -0
  109. package/lib/Core/Components/DefaultComponents/CellRenderers/Operator.d.ts.map +1 -0
  110. package/lib/Core/Components/DefaultComponents/CellRenderers/Operator.js +37 -0
  111. package/lib/Core/Components/DefaultComponents/CellRenderers/Operator.js.map +1 -0
  112. package/lib/Core/Components/DefaultComponents/CellRenderers/RichText.d.ts +17 -0
  113. package/lib/Core/Components/DefaultComponents/CellRenderers/RichText.d.ts.map +1 -0
  114. package/lib/Core/Components/DefaultComponents/CellRenderers/RichText.js +50 -0
  115. package/lib/Core/Components/DefaultComponents/CellRenderers/RichText.js.map +1 -0
  116. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.d.ts +13 -0
  117. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.d.ts.map +1 -0
  118. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.js +67 -0
  119. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.js.map +1 -0
  120. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDragDropHandle.d.ts +11 -0
  121. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDragDropHandle.d.ts.map +1 -0
  122. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDragDropHandle.js +11 -0
  123. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDragDropHandle.js.map +1 -0
  124. package/lib/Core/Components/DefaultComponents/CellRenderers/RowError.d.ts +11 -0
  125. package/lib/Core/Components/DefaultComponents/CellRenderers/RowError.d.ts.map +1 -0
  126. package/lib/Core/Components/DefaultComponents/CellRenderers/RowError.js +13 -0
  127. package/lib/Core/Components/DefaultComponents/CellRenderers/RowError.js.map +1 -0
  128. package/lib/Core/Components/DefaultComponents/CellRenderers/RowSelectHandle.d.ts +15 -0
  129. package/lib/Core/Components/DefaultComponents/CellRenderers/RowSelectHandle.d.ts.map +1 -0
  130. package/lib/Core/Components/DefaultComponents/CellRenderers/RowSelectHandle.js +57 -0
  131. package/lib/Core/Components/DefaultComponents/CellRenderers/RowSelectHandle.js.map +1 -0
  132. package/lib/Core/Components/DefaultComponents/CellRenderers/index.d.ts +52 -0
  133. package/lib/Core/Components/DefaultComponents/CellRenderers/index.d.ts.map +1 -0
  134. package/lib/Core/Components/DefaultComponents/CellRenderers/index.js +29 -0
  135. package/lib/Core/Components/DefaultComponents/CellRenderers/index.js.map +1 -0
  136. package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts +3 -0
  137. package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts.map +1 -0
  138. package/lib/Core/Components/DefaultComponents/EmptyContainer.js +25 -0
  139. package/lib/Core/Components/DefaultComponents/EmptyContainer.js.map +1 -0
  140. package/lib/Core/Components/DefaultComponents/Filter.d.ts +15 -0
  141. package/lib/Core/Components/DefaultComponents/Filter.d.ts.map +1 -0
  142. package/lib/Core/Components/DefaultComponents/Filter.js +18 -0
  143. package/lib/Core/Components/DefaultComponents/Filter.js.map +1 -0
  144. package/lib/Core/Components/DefaultComponents/HeaderCell.d.ts +17 -0
  145. package/lib/Core/Components/DefaultComponents/HeaderCell.d.ts.map +1 -0
  146. package/lib/Core/Components/DefaultComponents/HeaderCell.js +21 -0
  147. package/lib/Core/Components/DefaultComponents/HeaderCell.js.map +1 -0
  148. package/lib/Core/Components/DefaultComponents/LoadingIndicator.d.ts +3 -0
  149. package/lib/Core/Components/DefaultComponents/LoadingIndicator.d.ts.map +1 -0
  150. package/lib/Core/Components/DefaultComponents/LoadingIndicator.js +9 -0
  151. package/lib/Core/Components/DefaultComponents/LoadingIndicator.js.map +1 -0
  152. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.d.ts +24 -0
  153. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.d.ts.map +1 -0
  154. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js +102 -0
  155. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js.map +1 -0
  156. package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.d.ts +16 -0
  157. package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.d.ts.map +1 -0
  158. package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.js +26 -0
  159. package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.js.map +1 -0
  160. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.d.ts +25 -0
  161. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.d.ts.map +1 -0
  162. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.js +85 -0
  163. package/lib/Core/Components/DefaultComponents/PersonalizationSelector.js.map +1 -0
  164. package/lib/Core/Components/DefaultComponents/PersonalizationUnsavedWarning.d.ts +16 -0
  165. package/lib/Core/Components/DefaultComponents/PersonalizationUnsavedWarning.d.ts.map +1 -0
  166. package/lib/Core/Components/DefaultComponents/PersonalizationUnsavedWarning.js +26 -0
  167. package/lib/Core/Components/DefaultComponents/PersonalizationUnsavedWarning.js.map +1 -0
  168. package/lib/Core/Components/DefaultComponents/RowHeight.d.ts +13 -0
  169. package/lib/Core/Components/DefaultComponents/RowHeight.d.ts.map +1 -0
  170. package/lib/Core/Components/DefaultComponents/RowHeight.js +20 -0
  171. package/lib/Core/Components/DefaultComponents/RowHeight.js.map +1 -0
  172. package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.d.ts +15 -0
  173. package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.d.ts.map +1 -0
  174. package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.js +40 -0
  175. package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.js.map +1 -0
  176. package/lib/Core/Components/DefaultComponents/Sort.d.ts +15 -0
  177. package/lib/Core/Components/DefaultComponents/Sort.d.ts.map +1 -0
  178. package/lib/Core/Components/DefaultComponents/Sort.js +21 -0
  179. package/lib/Core/Components/DefaultComponents/Sort.js.map +1 -0
  180. package/lib/Core/Components/DefaultComponents/index.d.ts +96 -0
  181. package/lib/Core/Components/DefaultComponents/index.d.ts.map +1 -0
  182. package/lib/Core/Components/DefaultComponents/index.js +53 -0
  183. package/lib/Core/Components/DefaultComponents/index.js.map +1 -0
  184. package/lib/Core/Components/DynamicFieldConfiguration.d.ts +23 -0
  185. package/lib/Core/Components/DynamicFieldConfiguration.d.ts.map +1 -0
  186. package/lib/Core/Components/DynamicFieldConfiguration.js +92 -0
  187. package/lib/Core/Components/DynamicFieldConfiguration.js.map +1 -0
  188. package/lib/Core/Components/EmptyContainer.d.ts +5 -0
  189. package/lib/Core/Components/EmptyContainer.d.ts.map +1 -0
  190. package/lib/Core/Components/EmptyContainer.js +12 -0
  191. package/lib/Core/Components/EmptyContainer.js.map +1 -0
  192. package/lib/Core/Components/FieldTypeIcon.d.ts +13 -0
  193. package/lib/Core/Components/FieldTypeIcon.d.ts.map +1 -0
  194. package/lib/Core/Components/FieldTypeIcon.js +17 -0
  195. package/lib/Core/Components/FieldTypeIcon.js.map +1 -0
  196. package/lib/Core/Components/Filters/AdvanceFilter.d.ts +16 -0
  197. package/lib/Core/Components/Filters/AdvanceFilter.d.ts.map +1 -0
  198. package/lib/Core/Components/Filters/AdvanceFilter.js +29 -0
  199. package/lib/Core/Components/Filters/AdvanceFilter.js.map +1 -0
  200. package/lib/Core/Components/Filters/BooleanFilter.d.ts +17 -0
  201. package/lib/Core/Components/Filters/BooleanFilter.d.ts.map +1 -0
  202. package/lib/Core/Components/Filters/BooleanFilter.js +43 -0
  203. package/lib/Core/Components/Filters/BooleanFilter.js.map +1 -0
  204. package/lib/Core/Components/Filters/CommonFilter.d.ts +17 -0
  205. package/lib/Core/Components/Filters/CommonFilter.d.ts.map +1 -0
  206. package/lib/Core/Components/Filters/CommonFilter.js +67 -0
  207. package/lib/Core/Components/Filters/CommonFilter.js.map +1 -0
  208. package/lib/Core/Components/Filters/Filter.d.ts +18 -0
  209. package/lib/Core/Components/Filters/Filter.d.ts.map +1 -0
  210. package/lib/Core/Components/Filters/Filter.js +20 -0
  211. package/lib/Core/Components/Filters/Filter.js.map +1 -0
  212. package/lib/Core/Components/Filters/FilterMenu.d.ts +15 -0
  213. package/lib/Core/Components/Filters/FilterMenu.d.ts.map +1 -0
  214. package/lib/Core/Components/Filters/FilterMenu.js +32 -0
  215. package/lib/Core/Components/Filters/FilterMenu.js.map +1 -0
  216. package/lib/Core/Components/Filters/FilterType.d.ts +18 -0
  217. package/lib/Core/Components/Filters/FilterType.d.ts.map +1 -0
  218. package/lib/Core/Components/Filters/FilterType.js +35 -0
  219. package/lib/Core/Components/Filters/FilterType.js.map +1 -0
  220. package/lib/Core/Components/Filters/Hooks/useFilterSubmit.d.ts +5 -0
  221. package/lib/Core/Components/Filters/Hooks/useFilterSubmit.d.ts.map +1 -0
  222. package/lib/Core/Components/Filters/Hooks/useFilterSubmit.js +10 -0
  223. package/lib/Core/Components/Filters/Hooks/useFilterSubmit.js.map +1 -0
  224. package/lib/Core/Components/Filters/Hooks/useValidRhsTypes.d.ts +2 -0
  225. package/lib/Core/Components/Filters/Hooks/useValidRhsTypes.d.ts.map +1 -0
  226. package/lib/Core/Components/Filters/Hooks/useValidRhsTypes.js +14 -0
  227. package/lib/Core/Components/Filters/Hooks/useValidRhsTypes.js.map +1 -0
  228. package/lib/Core/Components/Filters/InputWrapper.d.ts +28 -0
  229. package/lib/Core/Components/Filters/InputWrapper.d.ts.map +1 -0
  230. package/lib/Core/Components/Filters/InputWrapper.js +40 -0
  231. package/lib/Core/Components/Filters/InputWrapper.js.map +1 -0
  232. package/lib/Core/Components/Filters/SelectFilter.d.ts +17 -0
  233. package/lib/Core/Components/Filters/SelectFilter.d.ts.map +1 -0
  234. package/lib/Core/Components/Filters/SelectFilter.js +116 -0
  235. package/lib/Core/Components/Filters/SelectFilter.js.map +1 -0
  236. package/lib/Core/Components/Filters/SimpleFilter.d.ts +17 -0
  237. package/lib/Core/Components/Filters/SimpleFilter.d.ts.map +1 -0
  238. package/lib/Core/Components/Filters/SimpleFilter.js +38 -0
  239. package/lib/Core/Components/Filters/SimpleFilter.js.map +1 -0
  240. package/lib/Core/Components/Filters/config.d.ts +75 -0
  241. package/lib/Core/Components/Filters/config.d.ts.map +1 -0
  242. package/lib/Core/Components/Filters/config.js +244 -0
  243. package/lib/Core/Components/Filters/config.js.map +1 -0
  244. package/lib/Core/Components/Filters/styles.d.ts +3 -0
  245. package/lib/Core/Components/Filters/styles.d.ts.map +1 -0
  246. package/lib/Core/Components/Filters/styles.js +30 -0
  247. package/lib/Core/Components/Filters/styles.js.map +1 -0
  248. package/lib/Core/Components/Footer.d.ts +13 -0
  249. package/lib/Core/Components/Footer.d.ts.map +1 -0
  250. package/lib/Core/Components/Footer.js +22 -0
  251. package/lib/Core/Components/Footer.js.map +1 -0
  252. package/lib/Core/Components/FooterAggregators.d.ts +16 -0
  253. package/lib/Core/Components/FooterAggregators.d.ts.map +1 -0
  254. package/lib/Core/Components/FooterAggregators.js +29 -0
  255. package/lib/Core/Components/FooterAggregators.js.map +1 -0
  256. package/lib/Core/Components/FreezeLine.d.ts +13 -0
  257. package/lib/Core/Components/FreezeLine.d.ts.map +1 -0
  258. package/lib/Core/Components/FreezeLine.js +13 -0
  259. package/lib/Core/Components/FreezeLine.js.map +1 -0
  260. package/lib/Core/Components/GroupRenderer.d.ts +15 -0
  261. package/lib/Core/Components/GroupRenderer.d.ts.map +1 -0
  262. package/lib/Core/Components/GroupRenderer.js +212 -0
  263. package/lib/Core/Components/GroupRenderer.js.map +1 -0
  264. package/lib/Core/Components/Grouping/GroupingMenu.d.ts +15 -0
  265. package/lib/Core/Components/Grouping/GroupingMenu.d.ts.map +1 -0
  266. package/lib/Core/Components/Grouping/GroupingMenu.js +66 -0
  267. package/lib/Core/Components/Grouping/GroupingMenu.js.map +1 -0
  268. package/lib/Core/Components/HeaderCell.d.ts +17 -0
  269. package/lib/Core/Components/HeaderCell.d.ts.map +1 -0
  270. package/lib/Core/Components/HeaderCell.js +30 -0
  271. package/lib/Core/Components/HeaderCell.js.map +1 -0
  272. package/lib/Core/Components/HeaderMenu/actions.d.ts +15 -0
  273. package/lib/Core/Components/HeaderMenu/actions.d.ts.map +1 -0
  274. package/lib/Core/Components/HeaderMenu/actions.js +211 -0
  275. package/lib/Core/Components/HeaderMenu/actions.js.map +1 -0
  276. package/lib/Core/Components/HeaderMenu/index.d.ts +23 -0
  277. package/lib/Core/Components/HeaderMenu/index.d.ts.map +1 -0
  278. package/lib/Core/Components/HeaderMenu/index.js +187 -0
  279. package/lib/Core/Components/HeaderMenu/index.js.map +1 -0
  280. package/lib/Core/Components/HierarchicalCell.d.ts +23 -0
  281. package/lib/Core/Components/HierarchicalCell.d.ts.map +1 -0
  282. package/lib/Core/Components/HierarchicalCell.js +30 -0
  283. package/lib/Core/Components/HierarchicalCell.js.map +1 -0
  284. package/lib/Core/Components/HierarchicalGroupFooters.d.ts +32 -0
  285. package/lib/Core/Components/HierarchicalGroupFooters.d.ts.map +1 -0
  286. package/lib/Core/Components/HierarchicalGroupFooters.js +58 -0
  287. package/lib/Core/Components/HierarchicalGroupFooters.js.map +1 -0
  288. package/lib/Core/Components/HierarchicalGroupRenderer.d.ts +31 -0
  289. package/lib/Core/Components/HierarchicalGroupRenderer.d.ts.map +1 -0
  290. package/lib/Core/Components/HierarchicalGroupRenderer.js +230 -0
  291. package/lib/Core/Components/HierarchicalGroupRenderer.js.map +1 -0
  292. package/lib/Core/Components/LoadingIndicator.d.ts +15 -0
  293. package/lib/Core/Components/LoadingIndicator.d.ts.map +1 -0
  294. package/lib/Core/Components/LoadingIndicator.js +15 -0
  295. package/lib/Core/Components/LoadingIndicator.js.map +1 -0
  296. package/lib/Core/Components/NotificationManager.d.ts +13 -0
  297. package/lib/Core/Components/NotificationManager.d.ts.map +1 -0
  298. package/lib/Core/Components/NotificationManager.js +44 -0
  299. package/lib/Core/Components/NotificationManager.js.map +1 -0
  300. package/lib/Core/Components/RFColumnConfigurator.d.ts +19 -0
  301. package/lib/Core/Components/RFColumnConfigurator.d.ts.map +1 -0
  302. package/lib/Core/Components/RFColumnConfigurator.js +90 -0
  303. package/lib/Core/Components/RFColumnConfigurator.js.map +1 -0
  304. package/lib/Core/Components/RSWrapper/HeaderBarGadget.d.ts +13 -0
  305. package/lib/Core/Components/RSWrapper/HeaderBarGadget.d.ts.map +1 -0
  306. package/lib/Core/Components/RSWrapper/HeaderBarGadget.js +52 -0
  307. package/lib/Core/Components/RSWrapper/HeaderBarGadget.js.map +1 -0
  308. package/lib/Core/Components/RSWrapper/Personalization.d.ts +13 -0
  309. package/lib/Core/Components/RSWrapper/Personalization.d.ts.map +1 -0
  310. package/lib/Core/Components/RSWrapper/Personalization.js +61 -0
  311. package/lib/Core/Components/RSWrapper/Personalization.js.map +1 -0
  312. package/lib/Core/Components/RSWrapper/__mocks__/uuid.d.ts +2 -0
  313. package/lib/Core/Components/RSWrapper/__mocks__/uuid.d.ts.map +1 -0
  314. package/lib/Core/Components/RSWrapper/__mocks__/uuid.js +4 -0
  315. package/lib/Core/Components/RSWrapper/__mocks__/uuid.js.map +1 -0
  316. package/lib/Core/Components/RSWrapper/index.d.ts +6 -0
  317. package/lib/Core/Components/RSWrapper/index.d.ts.map +1 -0
  318. package/lib/Core/Components/RSWrapper/index.js +83 -0
  319. package/lib/Core/Components/RSWrapper/index.js.map +1 -0
  320. package/lib/Core/Components/RenderingEngine/ComponentResolverFactory.d.ts +3 -0
  321. package/lib/Core/Components/RenderingEngine/ComponentResolverFactory.d.ts.map +1 -0
  322. package/lib/Core/Components/RenderingEngine/ComponentResolverFactory.js +65 -0
  323. package/lib/Core/Components/RenderingEngine/ComponentResolverFactory.js.map +1 -0
  324. package/lib/Core/Components/RenderingEngine/ErrorHandler.d.ts +2 -0
  325. package/lib/Core/Components/RenderingEngine/ErrorHandler.d.ts.map +1 -0
  326. package/lib/Core/Components/RenderingEngine/ErrorHandler.js +2 -0
  327. package/lib/Core/Components/RenderingEngine/ErrorHandler.js.map +1 -0
  328. package/lib/Core/Components/RenderingEngine/ExpresssionEvaluator.d.ts +2 -0
  329. package/lib/Core/Components/RenderingEngine/ExpresssionEvaluator.d.ts.map +1 -0
  330. package/lib/Core/Components/RenderingEngine/ExpresssionEvaluator.js +2 -0
  331. package/lib/Core/Components/RenderingEngine/ExpresssionEvaluator.js.map +1 -0
  332. package/lib/Core/Components/RenderingEngine/Flasher.d.ts +2 -0
  333. package/lib/Core/Components/RenderingEngine/Flasher.d.ts.map +1 -0
  334. package/lib/Core/Components/RenderingEngine/Flasher.js +2 -0
  335. package/lib/Core/Components/RenderingEngine/Flasher.js.map +1 -0
  336. package/lib/Core/Components/RenderingEngine/Formatter.d.ts +2 -0
  337. package/lib/Core/Components/RenderingEngine/Formatter.d.ts.map +1 -0
  338. package/lib/Core/Components/RenderingEngine/Formatter.js +24 -0
  339. package/lib/Core/Components/RenderingEngine/Formatter.js.map +1 -0
  340. package/lib/Core/Components/RenderingEngine/RenderCell.d.ts +16 -0
  341. package/lib/Core/Components/RenderingEngine/RenderCell.d.ts.map +1 -0
  342. package/lib/Core/Components/RenderingEngine/RenderCell.js +48 -0
  343. package/lib/Core/Components/RenderingEngine/RenderCell.js.map +1 -0
  344. package/lib/Core/Components/RenderingEngine/RenderView.d.ts +8 -0
  345. package/lib/Core/Components/RenderingEngine/RenderView.d.ts.map +1 -0
  346. package/lib/Core/Components/RenderingEngine/RenderView.js +25 -0
  347. package/lib/Core/Components/RenderingEngine/RenderView.js.map +1 -0
  348. package/lib/Core/Components/RenderingEngine/Util.d.ts +2 -0
  349. package/lib/Core/Components/RenderingEngine/Util.d.ts.map +1 -0
  350. package/lib/Core/Components/RenderingEngine/Util.js +36 -0
  351. package/lib/Core/Components/RenderingEngine/Util.js.map +1 -0
  352. package/lib/Core/Components/RenderingEngine/ValueRenderer.d.ts +14 -0
  353. package/lib/Core/Components/RenderingEngine/ValueRenderer.d.ts.map +1 -0
  354. package/lib/Core/Components/RenderingEngine/ValueRenderer.js +12 -0
  355. package/lib/Core/Components/RenderingEngine/ValueRenderer.js.map +1 -0
  356. package/lib/Core/Components/RenderingEngine/useHighlighter.d.ts +5 -0
  357. package/lib/Core/Components/RenderingEngine/useHighlighter.d.ts.map +1 -0
  358. package/lib/Core/Components/RenderingEngine/useHighlighter.js +52 -0
  359. package/lib/Core/Components/RenderingEngine/useHighlighter.js.map +1 -0
  360. package/lib/Core/Components/TestIdConstants.d.ts +15 -0
  361. package/lib/Core/Components/TestIdConstants.d.ts.map +1 -0
  362. package/lib/Core/Components/TestIdConstants.js +14 -0
  363. package/lib/Core/Components/TestIdConstants.js.map +1 -0
  364. package/lib/Core/Components/Toolbar/ActionsMenu.d.ts +15 -0
  365. package/lib/Core/Components/Toolbar/ActionsMenu.d.ts.map +1 -0
  366. package/lib/Core/Components/Toolbar/ActionsMenu.js +58 -0
  367. package/lib/Core/Components/Toolbar/ActionsMenu.js.map +1 -0
  368. package/lib/Core/Components/Toolbar/AdvanceToolbar.d.ts +14 -0
  369. package/lib/Core/Components/Toolbar/AdvanceToolbar.d.ts.map +1 -0
  370. package/lib/Core/Components/Toolbar/AdvanceToolbar.js +59 -0
  371. package/lib/Core/Components/Toolbar/AdvanceToolbar.js.map +1 -0
  372. package/lib/Core/Components/Toolbar/AnnounceRowsCount.d.ts +20 -0
  373. package/lib/Core/Components/Toolbar/AnnounceRowsCount.d.ts.map +1 -0
  374. package/lib/Core/Components/Toolbar/AnnounceRowsCount.js +14 -0
  375. package/lib/Core/Components/Toolbar/AnnounceRowsCount.js.map +1 -0
  376. package/lib/Core/Components/Toolbar/ColumnSelector.d.ts +35 -0
  377. package/lib/Core/Components/Toolbar/ColumnSelector.d.ts.map +1 -0
  378. package/lib/Core/Components/Toolbar/ColumnSelector.js +141 -0
  379. package/lib/Core/Components/Toolbar/ColumnSelector.js.map +1 -0
  380. package/lib/Core/Components/Toolbar/DebugInfo.d.ts +14 -0
  381. package/lib/Core/Components/Toolbar/DebugInfo.d.ts.map +1 -0
  382. package/lib/Core/Components/Toolbar/DebugInfo.js +48 -0
  383. package/lib/Core/Components/Toolbar/DebugInfo.js.map +1 -0
  384. package/lib/Core/Components/Toolbar/FieldSelector.d.ts +19 -0
  385. package/lib/Core/Components/Toolbar/FieldSelector.d.ts.map +1 -0
  386. package/lib/Core/Components/Toolbar/FieldSelector.js +53 -0
  387. package/lib/Core/Components/Toolbar/FieldSelector.js.map +1 -0
  388. package/lib/Core/Components/Toolbar/Grouping.types.d.ts +22 -0
  389. package/lib/Core/Components/Toolbar/Grouping.types.d.ts.map +1 -0
  390. package/lib/Core/Components/Toolbar/Grouping.types.js +2 -0
  391. package/lib/Core/Components/Toolbar/Grouping.types.js.map +1 -0
  392. package/lib/Core/Components/Toolbar/Map/MapToolbar.d.ts +9 -0
  393. package/lib/Core/Components/Toolbar/Map/MapToolbar.d.ts.map +1 -0
  394. package/lib/Core/Components/Toolbar/Map/MapToolbar.js +27 -0
  395. package/lib/Core/Components/Toolbar/Map/MapToolbar.js.map +1 -0
  396. package/lib/Core/Components/Toolbar/RefreshBanner.d.ts +15 -0
  397. package/lib/Core/Components/Toolbar/RefreshBanner.d.ts.map +1 -0
  398. package/lib/Core/Components/Toolbar/RefreshBanner.js +28 -0
  399. package/lib/Core/Components/Toolbar/RefreshBanner.js.map +1 -0
  400. package/lib/Core/Components/Toolbar/SimpleToolbar.d.ts +14 -0
  401. package/lib/Core/Components/Toolbar/SimpleToolbar.d.ts.map +1 -0
  402. package/lib/Core/Components/Toolbar/SimpleToolbar.js +22 -0
  403. package/lib/Core/Components/Toolbar/SimpleToolbar.js.map +1 -0
  404. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts +8 -0
  405. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts.map +1 -0
  406. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js +61 -0
  407. package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js.map +1 -0
  408. package/lib/Core/Components/Toolbar/ToolbarActions.d.ts +20 -0
  409. package/lib/Core/Components/Toolbar/ToolbarActions.d.ts.map +1 -0
  410. package/lib/Core/Components/Toolbar/ToolbarActions.js +28 -0
  411. package/lib/Core/Components/Toolbar/ToolbarActions.js.map +1 -0
  412. package/lib/Core/Components/Toolbar/ValidateMessage.d.ts +17 -0
  413. package/lib/Core/Components/Toolbar/ValidateMessage.d.ts.map +1 -0
  414. package/lib/Core/Components/Toolbar/ValidateMessage.js +44 -0
  415. package/lib/Core/Components/Toolbar/ValidateMessage.js.map +1 -0
  416. package/lib/Core/Components/Toolbar/hooks/useAnnounceRowsCount.d.ts +3 -0
  417. package/lib/Core/Components/Toolbar/hooks/useAnnounceRowsCount.d.ts.map +1 -0
  418. package/lib/Core/Components/Toolbar/hooks/useAnnounceRowsCount.js +37 -0
  419. package/lib/Core/Components/Toolbar/hooks/useAnnounceRowsCount.js.map +1 -0
  420. package/lib/Core/Components/Toolbar/hooks/useFilter.d.ts +10 -0
  421. package/lib/Core/Components/Toolbar/hooks/useFilter.d.ts.map +1 -0
  422. package/lib/Core/Components/Toolbar/hooks/useFilter.js +43 -0
  423. package/lib/Core/Components/Toolbar/hooks/useFilter.js.map +1 -0
  424. package/lib/Core/Components/Toolbar/hooks/useFormControlProps.d.ts +5 -0
  425. package/lib/Core/Components/Toolbar/hooks/useFormControlProps.d.ts.map +1 -0
  426. package/lib/Core/Components/Toolbar/hooks/useFormControlProps.js +18 -0
  427. package/lib/Core/Components/Toolbar/hooks/useFormControlProps.js.map +1 -0
  428. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts +24 -0
  429. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts.map +1 -0
  430. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js +58 -0
  431. package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js.map +1 -0
  432. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts +16 -0
  433. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts.map +1 -0
  434. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js +110 -0
  435. package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js.map +1 -0
  436. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.d.ts +11 -0
  437. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.d.ts.map +1 -0
  438. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js +75 -0
  439. package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js.map +1 -0
  440. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts +11 -0
  441. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts.map +1 -0
  442. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js +61 -0
  443. package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js.map +1 -0
  444. package/lib/Core/Components/Toolbar/hooks/useMore.d.ts +9 -0
  445. package/lib/Core/Components/Toolbar/hooks/useMore.d.ts.map +1 -0
  446. package/lib/Core/Components/Toolbar/hooks/useMore.js +317 -0
  447. package/lib/Core/Components/Toolbar/hooks/useMore.js.map +1 -0
  448. package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts +13 -0
  449. package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts.map +1 -0
  450. package/lib/Core/Components/Toolbar/hooks/usePersonalization.js +17 -0
  451. package/lib/Core/Components/Toolbar/hooks/usePersonalization.js.map +1 -0
  452. package/lib/Core/Components/Toolbar/hooks/useRowFocus.d.ts +6 -0
  453. package/lib/Core/Components/Toolbar/hooks/useRowFocus.d.ts.map +1 -0
  454. package/lib/Core/Components/Toolbar/hooks/useRowFocus.js +13 -0
  455. package/lib/Core/Components/Toolbar/hooks/useRowFocus.js.map +1 -0
  456. package/lib/Core/Components/Toolbar/hooks/useSearch.d.ts +11 -0
  457. package/lib/Core/Components/Toolbar/hooks/useSearch.d.ts.map +1 -0
  458. package/lib/Core/Components/Toolbar/hooks/useSearch.js +38 -0
  459. package/lib/Core/Components/Toolbar/hooks/useSearch.js.map +1 -0
  460. package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts +44 -0
  461. package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts.map +1 -0
  462. package/lib/Core/Components/Toolbar/hooks/useSort/Row.js +54 -0
  463. package/lib/Core/Components/Toolbar/hooks/useSort/Row.js.map +1 -0
  464. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts +13 -0
  465. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts.map +1 -0
  466. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js +81 -0
  467. package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js.map +1 -0
  468. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.d.ts +11 -0
  469. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.d.ts.map +1 -0
  470. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js +41 -0
  471. package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js.map +1 -0
  472. package/lib/Core/Components/Toolbar/hooks/useSort/utils.d.ts +8 -0
  473. package/lib/Core/Components/Toolbar/hooks/useSort/utils.d.ts.map +1 -0
  474. package/lib/Core/Components/Toolbar/hooks/useSort/utils.js +19 -0
  475. package/lib/Core/Components/Toolbar/hooks/useSort/utils.js.map +1 -0
  476. package/lib/Core/Components/Toolbar/index.d.ts +14 -0
  477. package/lib/Core/Components/Toolbar/index.d.ts.map +1 -0
  478. package/lib/Core/Components/Toolbar/index.js +13 -0
  479. package/lib/Core/Components/Toolbar/index.js.map +1 -0
  480. package/lib/Core/Components/Toolbar/utils/getCount.d.ts +9 -0
  481. package/lib/Core/Components/Toolbar/utils/getCount.d.ts.map +1 -0
  482. package/lib/Core/Components/Toolbar/utils/getCount.js +22 -0
  483. package/lib/Core/Components/Toolbar/utils/getCount.js.map +1 -0
  484. package/lib/Core/Components/Toolbar/utils/utils.d.ts +51 -0
  485. package/lib/Core/Components/Toolbar/utils/utils.d.ts.map +1 -0
  486. package/lib/Core/Components/Toolbar/utils/utils.js +100 -0
  487. package/lib/Core/Components/Toolbar/utils/utils.js.map +1 -0
  488. package/lib/Core/Components/Virtualise/Pagination.d.ts +13 -0
  489. package/lib/Core/Components/Virtualise/Pagination.d.ts.map +1 -0
  490. package/lib/Core/Components/Virtualise/Pagination.js +228 -0
  491. package/lib/Core/Components/Virtualise/Pagination.js.map +1 -0
  492. package/lib/Core/Components/Virtualise/UseResizeObserver.d.ts +2 -0
  493. package/lib/Core/Components/Virtualise/UseResizeObserver.d.ts.map +1 -0
  494. package/lib/Core/Components/Virtualise/UseResizeObserver.js +18 -0
  495. package/lib/Core/Components/Virtualise/UseResizeObserver.js.map +1 -0
  496. package/lib/Core/Components/Virtualise/UseScroll.d.ts +3 -0
  497. package/lib/Core/Components/Virtualise/UseScroll.d.ts.map +1 -0
  498. package/lib/Core/Components/Virtualise/UseScroll.js +92 -0
  499. package/lib/Core/Components/Virtualise/UseScroll.js.map +1 -0
  500. package/lib/Core/Components/Virtualise/VirtualizeInfinite.d.ts +3 -0
  501. package/lib/Core/Components/Virtualise/VirtualizeInfinite.d.ts.map +1 -0
  502. package/lib/Core/Components/Virtualise/VirtualizeInfinite.js +328 -0
  503. package/lib/Core/Components/Virtualise/VirtualizeInfinite.js.map +1 -0
  504. package/lib/Core/Components/Virtualise/index.d.ts +3 -0
  505. package/lib/Core/Components/Virtualise/index.d.ts.map +1 -0
  506. package/lib/Core/Components/Virtualise/index.js +313 -0
  507. package/lib/Core/Components/Virtualise/index.js.map +1 -0
  508. package/lib/Core/Components/Virtualise/utility.d.ts +63 -0
  509. package/lib/Core/Components/Virtualise/utility.d.ts.map +1 -0
  510. package/lib/Core/Components/Virtualise/utility.js +209 -0
  511. package/lib/Core/Components/Virtualise/utility.js.map +1 -0
  512. package/lib/Core/Context/GlobalContext.d.ts +8 -0
  513. package/lib/Core/Context/GlobalContext.d.ts.map +1 -0
  514. package/lib/Core/Context/GlobalContext.js +7 -0
  515. package/lib/Core/Context/GlobalContext.js.map +1 -0
  516. package/lib/Core/Context/LocalizationContext.d.ts +13 -0
  517. package/lib/Core/Context/LocalizationContext.d.ts.map +1 -0
  518. package/lib/Core/Context/LocalizationContext.js +16 -0
  519. package/lib/Core/Context/LocalizationContext.js.map +1 -0
  520. package/lib/Core/Context/ToolbarContext.d.ts +8 -0
  521. package/lib/Core/Context/ToolbarContext.d.ts.map +1 -0
  522. package/lib/Core/Context/ToolbarContext.js +7 -0
  523. package/lib/Core/Context/ToolbarContext.js.map +1 -0
  524. package/lib/Core/Hooks/UseDebounce.d.ts +2 -0
  525. package/lib/Core/Hooks/UseDebounce.d.ts.map +1 -0
  526. package/lib/Core/Hooks/UseDebounce.js +15 -0
  527. package/lib/Core/Hooks/UseDebounce.js.map +1 -0
  528. package/lib/Core/Hooks/UseOuterEvent.d.ts +2 -0
  529. package/lib/Core/Hooks/UseOuterEvent.d.ts.map +1 -0
  530. package/lib/Core/Hooks/UseOuterEvent.js +30 -0
  531. package/lib/Core/Hooks/UseOuterEvent.js.map +1 -0
  532. package/lib/Core/Hooks/UseReactToProps.d.ts +2 -0
  533. package/lib/Core/Hooks/UseReactToProps.d.ts.map +1 -0
  534. package/lib/Core/Hooks/UseReactToProps.js +8 -0
  535. package/lib/Core/Hooks/UseReactToProps.js.map +1 -0
  536. package/lib/Core/Hooks/UseScrollAway.d.ts +2 -0
  537. package/lib/Core/Hooks/UseScrollAway.d.ts.map +1 -0
  538. package/lib/Core/Hooks/UseScrollAway.js +30 -0
  539. package/lib/Core/Hooks/UseScrollAway.js.map +1 -0
  540. package/lib/Core/Hooks/UseSelect.d.ts +2 -0
  541. package/lib/Core/Hooks/UseSelect.d.ts.map +1 -0
  542. package/lib/Core/Hooks/UseSelect.js +17 -0
  543. package/lib/Core/Hooks/UseSelect.js.map +1 -0
  544. package/lib/Core/Hooks/UseThrottle.d.ts +2 -0
  545. package/lib/Core/Hooks/UseThrottle.d.ts.map +1 -0
  546. package/lib/Core/Hooks/UseThrottle.js +14 -0
  547. package/lib/Core/Hooks/UseThrottle.js.map +1 -0
  548. package/lib/Core/Hooks/UseThunkReducer.d.ts +3 -0
  549. package/lib/Core/Hooks/UseThunkReducer.d.ts.map +1 -0
  550. package/lib/Core/Hooks/UseThunkReducer.js +15 -0
  551. package/lib/Core/Hooks/UseThunkReducer.js.map +1 -0
  552. package/lib/Core/Hooks/a11y/index.d.ts +3 -0
  553. package/lib/Core/Hooks/a11y/index.d.ts.map +1 -0
  554. package/lib/Core/Hooks/a11y/index.js +4 -0
  555. package/lib/Core/Hooks/a11y/index.js.map +1 -0
  556. package/lib/Core/Hooks/a11y/useAnnounceGroup.d.ts +3 -0
  557. package/lib/Core/Hooks/a11y/useAnnounceGroup.d.ts.map +1 -0
  558. package/lib/Core/Hooks/a11y/useAnnounceGroup.js +45 -0
  559. package/lib/Core/Hooks/a11y/useAnnounceGroup.js.map +1 -0
  560. package/lib/Core/Hooks/a11y/useKeyboardA11y.d.ts +16 -0
  561. package/lib/Core/Hooks/a11y/useKeyboardA11y.d.ts.map +1 -0
  562. package/lib/Core/Hooks/a11y/useKeyboardA11y.js +147 -0
  563. package/lib/Core/Hooks/a11y/useKeyboardA11y.js.map +1 -0
  564. package/lib/Core/Hooks/useConfirmationModal.d.ts +5 -0
  565. package/lib/Core/Hooks/useConfirmationModal.d.ts.map +1 -0
  566. package/lib/Core/Hooks/useConfirmationModal.js +42 -0
  567. package/lib/Core/Hooks/useConfirmationModal.js.map +1 -0
  568. package/lib/Core/Hooks/useDragDrop.d.ts +25 -0
  569. package/lib/Core/Hooks/useDragDrop.d.ts.map +1 -0
  570. package/lib/Core/Hooks/useDragDrop.js +217 -0
  571. package/lib/Core/Hooks/useDragDrop.js.map +1 -0
  572. package/lib/Core/Hooks/useRepeat.d.ts +18 -0
  573. package/lib/Core/Hooks/useRepeat.d.ts.map +1 -0
  574. package/lib/Core/Hooks/useRepeat.js +174 -0
  575. package/lib/Core/Hooks/useRepeat.js.map +1 -0
  576. package/lib/Core/Hooks/useSingleClick.d.ts +2 -0
  577. package/lib/Core/Hooks/useSingleClick.d.ts.map +1 -0
  578. package/lib/Core/Hooks/useSingleClick.js +17 -0
  579. package/lib/Core/Hooks/useSingleClick.js.map +1 -0
  580. package/lib/Core/Hooks/useSmallScreen.d.ts +4 -0
  581. package/lib/Core/Hooks/useSmallScreen.d.ts.map +1 -0
  582. package/lib/Core/Hooks/useSmallScreen.js +11 -0
  583. package/lib/Core/Hooks/useSmallScreen.js.map +1 -0
  584. package/lib/Core/Hooks/useTranslate.d.ts +2 -0
  585. package/lib/Core/Hooks/useTranslate.d.ts.map +1 -0
  586. package/lib/Core/Hooks/useTranslate.js +7 -0
  587. package/lib/Core/Hooks/useTranslate.js.map +1 -0
  588. package/lib/Core/Localization/defaultTranslations.d.ts +144 -0
  589. package/lib/Core/Localization/defaultTranslations.d.ts.map +1 -0
  590. package/lib/Core/Localization/defaultTranslations.js +145 -0
  591. package/lib/Core/Localization/defaultTranslations.js.map +1 -0
  592. package/lib/Core/Localization/translateCosmosLiteralsUtils.d.ts +6 -0
  593. package/lib/Core/Localization/translateCosmosLiteralsUtils.d.ts.map +1 -0
  594. package/lib/Core/Localization/translateCosmosLiteralsUtils.js +15 -0
  595. package/lib/Core/Localization/translateCosmosLiteralsUtils.js.map +1 -0
  596. package/lib/Core/Test/JUnitMocks.d.ts +1015 -0
  597. package/lib/Core/Test/JUnitMocks.d.ts.map +1 -0
  598. package/lib/Core/Test/JUnitMocks.js +619 -0
  599. package/lib/Core/Test/JUnitMocks.js.map +1 -0
  600. package/lib/Core/Test/TestUtils.d.ts +9 -0
  601. package/lib/Core/Test/TestUtils.d.ts.map +1 -0
  602. package/lib/Core/Test/TestUtils.js +25 -0
  603. package/lib/Core/Test/TestUtils.js.map +1 -0
  604. package/lib/Core/Utils/index.d.ts +19 -0
  605. package/lib/Core/Utils/index.d.ts.map +1 -0
  606. package/lib/Core/Utils/index.js +93 -0
  607. package/lib/Core/Utils/index.js.map +1 -0
  608. package/lib/Core/Views/Gallery/GalleryA11y.d.ts +13 -0
  609. package/lib/Core/Views/Gallery/GalleryA11y.d.ts.map +1 -0
  610. package/lib/Core/Views/Gallery/GalleryA11y.js +57 -0
  611. package/lib/Core/Views/Gallery/GalleryA11y.js.map +1 -0
  612. package/lib/Core/Views/Gallery/ItemWrapper.d.ts +19 -0
  613. package/lib/Core/Views/Gallery/ItemWrapper.d.ts.map +1 -0
  614. package/lib/Core/Views/Gallery/ItemWrapper.js +29 -0
  615. package/lib/Core/Views/Gallery/ItemWrapper.js.map +1 -0
  616. package/lib/Core/Views/Gallery/StyledGalleryContainer.d.ts +3 -0
  617. package/lib/Core/Views/Gallery/StyledGalleryContainer.d.ts.map +1 -0
  618. package/lib/Core/Views/Gallery/StyledGalleryContainer.js +60 -0
  619. package/lib/Core/Views/Gallery/StyledGalleryContainer.js.map +1 -0
  620. package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.d.ts +2 -0
  621. package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.d.ts.map +1 -0
  622. package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.js +8 -0
  623. package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.js.map +1 -0
  624. package/lib/Core/Views/Gallery/index.d.ts +13 -0
  625. package/lib/Core/Views/Gallery/index.d.ts.map +1 -0
  626. package/lib/Core/Views/Gallery/index.js +82 -0
  627. package/lib/Core/Views/Gallery/index.js.map +1 -0
  628. package/lib/Core/Views/Map/Map.styles.d.ts +12 -0
  629. package/lib/Core/Views/Map/Map.styles.d.ts.map +1 -0
  630. package/lib/Core/Views/Map/Map.styles.js +47 -0
  631. package/lib/Core/Views/Map/Map.styles.js.map +1 -0
  632. package/lib/Core/Views/Map/MapItem.d.ts +10 -0
  633. package/lib/Core/Views/Map/MapItem.d.ts.map +1 -0
  634. package/lib/Core/Views/Map/MapItem.js +12 -0
  635. package/lib/Core/Views/Map/MapItem.js.map +1 -0
  636. package/lib/Core/Views/Map/index.d.ts +7 -0
  637. package/lib/Core/Views/Map/index.d.ts.map +1 -0
  638. package/lib/Core/Views/Map/index.js +50 -0
  639. package/lib/Core/Views/Map/index.js.map +1 -0
  640. package/lib/Core/Views/Map/utils.d.ts +14 -0
  641. package/lib/Core/Views/Map/utils.d.ts.map +1 -0
  642. package/lib/Core/Views/Map/utils.js +31 -0
  643. package/lib/Core/Views/Map/utils.js.map +1 -0
  644. package/lib/Core/Views/Table/Body.d.ts +23 -0
  645. package/lib/Core/Views/Table/Body.d.ts.map +1 -0
  646. package/lib/Core/Views/Table/Body.js +44 -0
  647. package/lib/Core/Views/Table/Body.js.map +1 -0
  648. package/lib/Core/Views/Table/CellWrapper.d.ts +23 -0
  649. package/lib/Core/Views/Table/CellWrapper.d.ts.map +1 -0
  650. package/lib/Core/Views/Table/CellWrapper.js +75 -0
  651. package/lib/Core/Views/Table/CellWrapper.js.map +1 -0
  652. package/lib/Core/Views/Table/GroupingHeaderCell.d.ts +22 -0
  653. package/lib/Core/Views/Table/GroupingHeaderCell.d.ts.map +1 -0
  654. package/lib/Core/Views/Table/GroupingHeaderCell.js +26 -0
  655. package/lib/Core/Views/Table/GroupingHeaderCell.js.map +1 -0
  656. package/lib/Core/Views/Table/HeaderWrapper.d.ts +13 -0
  657. package/lib/Core/Views/Table/HeaderWrapper.d.ts.map +1 -0
  658. package/lib/Core/Views/Table/HeaderWrapper.js +33 -0
  659. package/lib/Core/Views/Table/HeaderWrapper.js.map +1 -0
  660. package/lib/Core/Views/Table/Headers.d.ts +3 -0
  661. package/lib/Core/Views/Table/Headers.d.ts.map +1 -0
  662. package/lib/Core/Views/Table/Headers.js +24 -0
  663. package/lib/Core/Views/Table/Headers.js.map +1 -0
  664. package/lib/Core/Views/Table/Row.d.ts +26 -0
  665. package/lib/Core/Views/Table/Row.d.ts.map +1 -0
  666. package/lib/Core/Views/Table/Row.js +24 -0
  667. package/lib/Core/Views/Table/Row.js.map +1 -0
  668. package/lib/Core/Views/Table/Samples/a11ySampleWithErrors.d.ts +8 -0
  669. package/lib/Core/Views/Table/Samples/a11ySampleWithErrors.d.ts.map +1 -0
  670. package/lib/Core/Views/Table/Samples/a11ySampleWithErrors.js +333 -0
  671. package/lib/Core/Views/Table/Samples/a11ySampleWithErrors.js.map +1 -0
  672. package/lib/Core/Views/Table/StyledTableContainer.d.ts +3 -0
  673. package/lib/Core/Views/Table/StyledTableContainer.d.ts.map +1 -0
  674. package/lib/Core/Views/Table/StyledTableContainer.js +861 -0
  675. package/lib/Core/Views/Table/StyledTableContainer.js.map +1 -0
  676. package/lib/Core/Views/Table/TableA11y.d.ts +48 -0
  677. package/lib/Core/Views/Table/TableA11y.d.ts.map +1 -0
  678. package/lib/Core/Views/Table/TableA11y.js +638 -0
  679. package/lib/Core/Views/Table/TableA11y.js.map +1 -0
  680. package/lib/Core/Views/Table/UseSort.d.ts +2 -0
  681. package/lib/Core/Views/Table/UseSort.d.ts.map +1 -0
  682. package/lib/Core/Views/Table/UseSort.js +37 -0
  683. package/lib/Core/Views/Table/UseSort.js.map +1 -0
  684. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts +31 -0
  685. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts.map +1 -0
  686. package/lib/Core/Views/Table/VirtualizeWrapper.js +39 -0
  687. package/lib/Core/Views/Table/VirtualizeWrapper.js.map +1 -0
  688. package/lib/Core/Views/Table/index.d.ts +13 -0
  689. package/lib/Core/Views/Table/index.d.ts.map +1 -0
  690. package/lib/Core/Views/Table/index.js +91 -0
  691. package/lib/Core/Views/Table/index.js.map +1 -0
  692. package/lib/Core/Views/Timeline/index.d.ts +7 -0
  693. package/lib/Core/Views/Timeline/index.d.ts.map +1 -0
  694. package/lib/Core/Views/Timeline/index.js +81 -0
  695. package/lib/Core/Views/Timeline/index.js.map +1 -0
  696. package/lib/Core/Views/Timeline/utility.d.ts +8 -0
  697. package/lib/Core/Views/Timeline/utility.d.ts.map +1 -0
  698. package/lib/Core/Views/Timeline/utility.js +120 -0
  699. package/lib/Core/Views/Timeline/utility.js.map +1 -0
  700. package/lib/Core/Views/rs-styles.d.ts +3 -0
  701. package/lib/Core/Views/rs-styles.d.ts.map +1 -0
  702. package/lib/Core/Views/rs-styles.js +10 -0
  703. package/lib/Core/Views/rs-styles.js.map +1 -0
  704. package/lib/Core/constants.d.ts +73 -0
  705. package/lib/Core/constants.d.ts.map +1 -0
  706. package/lib/Core/constants.js +86 -0
  707. package/lib/Core/constants.js.map +1 -0
  708. package/lib/Core/index.d.ts +5 -0
  709. package/lib/Core/index.d.ts.map +1 -0
  710. package/lib/Core/index.js +40 -0
  711. package/lib/Core/index.js.map +1 -0
  712. package/lib/index.d.ts +6 -0
  713. package/lib/index.d.ts.map +1 -0
  714. package/lib/index.js +7 -0
  715. package/lib/index.js.map +1 -0
  716. package/lib/types.d.ts +231 -0
  717. package/lib/types.d.ts.map +1 -0
  718. package/lib/types.js +2 -0
  719. package/lib/types.js.map +1 -0
  720. package/package.json +51 -0
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useRef, useMemo } from 'react';
3
+ import { ConditionBuilder, splitConditionTree } from '@pega/cosmos-react-condition-builder';
4
+ import useValidRhsTypes from '../../Filters/Hooks/useValidRhsTypes';
5
+ import getMenuItemsFromColumns from '../utils/utils';
6
+ import { TOOLBAR_FEATURES } from '../../../constants';
7
+ const useFilter = ({ view }) => {
8
+ const { state: { filterExpression, clearColFilter } = {}, type: { clearFilter, applyFilter } } = view;
9
+ const displayFilter = view.shouldDisplayFeature(TOOLBAR_FEATURES.FILTER);
10
+ const formattedColumns = useMemo(() => getMenuItemsFromColumns(view.columns?.filter(c => c.field.filter), 'name'), [view.columns]);
11
+ const validRhsTypes = useValidRhsTypes(view);
12
+ const handle = useRef(null);
13
+ const { conditions } = splitConditionTree(filterExpression);
14
+ const filters = Object.keys(conditions) || [];
15
+ const onSubmit = useCallback(() => {
16
+ if (!handle?.current)
17
+ return true;
18
+ const [valid, newCondition] = handle.current.getCondition();
19
+ if (!valid)
20
+ return false;
21
+ applyFilter({ filterExp: newCondition });
22
+ if (clearColFilter)
23
+ clearFilter(null);
24
+ return true;
25
+ }, [applyFilter, clearFilter, clearColFilter]);
26
+ const onCancel = useCallback(() => {
27
+ if (clearColFilter)
28
+ clearFilter(null);
29
+ }, [clearColFilter, clearFilter]);
30
+ const filterRenderer = useCallback(() => {
31
+ return (_jsx(ConditionBuilder, { fields: formattedColumns, condition: filterExpression || undefined, validRhsTypes: validRhsTypes, dateFunctions: view.meta.dateFunctions, disallowNOT: true, handle: handle }));
32
+ }, [filterExpression, formattedColumns, validRhsTypes, view.meta.dateFunctions]);
33
+ if (!displayFilter)
34
+ return;
35
+ return {
36
+ count: filters?.length > 0 ? filters.length : undefined,
37
+ renderer: filterRenderer,
38
+ onCancel,
39
+ onSubmit
40
+ };
41
+ };
42
+ export default useFilter;
43
+ //# sourceMappingURL=useFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilter.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useFilter.jsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE5F,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,uBAAuB,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7B,MAAM,EACJ,KAAK,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,EAAE,EAChD,IAAI,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EACnC,GAAG,IAAI,CAAC;IACT,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACH,uBAAuB,CACrB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,MAAM,CACP,EACH,CAAC,IAAI,CAAC,OAAO,CAAC,CACf,CAAC;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAE9C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QAElC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC5D,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,WAAW,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;QACzC,IAAI,cAAc;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,cAAc;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,OAAO,CACL,KAAC,gBAAgB,IACf,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,gBAAgB,IAAI,SAAS,EACxC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EACtC,WAAW,QACX,MAAM,EAAE,MAAM,GACd,CACH,CAAC;IACJ,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,OAAO;QACL,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACvD,QAAQ,EAAE,cAAc;QACxB,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import { useCallback, useRef, useMemo } from 'react';\n\nimport { ConditionBuilder, splitConditionTree } from '@pega/cosmos-react-condition-builder';\n\nimport useValidRhsTypes from '../../Filters/Hooks/useValidRhsTypes';\nimport getMenuItemsFromColumns from '../utils/utils';\nimport { TOOLBAR_FEATURES } from '../../../constants';\n\nconst useFilter = ({ view }) => {\n const {\n state: { filterExpression, clearColFilter } = {},\n type: { clearFilter, applyFilter }\n } = view;\n const displayFilter = view.shouldDisplayFeature(TOOLBAR_FEATURES.FILTER);\n const formattedColumns = useMemo(\n () =>\n getMenuItemsFromColumns(\n view.columns?.filter(c => c.field.filter),\n 'name'\n ),\n [view.columns]\n );\n const validRhsTypes = useValidRhsTypes(view);\n const handle = useRef(null);\n const { conditions } = splitConditionTree(filterExpression);\n const filters = Object.keys(conditions) || [];\n\n const onSubmit = useCallback(() => {\n if (!handle?.current) return true;\n\n const [valid, newCondition] = handle.current.getCondition();\n if (!valid) return false;\n\n applyFilter({ filterExp: newCondition });\n if (clearColFilter) clearFilter(null);\n return true;\n }, [applyFilter, clearFilter, clearColFilter]);\n\n const onCancel = useCallback(() => {\n if (clearColFilter) clearFilter(null);\n }, [clearColFilter, clearFilter]);\n const filterRenderer = useCallback(() => {\n return (\n <ConditionBuilder\n fields={formattedColumns}\n condition={filterExpression || undefined}\n validRhsTypes={validRhsTypes}\n dateFunctions={view.meta.dateFunctions} // Could be undefined\n disallowNOT\n handle={handle}\n />\n );\n }, [filterExpression, formattedColumns, validRhsTypes, view.meta.dateFunctions]);\n if (!displayFilter) return;\n return {\n count: filters?.length > 0 ? filters.length : undefined,\n renderer: filterRenderer,\n onCancel,\n onSubmit\n };\n};\n\nexport default useFilter;\n"]}
@@ -0,0 +1,5 @@
1
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ import type { FormControlProps } from '@pega/cosmos-react-core';
3
+ declare const useFormControlProps: (view: RsCoreTypes.View) => FormControlProps;
4
+ export default useFormControlProps;
5
+ //# sourceMappingURL=useFormControlProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormControlProps.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useFormControlProps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,QAAA,MAAM,mBAAmB,SAAU,WAAW,CAAC,IAAI,KAAG,gBAcrD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { useMemo } from 'react';
2
+ import { useToolbarContext } from '../../../Context/ToolbarContext';
3
+ const useFormControlProps = (view) => {
4
+ const { meta: { requiredOnLoad } = {}, getContext } = view;
5
+ const { getRequiredDef } = getContext();
6
+ const { required } = getRequiredDef() || {};
7
+ const { additionalInfo } = useToolbarContext();
8
+ return useMemo(() => {
9
+ const formProps = {};
10
+ if (required ?? requiredOnLoad) {
11
+ formProps.required = true;
12
+ }
13
+ formProps.additionalInfo = additionalInfo;
14
+ return formProps;
15
+ }, [required, requiredOnLoad, additionalInfo]);
16
+ };
17
+ export default useFormControlProps;
18
+ //# sourceMappingURL=useFormControlProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormControlProps.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useFormControlProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAKhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,mBAAmB,GAAG,CAAC,IAAsB,EAAoB,EAAE;IACvE,MAAM,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE3D,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IACxC,MAAM,EAAE,QAAQ,EAAE,GAAQ,cAAc,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC/C,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;YAC/B,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { useMemo } from 'react';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { FormControlProps } from '@pega/cosmos-react-core';\n\nimport { useToolbarContext } from '../../../Context/ToolbarContext';\n\nconst useFormControlProps = (view: RsCoreTypes.View): FormControlProps => {\n const { meta: { requiredOnLoad } = {}, getContext } = view;\n\n const { getRequiredDef } = getContext();\n const { required }: any = getRequiredDef() || {};\n const { additionalInfo } = useToolbarContext();\n return useMemo(() => {\n const formProps: FormControlProps = {};\n if (required ?? requiredOnLoad) {\n formProps.required = true;\n }\n formProps.additionalInfo = additionalInfo;\n return formProps;\n }, [required, requiredOnLoad, additionalInfo]);\n};\n\nexport default useFormControlProps;\n"]}
@@ -0,0 +1,24 @@
1
+ export default DateFunctionSelector;
2
+ /** Renders a Date-function selector in a grouping row if applicable */
3
+ declare function DateFunctionSelector(props: any): import("react/jsx-runtime").JSX.Element | null;
4
+ declare namespace DateFunctionSelector {
5
+ namespace propTypes {
6
+ let group: PropTypes.Validator<{
7
+ [x: string]: any;
8
+ }>;
9
+ let dateFunctions: PropTypes.Requireable<{
10
+ [x: string]: any;
11
+ }>;
12
+ let groupingOptions: PropTypes.Validator<{
13
+ [x: string]: any;
14
+ }>;
15
+ let columns: PropTypes.Validator<any[]>;
16
+ let onChange: PropTypes.Validator<(...args: any[]) => any>;
17
+ }
18
+ namespace defaultProps {
19
+ let dateFunctions_1: undefined;
20
+ export { dateFunctions_1 as dateFunctions };
21
+ }
22
+ }
23
+ import PropTypes from 'prop-types';
24
+ //# sourceMappingURL=DateFunctionSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFunctionSelector.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.jsx"],"names":[],"mappings":";AAeA,uEAAuE;AACvE,kGA2DC;;;;;;;;;;;;;;;;;;;;sBA1EqB,YAAY"}
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import styled from 'styled-components';
5
+ import { Option, Select } from '@pega/cosmos-react-core';
6
+ import { dateFunctionLabels } from 'pega-repeating-structures-core';
7
+ import useTranslate from '../../../../Hooks/useTranslate';
8
+ import { getFieldType } from './utils';
9
+ const StyledDateFuncWrapper = styled.div `
10
+ width: 9rem;
11
+ `;
12
+ /** Renders a Date-function selector in a grouping row if applicable */
13
+ const DateFunctionSelector = props => {
14
+ const { group, groupingOptions, dateFunctions, columns, onChange } = props;
15
+ const [translate] = useTranslate();
16
+ const fieldType = getFieldType(group.columnId, columns);
17
+ /**
18
+ * Determine what all date functions (if any) can be used for the given fieldType
19
+ * @type { import("./Grouping.types").DateSelectorOption[] }
20
+ */
21
+ const allOptions = useMemo(() => {
22
+ // If date functions are disabled or not applicable to the current field type
23
+ if (!dateFunctions || !['date', 'datetime'].includes(fieldType)) {
24
+ return [];
25
+ }
26
+ return [
27
+ // Date functions applicable for the given field type
28
+ ...dateFunctions[fieldType === 'date' ? 'DATE_ONLY' : 'DATE_TIME'].map(f => ({
29
+ key: f,
30
+ dateFunction: f,
31
+ label: translate(dateFunctionLabels[f])
32
+ })),
33
+ // Option for grouping directly by the field values
34
+ // The key 'NONE' is needed to work with the Select component
35
+ { key: 'NONE', dateFunction: undefined, label: 'Default' }
36
+ ];
37
+ }, [dateFunctions, fieldType, translate]);
38
+ // Skip if no options are available
39
+ // i.e. date functions are disabled or not applicable to current field type
40
+ if (allOptions.length === 0) {
41
+ return null;
42
+ }
43
+ // NOTE: Doing it this way to preserve the order of options.
44
+ // If we instead appended `group.dateFunction` to `available`, the order or options will change on further selections.
45
+ const { available } = groupingOptions.dateFuncs[group.columnId];
46
+ const optionsToUse = allOptions.filter(o => available.includes(o.dateFunction) || o.dateFunction === group.dateFunction);
47
+ return (_jsx(StyledDateFuncWrapper, { children: _jsx(Select, { label: 'Date function', labelHidden: true, "data-testid": 'GroupingDateFuncSelector', value: group.dateFunction || 'NONE', onChange: e => onChange(e.target.value === 'NONE' ? undefined : e.target.value), children: optionsToUse.map(o => (_jsx(Option, { value: o.key, children: o.label }, o.key))) }) }));
48
+ };
49
+ DateFunctionSelector.propTypes = {
50
+ group: PropTypes.objectOf(PropTypes.any).isRequired,
51
+ dateFunctions: PropTypes.objectOf(PropTypes.any),
52
+ groupingOptions: PropTypes.objectOf(PropTypes.any).isRequired,
53
+ columns: PropTypes.arrayOf(PropTypes.any).isRequired,
54
+ onChange: PropTypes.func.isRequired
55
+ };
56
+ DateFunctionSelector.defaultProps = { dateFunctions: undefined };
57
+ export default DateFunctionSelector;
58
+ //# sourceMappingURL=DateFunctionSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFunctionSelector.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport { Option, Select } from '@pega/cosmos-react-core';\nimport { dateFunctionLabels } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../../../Hooks/useTranslate';\n\nimport { getFieldType } from './utils';\n\nconst StyledDateFuncWrapper = styled.div`\n width: 9rem;\n`;\n\n/** Renders a Date-function selector in a grouping row if applicable */\nconst DateFunctionSelector = props => {\n const { group, groupingOptions, dateFunctions, columns, onChange } = props;\n const [translate] = useTranslate();\n const fieldType = getFieldType(group.columnId, columns);\n\n /**\n * Determine what all date functions (if any) can be used for the given fieldType\n * @type { import(\"./Grouping.types\").DateSelectorOption[] }\n */\n const allOptions = useMemo(() => {\n // If date functions are disabled or not applicable to the current field type\n if (!dateFunctions || !['date', 'datetime'].includes(fieldType)) {\n return [];\n }\n\n return [\n // Date functions applicable for the given field type\n ...dateFunctions[fieldType === 'date' ? 'DATE_ONLY' : 'DATE_TIME'].map(f => ({\n key: f,\n dateFunction: f,\n label: translate(dateFunctionLabels[f])\n })),\n\n // Option for grouping directly by the field values\n // The key 'NONE' is needed to work with the Select component\n { key: 'NONE', dateFunction: undefined, label: 'Default' }\n ];\n }, [dateFunctions, fieldType, translate]);\n\n // Skip if no options are available\n // i.e. date functions are disabled or not applicable to current field type\n if (allOptions.length === 0) {\n return null;\n }\n\n // NOTE: Doing it this way to preserve the order of options.\n // If we instead appended `group.dateFunction` to `available`, the order or options will change on further selections.\n const { available } = groupingOptions.dateFuncs[group.columnId];\n const optionsToUse = allOptions.filter(\n o => available.includes(o.dateFunction) || o.dateFunction === group.dateFunction\n );\n\n return (\n <StyledDateFuncWrapper>\n <Select\n label='Date function'\n labelHidden\n data-testid='GroupingDateFuncSelector'\n value={group.dateFunction || 'NONE'} // Can't set up `undefined` as value\n onChange={e => onChange(e.target.value === 'NONE' ? undefined : e.target.value)}\n >\n {optionsToUse.map(o => (\n <Option key={o.key} value={o.key}>\n {o.label}\n </Option>\n ))}\n </Select>\n </StyledDateFuncWrapper>\n );\n};\nDateFunctionSelector.propTypes = {\n group: PropTypes.objectOf(PropTypes.any).isRequired,\n dateFunctions: PropTypes.objectOf(PropTypes.any),\n groupingOptions: PropTypes.objectOf(PropTypes.any).isRequired,\n columns: PropTypes.arrayOf(PropTypes.any).isRequired,\n onChange: PropTypes.func.isRequired\n};\nDateFunctionSelector.defaultProps = { dateFunctions: undefined };\n\nexport default DateFunctionSelector;\n"]}
@@ -0,0 +1,16 @@
1
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ import type { Group } from 'pega-repeating-structures-core/types/State.types';
3
+ import type { GroupingOptions } from '../../Grouping.types';
4
+ import type { AppliedGroup } from './useGroup';
5
+ interface GroupRendererProps {
6
+ appliedGroups: AppliedGroup[];
7
+ groupingOptions: GroupingOptions;
8
+ setGroups: (groups: (Group | {
9
+ id: string;
10
+ })[]) => void;
11
+ columns: RsCoreTypes.Column[];
12
+ dateFunctions: RsCoreTypes.Meta['dateFunctions'];
13
+ }
14
+ declare const GroupRenderer: ({ appliedGroups, groupingOptions, setGroups, columns, dateFunctions }: GroupRendererProps) => import("react/jsx-runtime").JSX.Element;
15
+ export default GroupRenderer;
16
+ //# sourceMappingURL=GroupRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupRenderer.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useGroup/GroupRenderer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AAK9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS/C,UAAU,kBAAkB;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACxD,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;CAClD;AACD,QAAA,MAAM,aAAa,0EAMhB,kBAAkB,4CAoLpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styled from 'styled-components';
3
+ import { useCallback, useEffect, useRef } from 'react';
4
+ import { Button, createUID, Flex, Icon, useI18n } from '@pega/cosmos-react-core';
5
+ import useRowFocus from '../useRowFocus';
6
+ import useDragDrop from '../../../../Hooks/useDragDrop';
7
+ import FieldSelector from '../../FieldSelector';
8
+ import { getFieldType } from './utils';
9
+ import DateFunctionSelector from './DateFunctionSelector';
10
+ const DropSelector = '[data-drop]';
11
+ const StyledRow = styled.div `
12
+ .remove-group {
13
+ cursor: pointer;
14
+ }
15
+ `;
16
+ const GroupRenderer = ({ appliedGroups, groupingOptions, setGroups, columns, dateFunctions }) => {
17
+ const t = useI18n();
18
+ const { focusRowRef, focusRowId, setFocusRowId } = useRowFocus();
19
+ const dragDropRef = useRef(null);
20
+ const getAnimationSelector = useCallback((target) => target.closest(DropSelector), []);
21
+ const onDrop = useCallback((dest, src) => {
22
+ const dropIndex = Number(dest.getAttribute('data-index'));
23
+ const dragIndex = Number(src.getAttribute('data-index'));
24
+ if (dragIndex !== dropIndex) {
25
+ const existingGroups = appliedGroups.map(v => ({ ...v }));
26
+ const dragGroup = existingGroups.splice(dragIndex, 1)[0];
27
+ existingGroups.splice(dropIndex, 0, dragGroup);
28
+ setGroups(existingGroups);
29
+ }
30
+ }, [appliedGroups, setGroups]);
31
+ const { dragProps, dropProps } = useDragDrop({
32
+ context: dragDropRef,
33
+ getAnimationSelector,
34
+ getGhostImageSelector: getAnimationSelector,
35
+ getDraggedObject: getAnimationSelector,
36
+ onDrop
37
+ });
38
+ const removeGroup = useCallback((index) => {
39
+ const existingGroups = appliedGroups.map(v => ({ ...v }));
40
+ existingGroups.splice(index, 1);
41
+ setGroups(existingGroups);
42
+ if (existingGroups.length > 0)
43
+ setFocusRowId(index === appliedGroups.length - 1
44
+ ? existingGroups[index - 1].id
45
+ : existingGroups[index].id);
46
+ }, [appliedGroups, setGroups, setFocusRowId]);
47
+ const handleColumnChange = useCallback((group, index, newID) => {
48
+ if (newID === group.columnId)
49
+ return; // Ignore re-selecting the same
50
+ const updatedGroup = {
51
+ ...group,
52
+ columnId: newID,
53
+ dateFunction: undefined // Reset for non-date/time fields
54
+ };
55
+ // For date/datetime field, pick a date function by default (if enabled)
56
+ const fieldType = getFieldType(newID, columns);
57
+ if (dateFunctions && (fieldType === 'date' || fieldType === 'datetime')) {
58
+ updatedGroup.dateFunction = groupingOptions.dateFuncs[newID]
59
+ ? groupingOptions.dateFuncs[newID].available[0] // If the field is already picked before
60
+ : groupingOptions.dateGroupVariants[fieldType][0]; // When picking the field for the first time
61
+ }
62
+ setGroups([
63
+ ...appliedGroups.slice(0, index),
64
+ updatedGroup,
65
+ ...appliedGroups.slice(index + 1)
66
+ ]);
67
+ }, [appliedGroups, groupingOptions, setGroups, dateFunctions, columns]);
68
+ const handleDateFuncChange = useCallback((group, index, newFunc) => {
69
+ if (newFunc === group.dateFunction)
70
+ return; // Ignore re-selecting the same
71
+ const updatedGroup = { ...group, dateFunction: newFunc };
72
+ setGroups([
73
+ ...appliedGroups.slice(0, index),
74
+ updatedGroup,
75
+ ...appliedGroups.slice(index + 1)
76
+ ]);
77
+ }, [setGroups, appliedGroups]);
78
+ const addRow = useCallback(() => {
79
+ const newRow = { id: createUID(), columnId: '', order: 'asc' };
80
+ const existingGroups = [...appliedGroups, newRow];
81
+ setGroups(existingGroups);
82
+ setFocusRowId(newRow.id);
83
+ }, [appliedGroups, setGroups, setFocusRowId]);
84
+ useEffect(() => {
85
+ if (!appliedGroups.length) {
86
+ addRow();
87
+ }
88
+ }, [appliedGroups, addRow]);
89
+ return (_jsxs(Flex, { container: { direction: 'column', gap: 2 }, children: [_jsx(Flex, { container: { direction: 'column', gap: 1 }, className: 'group-content', ref: dragDropRef, children: appliedGroups.map((group, index) => (_jsx(StyledRow, { children: _jsx("div", { ...dropProps, "data-index": index, children: _jsxs(Flex, { container: {
90
+ justify: 'between',
91
+ alignItems: 'center',
92
+ direction: 'row',
93
+ wrap: 'nowrap',
94
+ itemGap: 0.5
95
+ }, ref: appliedGroups[index].id === focusRowId ? focusRowRef : null, children: [_jsx(Flex, { item: { grow: 1 }, children: _jsxs(Flex, { container: {
96
+ justify: 'start',
97
+ alignItems: 'center',
98
+ direction: 'row',
99
+ wrap: 'nowrap',
100
+ itemGap: 0.5
101
+ }, children: [_jsx("div", { ...dragProps, children: _jsx(Icon, { name: 'drag' }) }), _jsx(Flex, { item: { grow: 1 }, children: _jsx(FieldSelector, { columns: columns?.filter(c => c.field.grouping &&
102
+ (c.field.id.toString() === group.columnId.toString() ||
103
+ !groupingOptions.exhaustedFields.has(c.field.id))), value: group.columnId, disabled: !!group.customFunction, onChange: (newID) => handleColumnChange(group, index, newID), fieldProp: 'id' }) }), _jsx(DateFunctionSelector, { group: group, groupingOptions: groupingOptions, dateFunctions: dateFunctions, columns: columns, onChange: (newFunc) => handleDateFuncChange(group, index, newFunc) })] }) }), _jsx(Button, { "aria-label": t('delete_group'), icon: true, variant: 'simple', className: 'remove-group', onClick: () => removeGroup(index), children: _jsx(Icon, { name: 'trash' }) })] }) }) }, group.id))) }), _jsx("div", { children: _jsx(Button, { variant: 'link', "aria-label": t('add_group'), onClick: addRow, children: _jsxs(Flex, { container: {
104
+ inline: true,
105
+ alignItems: 'start',
106
+ gap: 1
107
+ }, as: 'span', children: [_jsx(Icon, { name: 'plus' }), _jsx("span", { children: t('add') })] }) }) })] }, 'grouping'));
108
+ };
109
+ export default GroupRenderer;
110
+ //# sourceMappingURL=GroupRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupRenderer.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useGroup/GroupRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["import styled from 'styled-components';\nimport { useCallback, useEffect, useRef } from 'react';\n\nimport { Button, createUID, Flex, Icon, useI18n } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { Group } from 'pega-repeating-structures-core/types/State.types';\n\nimport useRowFocus from '../useRowFocus';\nimport useDragDrop from '../../../../Hooks/useDragDrop';\nimport FieldSelector from '../../FieldSelector';\nimport type { GroupingOptions } from '../../Grouping.types';\n\nimport { getFieldType } from './utils';\nimport DateFunctionSelector from './DateFunctionSelector';\nimport type { AppliedGroup } from './useGroup';\n\nconst DropSelector = '[data-drop]';\nconst StyledRow = styled.div`\n .remove-group {\n cursor: pointer;\n }\n`;\n\ninterface GroupRendererProps {\n appliedGroups: AppliedGroup[];\n groupingOptions: GroupingOptions;\n setGroups: (groups: (Group | { id: string })[]) => void;\n columns: RsCoreTypes.Column[];\n dateFunctions: RsCoreTypes.Meta['dateFunctions'];\n}\nconst GroupRenderer = ({\n appliedGroups,\n groupingOptions,\n setGroups,\n columns,\n dateFunctions\n}: GroupRendererProps) => {\n const t = useI18n();\n const { focusRowRef, focusRowId, setFocusRowId } = useRowFocus();\n\n const dragDropRef = useRef<HTMLDivElement>(null);\n const getAnimationSelector = useCallback((target: Element) => target.closest(DropSelector), []);\n const onDrop = useCallback(\n (dest: Element, src: Element) => {\n const dropIndex = Number(dest.getAttribute('data-index'));\n const dragIndex = Number(src.getAttribute('data-index'));\n if (dragIndex !== dropIndex) {\n const existingGroups = appliedGroups.map(v => ({ ...v }));\n const dragGroup = existingGroups.splice(dragIndex, 1)[0];\n existingGroups.splice(dropIndex, 0, dragGroup);\n setGroups(existingGroups);\n }\n },\n [appliedGroups, setGroups]\n );\n const { dragProps, dropProps } = useDragDrop({\n context: dragDropRef,\n getAnimationSelector,\n getGhostImageSelector: getAnimationSelector,\n getDraggedObject: getAnimationSelector,\n onDrop\n });\n\n const removeGroup = useCallback(\n (index: number) => {\n const existingGroups = appliedGroups.map(v => ({ ...v }));\n existingGroups.splice(index, 1);\n setGroups(existingGroups);\n\n if (existingGroups.length > 0)\n setFocusRowId(\n index === appliedGroups.length - 1\n ? existingGroups[index - 1].id\n : existingGroups[index].id\n );\n },\n [appliedGroups, setGroups, setFocusRowId]\n );\n\n const handleColumnChange = useCallback(\n (group: Group, index: number, newID: string) => {\n if (newID === group.columnId) return; // Ignore re-selecting the same\n const updatedGroup: Group = {\n ...group,\n columnId: newID,\n dateFunction: undefined // Reset for non-date/time fields\n };\n\n // For date/datetime field, pick a date function by default (if enabled)\n const fieldType = getFieldType(newID, columns);\n if (dateFunctions && (fieldType === 'date' || fieldType === 'datetime')) {\n updatedGroup.dateFunction = groupingOptions.dateFuncs[newID]\n ? groupingOptions.dateFuncs[newID].available[0] // If the field is already picked before\n : groupingOptions.dateGroupVariants[fieldType][0]; // When picking the field for the first time\n }\n\n setGroups([\n ...appliedGroups.slice(0, index),\n updatedGroup,\n ...appliedGroups.slice(index + 1)\n ]);\n },\n [appliedGroups, groupingOptions, setGroups, dateFunctions, columns]\n );\n\n const handleDateFuncChange = useCallback(\n (group: Group, index: number, newFunc: Group['dateFunction']) => {\n if (newFunc === group.dateFunction) return; // Ignore re-selecting the same\n const updatedGroup = { ...group, dateFunction: newFunc };\n setGroups([\n ...appliedGroups.slice(0, index),\n updatedGroup,\n ...appliedGroups.slice(index + 1)\n ]);\n },\n [setGroups, appliedGroups]\n );\n\n const addRow = useCallback(() => {\n const newRow = { id: createUID(), columnId: '', order: 'asc' };\n const existingGroups = [...appliedGroups, newRow];\n setGroups(existingGroups);\n setFocusRowId(newRow.id);\n }, [appliedGroups, setGroups, setFocusRowId]);\n\n useEffect(() => {\n if (!appliedGroups.length) {\n addRow();\n }\n }, [appliedGroups, addRow]);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }} key='grouping'>\n <Flex container={{ direction: 'column', gap: 1 }} className='group-content' ref={dragDropRef}>\n {appliedGroups.map((group, index) => (\n <StyledRow key={group.id}>\n <div {...dropProps} data-index={index}>\n <Flex\n container={{\n justify: 'between',\n alignItems: 'center',\n direction: 'row',\n wrap: 'nowrap',\n itemGap: 0.5\n }}\n ref={appliedGroups[index].id === focusRowId ? focusRowRef : null}\n >\n <Flex item={{ grow: 1 }}>\n <Flex\n container={{\n justify: 'start',\n alignItems: 'center',\n direction: 'row',\n wrap: 'nowrap',\n itemGap: 0.5\n }}\n >\n <div {...dragProps}>\n <Icon name='drag' />\n </div>\n <Flex item={{ grow: 1 }}>\n <FieldSelector\n columns={columns?.filter(\n c =>\n c.field.grouping &&\n (c.field.id.toString() === group.columnId.toString() ||\n !groupingOptions.exhaustedFields.has(c.field.id))\n )}\n value={group.columnId}\n disabled={!!group.customFunction}\n onChange={(newID: string) => handleColumnChange(group, index, newID)}\n fieldProp='id'\n />\n </Flex>\n <DateFunctionSelector\n group={group}\n groupingOptions={groupingOptions}\n dateFunctions={dateFunctions}\n columns={columns}\n onChange={(newFunc: Group['dateFunction']) =>\n handleDateFuncChange(group, index, newFunc)\n }\n />\n </Flex>\n </Flex>\n <Button\n aria-label={t('delete_group')}\n icon\n variant='simple'\n className='remove-group'\n onClick={() => removeGroup(index)}\n >\n <Icon name='trash' />\n </Button>\n </Flex>\n </div>\n </StyledRow>\n ))}\n </Flex>\n <div>\n <Button variant='link' aria-label={t('add_group')} onClick={addRow}>\n <Flex\n container={{\n inline: true,\n alignItems: 'start',\n gap: 1\n }}\n as='span'\n >\n <Icon name='plus' />\n <span>{t('add')}</span>\n </Flex>\n </Button>\n </div>\n </Flex>\n );\n};\n\nexport default GroupRenderer;\n"]}
@@ -0,0 +1,11 @@
1
+ import { type ListToolbarProps } from '@pega/cosmos-react-core';
2
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
3
+ import type { Group } from 'pega-repeating-structures-core/types/State.types';
4
+ export interface AppliedGroup extends Group {
5
+ id: string;
6
+ }
7
+ declare const useGroup: ({ view }: {
8
+ view: RsCoreTypes.View;
9
+ }) => ListToolbarProps["group"];
10
+ export default useGroup;
11
+ //# sourceMappingURL=useGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGroup.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useGroup/useGroup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,gBAAgB,EAAe,MAAM,yBAAyB,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AAQ9E,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,EAAE,EAAE,MAAM,CAAC;CACZ;AAKD,QAAA,MAAM,QAAQ,aAAc;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,KAAG,gBAAgB,CAAC,OAAO,CAsFhF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { createUID, usePrevious } from '@pega/cosmos-react-core';
3
+ import { TOOLBAR_FEATURES } from '../../../../constants';
4
+ import { deepEqual } from '../../../../Utils';
5
+ import { getGroupingOptions } from './utils';
6
+ import GroupRenderer from './GroupRenderer';
7
+ const convertGroupsToAppliedGroups = (groups) => groups.map(group => ({ ...group, id: createUID() }));
8
+ const useGroup = ({ view }) => {
9
+ const { state: { groups = [] } = {}, meta: { grouping, dateFunctions }, type: { applyGrouping }, columns = [] } = view;
10
+ const displayGrouping = view.shouldDisplayFeature(TOOLBAR_FEATURES.GROUPING);
11
+ const [appliedGroups, setAppliedGroups] = useState([]);
12
+ const [groupingOptions, setGroupingOptions] = useState(() => getGroupingOptions(groups, columns, dateFunctions));
13
+ const setGroups = useCallback((newGroups) => {
14
+ setAppliedGroups(newGroups);
15
+ setGroupingOptions(getGroupingOptions(newGroups, columns, dateFunctions));
16
+ }, [columns, dateFunctions]);
17
+ // BUG-758989 This useEffect should run only once when the columns are populated on view
18
+ // as getGroupingOptions function has dependency on column to form dateFunc object
19
+ const prevColumns = usePrevious(columns);
20
+ useEffect(() => {
21
+ if (!columns || !prevColumns)
22
+ return;
23
+ if (columns.length !== prevColumns.length) {
24
+ setGroupingOptions(getGroupingOptions(appliedGroups, columns, dateFunctions));
25
+ }
26
+ }, [columns]);
27
+ const onSubmit = useCallback(() => {
28
+ const groupsToSet = appliedGroups
29
+ .filter(e => e.columnId)
30
+ .map((group, index) => {
31
+ const { id, ...rest } = group;
32
+ return { ...rest, level: index };
33
+ });
34
+ applyGrouping(groupsToSet);
35
+ }, [applyGrouping, setGroups, appliedGroups]);
36
+ const onCancel = useCallback(() => {
37
+ setGroups(convertGroupsToAppliedGroups(groups));
38
+ }, [groups, setGroups]);
39
+ /*
40
+ * The usePrevious hook is used in conjunction with the effect below...
41
+ * ...to determine if the groups prop has in essence changed in value as it is always referentially different [] === [] // false.
42
+ * This workaround is necessary to render proper state within the group popover content.
43
+ * The conditional logic avoids many excessive renders.
44
+ * The overall hook/grouping implementation may be able to be modified to avoid this.
45
+ */
46
+ const prevGroups = usePrevious(groups);
47
+ useEffect(() => {
48
+ if (!view.columns)
49
+ return;
50
+ if (!groups || !prevGroups || !deepEqual(groups, prevGroups)) {
51
+ setGroups(convertGroupsToAppliedGroups(groups));
52
+ return;
53
+ }
54
+ // This is obviously not extensive comparison but may be effective enough for the group object type. Enhance as needed.
55
+ const groupsChanged = groups.length !== prevGroups.length ||
56
+ groups.some((group, i) => group.columnId !== prevGroups[i].columnId ||
57
+ group.order !== prevGroups[i].order ||
58
+ !deepEqual(group.dateFunction, prevGroups[i].dateFunction) ||
59
+ !deepEqual(group.customFunction, prevGroups[i].customFunction));
60
+ if (groupsChanged) {
61
+ setGroups(convertGroupsToAppliedGroups(groups));
62
+ }
63
+ }, [groups, prevGroups, setGroups, view.columns]);
64
+ if (!grouping || view.hierarchicalGroupEnabled || !displayGrouping)
65
+ return;
66
+ return {
67
+ count: groups.length > 0 ? groups.length : undefined,
68
+ renderer: GroupRenderer,
69
+ rendererProps: { appliedGroups, columns, dateFunctions, groupingOptions, setGroups },
70
+ onSubmit,
71
+ onCancel
72
+ };
73
+ };
74
+ export default useGroup;
75
+ //# sourceMappingURL=useGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGroup.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useGroup/useGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { createUID, type ListToolbarProps, usePrevious } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { Group } from 'pega-repeating-structures-core/types/State.types';\n\nimport { TOOLBAR_FEATURES } from '../../../../constants';\nimport { deepEqual } from '../../../../Utils';\n\nimport { getGroupingOptions } from './utils';\nimport GroupRenderer from './GroupRenderer';\n\nexport interface AppliedGroup extends Group {\n id: string;\n}\n\nconst convertGroupsToAppliedGroups = (groups: Group[]) =>\n groups.map(group => ({ ...group, id: createUID() }));\n\nconst useGroup = ({ view }: { view: RsCoreTypes.View }): ListToolbarProps['group'] => {\n const {\n state: { groups = [] } = {},\n meta: { grouping, dateFunctions },\n type: { applyGrouping },\n columns = []\n } = view;\n\n const displayGrouping = view.shouldDisplayFeature(TOOLBAR_FEATURES.GROUPING);\n const [appliedGroups, setAppliedGroups] = useState<AppliedGroup[]>([]);\n const [groupingOptions, setGroupingOptions] = useState(() =>\n getGroupingOptions(groups, columns, dateFunctions)\n );\n\n const setGroups = useCallback(\n (newGroups: AppliedGroup[]) => {\n setAppliedGroups(newGroups);\n setGroupingOptions(getGroupingOptions(newGroups, columns, dateFunctions));\n },\n [columns, dateFunctions]\n );\n\n // BUG-758989 This useEffect should run only once when the columns are populated on view\n // as getGroupingOptions function has dependency on column to form dateFunc object\n const prevColumns = usePrevious(columns);\n useEffect(() => {\n if (!columns || !prevColumns) return;\n if (columns.length !== prevColumns.length) {\n setGroupingOptions(getGroupingOptions(appliedGroups, columns, dateFunctions));\n }\n }, [columns]);\n\n const onSubmit = useCallback(() => {\n const groupsToSet = appliedGroups\n .filter(e => e.columnId)\n .map((group, index) => {\n const { id, ...rest } = group;\n return { ...rest, level: index };\n });\n applyGrouping(groupsToSet);\n }, [applyGrouping, setGroups, appliedGroups]);\n\n const onCancel = useCallback(() => {\n setGroups(convertGroupsToAppliedGroups(groups));\n }, [groups, setGroups]);\n\n /*\n * The usePrevious hook is used in conjunction with the effect below...\n * ...to determine if the groups prop has in essence changed in value as it is always referentially different [] === [] // false.\n * This workaround is necessary to render proper state within the group popover content.\n * The conditional logic avoids many excessive renders.\n * The overall hook/grouping implementation may be able to be modified to avoid this.\n */\n const prevGroups = usePrevious(groups);\n useEffect(() => {\n if (!view.columns) return;\n if (!groups || !prevGroups || !deepEqual(groups, prevGroups)) {\n setGroups(convertGroupsToAppliedGroups(groups));\n return;\n }\n\n // This is obviously not extensive comparison but may be effective enough for the group object type. Enhance as needed.\n const groupsChanged =\n groups.length !== prevGroups.length ||\n groups.some(\n (group, i) =>\n group.columnId !== prevGroups[i].columnId ||\n group.order !== prevGroups[i].order ||\n !deepEqual(group.dateFunction, prevGroups[i].dateFunction) ||\n !deepEqual(group.customFunction, prevGroups[i].customFunction)\n );\n\n if (groupsChanged) {\n setGroups(convertGroupsToAppliedGroups(groups));\n }\n }, [groups, prevGroups, setGroups, view.columns]);\n\n if (!grouping || view.hierarchicalGroupEnabled || !displayGrouping) return;\n\n return {\n count: groups.length > 0 ? groups.length : undefined,\n renderer: GroupRenderer,\n rendererProps: { appliedGroups, columns, dateFunctions, groupingOptions, setGroups },\n onSubmit,\n onCancel\n };\n};\n\nexport default useGroup;\n"]}
@@ -0,0 +1,11 @@
1
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ import type { Group } from 'pega-repeating-structures-core/types/State.types';
3
+ import type { GroupingOptions } from '../../Grouping.types';
4
+ /**
5
+ * Finds the matching column for the given columnId and returns its field type.
6
+ * Returns `undefined` if no match found
7
+ */
8
+ export declare function getFieldType(columnId: Group['columnId'], columns: RsCoreTypes.Column[]): "number" | "boolean" | "text" | "time" | "action" | "date" | "currency" | "datetime" | "custom" | "URL" | "Date" | "Date only" | undefined;
9
+ /** Returns metadata to identify which fields and which date functions are/aren't available for selection */
10
+ export declare function getGroupingOptions(groups: Group[], columns: RsCoreTypes.Column[], dateFunctions: RsCoreTypes.Meta['dateFunctions']): GroupingOptions;
11
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useGroup/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AAE9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,8IAEtF;AAED,4GAA4G;AAC5G,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,EAC7B,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,GAC/C,eAAe,CA2DjB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Finds the matching column for the given columnId and returns its field type.
3
+ * Returns `undefined` if no match found
4
+ */
5
+ export function getFieldType(columnId, columns) {
6
+ return columns.find(c => c.field.id.toString() === columnId.toString())?.field.type;
7
+ }
8
+ /** Returns metadata to identify which fields and which date functions are/aren't available for selection */
9
+ export function getGroupingOptions(groups, columns, dateFunctions) {
10
+ const groupingOptions = {
11
+ // Set of fields that are already exhausted in grouping
12
+ // NOTE: For date/datetime fields, when dateFunctions are enabled, it doesn't mark a field as exhausted until all the date-function variants are used against that field
13
+ exhaustedFields: new Set(),
14
+ // Contains field-wise lookups with values of structure { exhausted, available }
15
+ dateFuncs: {},
16
+ // Possible `dateFunction` choices by field type
17
+ dateGroupVariants: {
18
+ date: [],
19
+ datetime: []
20
+ }
21
+ };
22
+ // Traverse all the groups and mark which all fields and date functions are exhausted already
23
+ groups.forEach(({ columnId, dateFunction }) => {
24
+ if (columnId === '')
25
+ return; // Ignore empty groups
26
+ const fieldType = getFieldType(columnId, columns);
27
+ // If date functions are enabled, and it's a date/datetime field, track the functions used
28
+ if (dateFunctions && (fieldType === 'date' || fieldType === 'datetime')) {
29
+ groupingOptions.dateFuncs[columnId] = groupingOptions.dateFuncs[columnId] || {
30
+ exhausted: [],
31
+ available: []
32
+ };
33
+ groupingOptions.dateFuncs[columnId].exhausted.push(dateFunction); // `dateFunction` could be undefined
34
+ }
35
+ else {
36
+ // Otherwise, simply mark the columns as exhausted
37
+ groupingOptions.exhaustedFields.add(columnId);
38
+ }
39
+ });
40
+ // When dateFunctions are enabled, determine which date/datetime fields are fully exhausted and also note which functions are available for each field
41
+ if (dateFunctions) {
42
+ // Identify all possible variants for a given field type
43
+ // The `undefined` variant is applied when we group data directly by a field's values without any date function
44
+ groupingOptions.dateGroupVariants = {
45
+ date: [...dateFunctions.DATE_ONLY, undefined],
46
+ datetime: [...dateFunctions.DATE_TIME, undefined]
47
+ };
48
+ // For each date/datetime field, set up which variants are yet to be used. Also determine if all the variants are exhausted
49
+ Object.entries(groupingOptions.dateFuncs).forEach(([columnId, obj]) => {
50
+ const fieldType = getFieldType(columnId, columns);
51
+ if (fieldType === 'date' || fieldType === 'datetime') {
52
+ obj.available = groupingOptions.dateGroupVariants[fieldType].filter(v => !obj.exhausted.includes(v));
53
+ }
54
+ if (obj.available.length === 0) {
55
+ groupingOptions.exhaustedFields.add(columnId);
56
+ }
57
+ });
58
+ }
59
+ return groupingOptions;
60
+ }
61
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../Core/Components/Toolbar/hooks/useGroup/utils.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAA2B,EAAE,OAA6B;IACrF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;AACtF,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,kBAAkB,CAChC,MAAe,EACf,OAA6B,EAC7B,aAAgD;IAEhD,MAAM,eAAe,GAAoB;QACvC,uDAAuD;QACvD,wKAAwK;QACxK,eAAe,EAAE,IAAI,GAAG,EAAE;QAE1B,gFAAgF;QAChF,SAAS,EAAE,EAAE;QAEb,gDAAgD;QAChD,iBAAiB,EAAE;YACjB,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;IAEF,6FAA6F;IAC7F,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QAC5C,IAAI,QAAQ,KAAK,EAAE;YAAE,OAAO,CAAC,sBAAsB;QACnD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElD,0FAA0F;QAC1F,IAAI,aAAa,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,UAAU,CAAC,EAAE,CAAC;YACxE,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI;gBAC3E,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;aACd,CAAC;YACF,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,oCAAoC;QACxG,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sJAAsJ;IACtJ,IAAI,aAAa,EAAE,CAAC;QAClB,wDAAwD;QACxD,+GAA+G;QAC/G,eAAe,CAAC,iBAAiB,GAAG;YAClC,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC;YAC7C,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC;SAClD,CAAC;QAEF,2HAA2H;QAC3H,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE;YACpE,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBACrD,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAM,CACjE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChC,CAAC;YACJ,CAAC;YAED,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC","sourcesContent":["import type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { Group } from 'pega-repeating-structures-core/types/State.types';\n\nimport type { GroupingOptions } from '../../Grouping.types';\n\n/**\n * Finds the matching column for the given columnId and returns its field type.\n * Returns `undefined` if no match found\n */\nexport function getFieldType(columnId: Group['columnId'], columns: RsCoreTypes.Column[]) {\n return columns.find(c => c.field.id.toString() === columnId.toString())?.field.type;\n}\n\n/** Returns metadata to identify which fields and which date functions are/aren't available for selection */\nexport function getGroupingOptions(\n groups: Group[],\n columns: RsCoreTypes.Column[],\n dateFunctions: RsCoreTypes.Meta['dateFunctions']\n): GroupingOptions {\n const groupingOptions: GroupingOptions = {\n // Set of fields that are already exhausted in grouping\n // NOTE: For date/datetime fields, when dateFunctions are enabled, it doesn't mark a field as exhausted until all the date-function variants are used against that field\n exhaustedFields: new Set(),\n\n // Contains field-wise lookups with values of structure { exhausted, available }\n dateFuncs: {},\n\n // Possible `dateFunction` choices by field type\n dateGroupVariants: {\n date: [],\n datetime: []\n }\n };\n\n // Traverse all the groups and mark which all fields and date functions are exhausted already\n groups.forEach(({ columnId, dateFunction }) => {\n if (columnId === '') return; // Ignore empty groups\n const fieldType = getFieldType(columnId, columns);\n\n // If date functions are enabled, and it's a date/datetime field, track the functions used\n if (dateFunctions && (fieldType === 'date' || fieldType === 'datetime')) {\n groupingOptions.dateFuncs[columnId] = groupingOptions.dateFuncs[columnId] || {\n exhausted: [],\n available: []\n };\n groupingOptions.dateFuncs[columnId].exhausted.push(dateFunction); // `dateFunction` could be undefined\n } else {\n // Otherwise, simply mark the columns as exhausted\n groupingOptions.exhaustedFields.add(columnId);\n }\n });\n\n // When dateFunctions are enabled, determine which date/datetime fields are fully exhausted and also note which functions are available for each field\n if (dateFunctions) {\n // Identify all possible variants for a given field type\n // The `undefined` variant is applied when we group data directly by a field's values without any date function\n groupingOptions.dateGroupVariants = {\n date: [...dateFunctions.DATE_ONLY, undefined],\n datetime: [...dateFunctions.DATE_TIME, undefined]\n };\n\n // For each date/datetime field, set up which variants are yet to be used. Also determine if all the variants are exhausted\n Object.entries(groupingOptions.dateFuncs).forEach(([columnId, obj]) => {\n const fieldType = getFieldType(columnId, columns);\n if (fieldType === 'date' || fieldType === 'datetime') {\n obj.available = groupingOptions.dateGroupVariants[fieldType].filter(\n v => !obj.exhausted.includes(v)\n );\n }\n\n if (obj.available.length === 0) {\n groupingOptions.exhaustedFields.add(columnId);\n }\n });\n }\n\n return groupingOptions;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export default useMore;
2
+ declare function useMore({ view }: {
3
+ view: any;
4
+ }): {
5
+ actions: any[];
6
+ actionsButtonRef: import("react").MutableRefObject<null>;
7
+ popover: import("react/jsx-runtime").JSX.Element;
8
+ };
9
+ //# sourceMappingURL=useMore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMore.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useMore.jsx"],"names":[],"mappings":";AA2CA;;;;;;EAkWC"}