@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,313 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, memo, useEffect, useRef, useCallback, useImperativeHandle, useMemo, useLayoutEffect, useState } from 'react';
3
+ import Styled from 'styled-components';
4
+ import PropTypes from 'prop-types';
5
+ import { Progress } from '@pega/cosmos-react-core';
6
+ import { isEmpty } from 'pega-repeating-structures-core';
7
+ import EmptyContainer from '../DefaultComponents/EmptyContainer';
8
+ import useTranslate from '../../Hooks/useTranslate';
9
+ import getPaginationInfo from './Pagination';
10
+ import useScroll from './UseScroll';
11
+ import { getCurrentEstimation, isPaginationRequestCompleted, updateRowContainerTop, setAttributesOnItems, isViewNotFilled, getRecordCountForLayoutPaint, getPContainerClientWidth, getValueWithUnit, getMaxHeight } from './utility';
12
+ import useResizeObserver from './UseResizeObserver';
13
+ function getBContainerMinHeight(props) {
14
+ return props.$style.renderFooter ? `calc(100% - ${2 * props.$style.itemHeight + 1}px) ` : '0';
15
+ }
16
+ const StyledPContainer = Styled.div `
17
+ position: relative;
18
+ overflow: auto;
19
+ max-height: ${props => props.$style.maxHeight};
20
+ width: ${props => props.$style.width};
21
+ height: ${props => props.$style.height};
22
+ min-height: ${props => props.$style.minHeight};
23
+
24
+ /**
25
+ * When height and maxHeight is auto, virtualization is not going to happen and the scroll jump on row deletion scenario is not going to happen.
26
+ * In such cases, using relative position as sticky was used to fix scroll jump in firefox during virtualization.
27
+ */
28
+ .bContainer {
29
+ position: ${props => props.$style.maxHeight?.startsWith('auto') && props.$style.height?.startsWith('auto')
30
+ ? 'relative'
31
+ : 'sticky'};
32
+ width: 0;
33
+ min-height: ${props => getBContainerMinHeight(props)};
34
+ }
35
+ `;
36
+ const StyledLoader = Styled.div `
37
+ display: flex;
38
+ justify-content: center;
39
+ padding: 0.5rem;
40
+ position: absolute;
41
+ width: var(--container-width);
42
+ left: ${props => `var(${props.$style.left})`};
43
+ top: ${props => `var(${props.$style.top})`};
44
+ `;
45
+ const Virtualize = forwardRef(({ id, viewHeight, viewWidth, totalRecordCount, itemHeight, callback, rowContainerClass, children, renderHeader, renderFooter, state, bufferMultiplier, basicMode, numberOfRows, viewMaxHeight, showLoadingIndicator }, inputRef) => {
46
+ const [rContainerDimensionUpdate, setRContainerDimensionUpdate] = useState();
47
+ const [isFetching, setIsFetching] = useState(false);
48
+ const [loadingIndicatorInfo, setLoadingIndicatorInfo] = useState({});
49
+ const [translate] = useTranslate();
50
+ // Create ref to store virtualize related data.
51
+ const vi = useRef({
52
+ itemHeight,
53
+ bufferMultiplier,
54
+ pInfo: {}
55
+ }).current;
56
+ const getRowContainer = useCallback(() => vi.rContainer, [vi.rContainer]);
57
+ const getPContainer = useCallback(() => vi.pContainer, [vi.pContainer]);
58
+ const getBContainer = useCallback(() => vi.bContainer, [vi.bContainer]);
59
+ // API used when user want to scroll to top programmatically.
60
+ // Though component auto scroll to top if no element is in view.
61
+ // But calling this API upfront might save one extra call to Fetch API.
62
+ const scrollToTop = useCallback(cb => {
63
+ if (!state)
64
+ return;
65
+ getPContainer().scrollTop = 0;
66
+ vi.pInfo = getPaginationInfo(getPContainer(), getRecordCountForLayoutPaint(totalRecordCount), vi, false, true);
67
+ setIsFetching(true);
68
+ cb({ ...vi.pInfo.view, id }, { takeLatestAction: true });
69
+ }, [id, vi, state, getPContainer]);
70
+ // expose APIs and properties here to help client to communicate.
71
+ useImperativeHandle(inputRef, () => ({
72
+ getParentContainer: getPContainer,
73
+ scrollToTop,
74
+ vi,
75
+ id
76
+ }));
77
+ const { width, height } = useMemo(() => ({
78
+ width: getValueWithUnit(viewWidth, basicMode, numberOfRows),
79
+ height: getValueWithUnit(viewHeight, basicMode, numberOfRows)
80
+ }), [viewWidth, viewHeight, basicMode, numberOfRows]);
81
+ const maxHeight = useMemo(() => getMaxHeight(viewMaxHeight, basicMode), [basicMode, viewMaxHeight]);
82
+ const minHeight = useMemo(() => {
83
+ if (basicMode && totalRecordCount === 0) {
84
+ return '100px';
85
+ }
86
+ return 'auto';
87
+ }, [basicMode, totalRecordCount]);
88
+ // Calculate the pagination indexes and notify callback.
89
+ // resetIsFetchingWhenNoNewIndexes - flag specific for isViewNotFilled
90
+ // If view is not filled, we want to call this but restting isFetch to false
91
+ // goes to this methid when callback is note fired.
92
+ const getPagination = useCallback((isRefresh = false, resetIsFetchingWhenNoNewIndexes = false) => {
93
+ if (resetIsFetchingWhenNoNewIndexes) {
94
+ setIsFetching(false);
95
+ setLoadingIndicatorInfo({});
96
+ }
97
+ const pInfo = getPaginationInfo(getPContainer(), getRecordCountForLayoutPaint(totalRecordCount), vi, isRefresh);
98
+ const { startIndex, endIndex } = pInfo.view;
99
+ // if new indexes are subset of existing state indexes, no need to update the consumer.
100
+ if (!state || !(startIndex >= state.startIndex && endIndex <= state.endIndex)) {
101
+ vi.pInfo = pInfo;
102
+ setIsFetching(true);
103
+ if (state) {
104
+ const { startIndex: oldStartIndex, endIndex: oldEndIndex } = state;
105
+ if (startIndex < oldStartIndex) {
106
+ setLoadingIndicatorInfo(info => {
107
+ return { ...info, isScrollingUp: true };
108
+ });
109
+ }
110
+ if (endIndex > oldEndIndex) {
111
+ setLoadingIndicatorInfo(info => {
112
+ return { ...info, isScrollingDown: true };
113
+ });
114
+ }
115
+ }
116
+ callback({ ...vi.pInfo.view, id }, { takeLatestAction: true });
117
+ }
118
+ }, [vi, totalRecordCount, state, callback, id, getPContainer]);
119
+ // update average stats for next calculation.
120
+ const updateAverageInVirtualizeInstance = useCallback(currentEstimation => {
121
+ const { itemCount, rowContainerHeight, averageNumberOfItemsInARow, averageRowHeight } = currentEstimation;
122
+ Object.assign(vi, {
123
+ itemCount: (itemCount + vi.itemCount || itemCount) / 2,
124
+ rowContainerHeight: (rowContainerHeight + vi.rowContainerHeight || rowContainerHeight) / 2,
125
+ averageNumberOfItemsInARow: (averageNumberOfItemsInARow + vi.averageNumberOfItemsInARow ||
126
+ averageNumberOfItemsInARow) / 2,
127
+ averageRowHeight: (averageRowHeight + vi.averageRowHeight || averageRowHeight) / 2
128
+ });
129
+ }, [vi]);
130
+ const getBufferHeight = useCallback(currentEstimation => {
131
+ const { itemCount, rowContainerHeight } = currentEstimation;
132
+ let h = 0;
133
+ if (itemCount > 0)
134
+ h = (getRecordCountForLayoutPaint(totalRecordCount) / itemCount) * rowContainerHeight;
135
+ return h;
136
+ }, [totalRecordCount]);
137
+ const getScrollTop = useCallback(currentEstimation => {
138
+ const { itemCount, rowContainerHeight } = currentEstimation;
139
+ let scrollTop = 0;
140
+ if (itemCount > 0) {
141
+ const scrollNodeTopChange =
142
+ // eslint-disable-next-line no-unsafe-optional-chaining
143
+ vi.pInfo?.bufferNewCords?.top - vi.pInfo?.bufferOldCords?.top || 0;
144
+ scrollTop = (vi.pInfo.topRowIndex / itemCount) * rowContainerHeight - scrollNodeTopChange;
145
+ }
146
+ return scrollTop;
147
+ }, [vi]);
148
+ const onRowContainerDimensionChange = useCallback(() => {
149
+ const { height: rowContainerHeight, width: rowContainerWidth } = getRowContainer()?.getBoundingClientRect() ?? {};
150
+ // trigger virtualizer operations only when row container has some height and width
151
+ if (!isFetching && rowContainerHeight && rowContainerWidth)
152
+ setRContainerDimensionUpdate({});
153
+ }, [isFetching]);
154
+ // observe on row container to adjust the buffer container height.
155
+ useResizeObserver(getRowContainer, onRowContainerDimensionChange);
156
+ const [updateScrollTop] = useScroll(getPagination, getPContainer, vi, totalRecordCount, renderHeader, isFetching, viewHeight);
157
+ useLayoutEffect(() => {
158
+ const rContainer = getRowContainer();
159
+ if (state && state.startIndex >= 0 && vi && rContainer) {
160
+ setAttributesOnItems(state, rContainer);
161
+ }
162
+ });
163
+ // Get estimate and update buffer height
164
+ useLayoutEffect(() => {
165
+ if (state && !isEmpty(totalRecordCount)) {
166
+ vi.currentEstimation = getCurrentEstimation(getRowContainer());
167
+ updateAverageInVirtualizeInstance(vi.currentEstimation);
168
+ const h = Math.floor(getBufferHeight(vi.currentEstimation));
169
+ const previousHeight = getBContainer().offsetHeight;
170
+ getBContainer().style.height = `${h}px`;
171
+ vi.bContainerHeight = h;
172
+ // if there was no previous height, then keep the scrolltop to 0 by default
173
+ if (h !== previousHeight && previousHeight) {
174
+ const pContainer = getPContainer();
175
+ const scrollTop = getScrollTop(vi.currentEstimation);
176
+ pContainer.scrollTop = scrollTop;
177
+ }
178
+ }
179
+ }, [
180
+ rContainerDimensionUpdate,
181
+ getBContainer,
182
+ getBufferHeight,
183
+ getRowContainer,
184
+ state,
185
+ totalRecordCount,
186
+ updateAverageInVirtualizeInstance,
187
+ vi,
188
+ getPContainer,
189
+ getScrollTop
190
+ ]);
191
+ // update parent scroll top and row container top.
192
+ useLayoutEffect(() => {
193
+ if (state && !isEmpty(totalRecordCount)) {
194
+ const pContainer = getPContainer();
195
+ // Setting scrollTop from pContainer.scrollTop as getScrollTop can return value with higher decimal accuracy.
196
+ // but scrollTop attribute from HTML element will round it automatically.
197
+ updateScrollTop(pContainer.scrollTop);
198
+ updateRowContainerTop(vi, getRecordCountForLayoutPaint(totalRecordCount), state, pContainer, pContainer.scrollTop);
199
+ const topLoaderHeight = 80;
200
+ let top = getRowContainer().style.top;
201
+ if (!top) {
202
+ top = 0;
203
+ }
204
+ getBContainer().style.setProperty('--above-loader-top', `${parseInt(top, 10) - topLoaderHeight}px`);
205
+ getBContainer().style.setProperty('--below-loader-top', `${parseInt(top, 10) + getRowContainer().offsetHeight}px`);
206
+ }
207
+ }, [
208
+ getPContainer,
209
+ getScrollTop,
210
+ state,
211
+ updateScrollTop,
212
+ vi,
213
+ rContainerDimensionUpdate,
214
+ totalRecordCount,
215
+ getRowContainer,
216
+ getBContainer
217
+ ]);
218
+ // setting pContainer's width whenever pContainer dimension updates,
219
+ // because bContainer has 0 width and row-container's width doesn't changes in sync with pContainer
220
+ const onPContainerDimensionUpdate = useCallback(() => {
221
+ getPContainer()?.style.setProperty('--container-width', `${getPContainerClientWidth(getPContainer())}px`);
222
+ }, [getPContainer]);
223
+ // observe on pContainer to adjust the width of row container.
224
+ useResizeObserver(getPContainer, onPContainerDimensionUpdate);
225
+ // On mount that means state is not initialized yet, trigger pagination.
226
+ // or whenever count changes or width /height of view port changes, if view is not filled with data, get indexes again.
227
+ useEffect(() => {
228
+ if (state && isPaginationRequestCompleted(vi, state) && !isEmpty(totalRecordCount)) {
229
+ if (isViewNotFilled(getRecordCountForLayoutPaint(totalRecordCount), vi, getPContainer(), renderHeader))
230
+ getPagination(false, true);
231
+ else {
232
+ setIsFetching(false);
233
+ setLoadingIndicatorInfo({});
234
+ }
235
+ }
236
+ else if (!state || !Object.keys(vi.pInfo).length)
237
+ getPagination(true);
238
+ }, [
239
+ rContainerDimensionUpdate,
240
+ state,
241
+ vi,
242
+ totalRecordCount,
243
+ viewHeight,
244
+ viewWidth,
245
+ renderHeader,
246
+ getPagination,
247
+ getPContainer
248
+ ]);
249
+ useEffect(() => {
250
+ if (!isFetching)
251
+ return;
252
+ getBContainer().style.setProperty('--loader-left', `${getPContainer().scrollLeft}px`);
253
+ }, [isFetching, getPContainer()?.scrollLeft]);
254
+ return (_jsxs(StyledPContainer, { "$style": {
255
+ maxHeight,
256
+ minHeight,
257
+ renderFooter,
258
+ itemHeight,
259
+ height,
260
+ width
261
+ }, "data-total-records": totalRecordCount, className: 'pContainer', ref: c => {
262
+ vi.pContainer = c;
263
+ }, children: [renderHeader && renderHeader(), _jsxs("div", { className: 'bContainer', ref: c => {
264
+ vi.bContainer = c;
265
+ }, children: [showLoadingIndicator && isFetching && loadingIndicatorInfo.isScrollingUp && (_jsx(StyledLoader, { "$style": {
266
+ top: '--above-loader-top',
267
+ left: '--loader-left'
268
+ }, children: _jsx(Progress, { className: 'above-loader', placement: 'block', tabIndex: 0, "aria-label": translate('Loading more results') }) })), _jsx("div", { className: `${rowContainerClass} row-container`, ref: c => {
269
+ vi.rContainer = c;
270
+ }, style: { width: 'var(--container-width)' }, role: 'rowgroup', children: children }), showLoadingIndicator && isFetching && loadingIndicatorInfo.isScrollingDown && (_jsx(StyledLoader, { "$style": {
271
+ top: '--below-loader-top',
272
+ left: '--loader-left'
273
+ }, children: _jsx(Progress, { className: 'below-loader', placement: 'block', tabIndex: 0, "aria-label": translate('Loading more results') }) }))] }), totalRecordCount === 0 ? _jsx(EmptyContainer, {}) : null, renderFooter && renderFooter()] }));
274
+ });
275
+ Virtualize.propTypes = {
276
+ id: PropTypes.string.isRequired,
277
+ viewHeight: PropTypes.number,
278
+ viewWidth: PropTypes.number,
279
+ totalRecordCount: PropTypes.number,
280
+ itemHeight: PropTypes.number,
281
+ callback: PropTypes.func,
282
+ rowContainerClass: PropTypes.string,
283
+ children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,
284
+ renderHeader: PropTypes.func,
285
+ renderFooter: PropTypes.func,
286
+ state: PropTypes.shape({
287
+ startIndex: PropTypes.number,
288
+ endIndex: PropTypes.number
289
+ }),
290
+ bufferMultiplier: PropTypes.number,
291
+ basicMode: PropTypes.bool.isRequired,
292
+ numberOfRows: PropTypes.number,
293
+ viewMaxHeight: PropTypes.string,
294
+ showLoadingIndicator: PropTypes.bool
295
+ };
296
+ Virtualize.defaultProps = {
297
+ bufferMultiplier: 1,
298
+ callback: () => { },
299
+ rowContainerClass: '',
300
+ viewHeight: 400,
301
+ viewWidth: 0,
302
+ itemHeight: 40,
303
+ renderHeader: null,
304
+ renderFooter: null,
305
+ state: undefined,
306
+ totalRecordCount: undefined,
307
+ numberOfRows: undefined,
308
+ viewMaxHeight: undefined,
309
+ showLoadingIndicator: false
310
+ };
311
+ Virtualize.displayName = 'Virtualize';
312
+ export default memo(Virtualize);
313
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Components/Virtualise/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n memo,\n useEffect,\n useRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useLayoutEffect,\n useState\n} from 'react';\nimport Styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport { Progress } from '@pega/cosmos-react-core';\nimport { isEmpty } from 'pega-repeating-structures-core';\n\nimport EmptyContainer from '../DefaultComponents/EmptyContainer';\nimport useTranslate from '../../Hooks/useTranslate';\n\nimport getPaginationInfo from './Pagination';\nimport useScroll from './UseScroll';\nimport {\n getCurrentEstimation,\n isPaginationRequestCompleted,\n updateRowContainerTop,\n setAttributesOnItems,\n isViewNotFilled,\n getRecordCountForLayoutPaint,\n getPContainerClientWidth,\n getValueWithUnit,\n getMaxHeight\n} from './utility';\nimport useResizeObserver from './UseResizeObserver';\n\nfunction getBContainerMinHeight(props) {\n return props.$style.renderFooter ? `calc(100% - ${2 * props.$style.itemHeight + 1}px) ` : '0';\n}\n\nconst StyledPContainer = Styled.div`\n position: relative;\n overflow: auto;\n max-height: ${props => props.$style.maxHeight};\n width: ${props => props.$style.width};\n height: ${props => props.$style.height};\n min-height: ${props => props.$style.minHeight};\n\n /**\n * When height and maxHeight is auto, virtualization is not going to happen and the scroll jump on row deletion scenario is not going to happen.\n * In such cases, using relative position as sticky was used to fix scroll jump in firefox during virtualization.\n */\n .bContainer {\n position: ${props =>\n props.$style.maxHeight?.startsWith('auto') && props.$style.height?.startsWith('auto')\n ? 'relative'\n : 'sticky'};\n width: 0;\n min-height: ${props => getBContainerMinHeight(props)};\n }\n`;\n\nconst StyledLoader = Styled.div`\n display: flex;\n justify-content: center;\n padding: 0.5rem;\n position: absolute;\n width: var(--container-width);\n left: ${props => `var(${props.$style.left})`};\n top: ${props => `var(${props.$style.top})`};\n`;\n\nconst Virtualize = forwardRef(\n (\n {\n id,\n viewHeight,\n viewWidth,\n totalRecordCount,\n itemHeight,\n callback,\n rowContainerClass,\n children,\n renderHeader,\n renderFooter,\n state,\n bufferMultiplier,\n basicMode,\n numberOfRows,\n viewMaxHeight,\n showLoadingIndicator\n },\n inputRef\n ) => {\n const [rContainerDimensionUpdate, setRContainerDimensionUpdate] = useState();\n const [isFetching, setIsFetching] = useState(false);\n const [loadingIndicatorInfo, setLoadingIndicatorInfo] = useState({});\n const [translate] = useTranslate();\n // Create ref to store virtualize related data.\n const vi = useRef({\n itemHeight,\n bufferMultiplier,\n pInfo: {}\n }).current;\n\n const getRowContainer = useCallback(() => vi.rContainer, [vi.rContainer]);\n const getPContainer = useCallback(() => vi.pContainer, [vi.pContainer]);\n const getBContainer = useCallback(() => vi.bContainer, [vi.bContainer]);\n\n // API used when user want to scroll to top programmatically.\n // Though component auto scroll to top if no element is in view.\n // But calling this API upfront might save one extra call to Fetch API.\n const scrollToTop = useCallback(\n cb => {\n if (!state) return;\n getPContainer().scrollTop = 0;\n vi.pInfo = getPaginationInfo(\n getPContainer(),\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n false,\n true\n );\n setIsFetching(true);\n cb({ ...vi.pInfo.view, id }, { takeLatestAction: true });\n },\n [id, vi, state, getPContainer]\n );\n\n // expose APIs and properties here to help client to communicate.\n useImperativeHandle(inputRef, () => ({\n getParentContainer: getPContainer,\n scrollToTop,\n vi,\n id\n }));\n\n const { width, height } = useMemo(\n () => ({\n width: getValueWithUnit(viewWidth, basicMode, numberOfRows),\n height: getValueWithUnit(viewHeight, basicMode, numberOfRows)\n }),\n [viewWidth, viewHeight, basicMode, numberOfRows]\n );\n\n const maxHeight = useMemo(\n () => getMaxHeight(viewMaxHeight, basicMode),\n [basicMode, viewMaxHeight]\n );\n\n const minHeight = useMemo(() => {\n if (basicMode && totalRecordCount === 0) {\n return '100px';\n }\n return 'auto';\n }, [basicMode, totalRecordCount]);\n\n // Calculate the pagination indexes and notify callback.\n // resetIsFetchingWhenNoNewIndexes - flag specific for isViewNotFilled\n // If view is not filled, we want to call this but restting isFetch to false\n // goes to this methid when callback is note fired.\n const getPagination = useCallback(\n (isRefresh = false, resetIsFetchingWhenNoNewIndexes = false) => {\n if (resetIsFetchingWhenNoNewIndexes) {\n setIsFetching(false);\n setLoadingIndicatorInfo({});\n }\n const pInfo = getPaginationInfo(\n getPContainer(),\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n isRefresh\n );\n const { startIndex, endIndex } = pInfo.view;\n // if new indexes are subset of existing state indexes, no need to update the consumer.\n if (!state || !(startIndex >= state.startIndex && endIndex <= state.endIndex)) {\n vi.pInfo = pInfo;\n setIsFetching(true);\n if (state) {\n const { startIndex: oldStartIndex, endIndex: oldEndIndex } = state;\n if (startIndex < oldStartIndex) {\n setLoadingIndicatorInfo(info => {\n return { ...info, isScrollingUp: true };\n });\n }\n if (endIndex > oldEndIndex) {\n setLoadingIndicatorInfo(info => {\n return { ...info, isScrollingDown: true };\n });\n }\n }\n callback({ ...vi.pInfo.view, id }, { takeLatestAction: true });\n }\n },\n [vi, totalRecordCount, state, callback, id, getPContainer]\n );\n\n // update average stats for next calculation.\n const updateAverageInVirtualizeInstance = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight, averageNumberOfItemsInARow, averageRowHeight } =\n currentEstimation;\n Object.assign(vi, {\n itemCount: (itemCount + vi.itemCount || itemCount) / 2,\n rowContainerHeight:\n (rowContainerHeight + vi.rowContainerHeight || rowContainerHeight) / 2,\n averageNumberOfItemsInARow:\n (averageNumberOfItemsInARow + vi.averageNumberOfItemsInARow ||\n averageNumberOfItemsInARow) / 2,\n averageRowHeight: (averageRowHeight + vi.averageRowHeight || averageRowHeight) / 2\n });\n },\n [vi]\n );\n\n const getBufferHeight = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight } = currentEstimation;\n let h = 0;\n if (itemCount > 0)\n h = (getRecordCountForLayoutPaint(totalRecordCount) / itemCount) * rowContainerHeight;\n return h;\n },\n [totalRecordCount]\n );\n\n const getScrollTop = useCallback(\n currentEstimation => {\n const { itemCount, rowContainerHeight } = currentEstimation;\n let scrollTop = 0;\n if (itemCount > 0) {\n const scrollNodeTopChange =\n // eslint-disable-next-line no-unsafe-optional-chaining\n vi.pInfo?.bufferNewCords?.top - vi.pInfo?.bufferOldCords?.top || 0;\n scrollTop = (vi.pInfo.topRowIndex / itemCount) * rowContainerHeight - scrollNodeTopChange;\n }\n return scrollTop;\n },\n [vi]\n );\n\n const onRowContainerDimensionChange = useCallback(() => {\n const { height: rowContainerHeight, width: rowContainerWidth } =\n getRowContainer()?.getBoundingClientRect() ?? {};\n // trigger virtualizer operations only when row container has some height and width\n if (!isFetching && rowContainerHeight && rowContainerWidth) setRContainerDimensionUpdate({});\n }, [isFetching]);\n\n // observe on row container to adjust the buffer container height.\n useResizeObserver(getRowContainer, onRowContainerDimensionChange);\n\n const [updateScrollTop] = useScroll(\n getPagination,\n getPContainer,\n vi,\n totalRecordCount,\n renderHeader,\n isFetching,\n viewHeight\n );\n\n useLayoutEffect(() => {\n const rContainer = getRowContainer();\n if (state && state.startIndex >= 0 && vi && rContainer) {\n setAttributesOnItems(state, rContainer);\n }\n });\n\n // Get estimate and update buffer height\n useLayoutEffect(() => {\n if (state && !isEmpty(totalRecordCount)) {\n vi.currentEstimation = getCurrentEstimation(getRowContainer());\n updateAverageInVirtualizeInstance(vi.currentEstimation);\n const h = Math.floor(getBufferHeight(vi.currentEstimation));\n const previousHeight = getBContainer().offsetHeight;\n\n getBContainer().style.height = `${h}px`;\n vi.bContainerHeight = h;\n\n // if there was no previous height, then keep the scrolltop to 0 by default\n if (h !== previousHeight && previousHeight) {\n const pContainer = getPContainer();\n const scrollTop = getScrollTop(vi.currentEstimation);\n pContainer.scrollTop = scrollTop;\n }\n }\n }, [\n rContainerDimensionUpdate,\n getBContainer,\n getBufferHeight,\n getRowContainer,\n state,\n totalRecordCount,\n updateAverageInVirtualizeInstance,\n vi,\n getPContainer,\n getScrollTop\n ]);\n\n // update parent scroll top and row container top.\n useLayoutEffect(() => {\n if (state && !isEmpty(totalRecordCount)) {\n const pContainer = getPContainer();\n\n // Setting scrollTop from pContainer.scrollTop as getScrollTop can return value with higher decimal accuracy.\n // but scrollTop attribute from HTML element will round it automatically.\n updateScrollTop(pContainer.scrollTop);\n updateRowContainerTop(\n vi,\n getRecordCountForLayoutPaint(totalRecordCount),\n state,\n pContainer,\n pContainer.scrollTop\n );\n\n const topLoaderHeight = 80;\n let top = getRowContainer().style.top;\n if (!top) {\n top = 0;\n }\n getBContainer().style.setProperty(\n '--above-loader-top',\n `${parseInt(top, 10) - topLoaderHeight}px`\n );\n\n getBContainer().style.setProperty(\n '--below-loader-top',\n `${parseInt(top, 10) + getRowContainer().offsetHeight}px`\n );\n }\n }, [\n getPContainer,\n getScrollTop,\n state,\n updateScrollTop,\n vi,\n rContainerDimensionUpdate,\n totalRecordCount,\n getRowContainer,\n getBContainer\n ]);\n\n // setting pContainer's width whenever pContainer dimension updates,\n // because bContainer has 0 width and row-container's width doesn't changes in sync with pContainer\n const onPContainerDimensionUpdate = useCallback(() => {\n getPContainer()?.style.setProperty(\n '--container-width',\n `${getPContainerClientWidth(getPContainer())}px`\n );\n }, [getPContainer]);\n\n // observe on pContainer to adjust the width of row container.\n useResizeObserver(getPContainer, onPContainerDimensionUpdate);\n\n // On mount that means state is not initialized yet, trigger pagination.\n // or whenever count changes or width /height of view port changes, if view is not filled with data, get indexes again.\n useEffect(() => {\n if (state && isPaginationRequestCompleted(vi, state) && !isEmpty(totalRecordCount)) {\n if (\n isViewNotFilled(\n getRecordCountForLayoutPaint(totalRecordCount),\n vi,\n getPContainer(),\n renderHeader\n )\n )\n getPagination(false, true);\n else {\n setIsFetching(false);\n setLoadingIndicatorInfo({});\n }\n } else if (!state || !Object.keys(vi.pInfo).length) getPagination(true);\n }, [\n rContainerDimensionUpdate,\n state,\n vi,\n totalRecordCount,\n viewHeight,\n viewWidth,\n renderHeader,\n getPagination,\n getPContainer\n ]);\n\n useEffect(() => {\n if (!isFetching) return;\n getBContainer().style.setProperty('--loader-left', `${getPContainer().scrollLeft}px`);\n }, [isFetching, getPContainer()?.scrollLeft]);\n\n return (\n <StyledPContainer\n $style={{\n maxHeight,\n minHeight,\n renderFooter,\n itemHeight,\n height,\n width\n }}\n data-total-records={totalRecordCount}\n className='pContainer'\n ref={c => {\n vi.pContainer = c;\n }}\n >\n {renderHeader && renderHeader()}\n <div\n className='bContainer'\n ref={c => {\n vi.bContainer = c;\n }}\n >\n {showLoadingIndicator && isFetching && loadingIndicatorInfo.isScrollingUp && (\n <StyledLoader\n $style={{\n top: '--above-loader-top',\n left: '--loader-left'\n }}\n >\n <Progress\n className='above-loader'\n placement='block'\n tabIndex={0}\n aria-label={translate('Loading more results')}\n />\n </StyledLoader>\n )}\n <div\n className={`${rowContainerClass} row-container`}\n ref={c => {\n vi.rContainer = c;\n }}\n style={{ width: 'var(--container-width)' }}\n role='rowgroup'\n >\n {/** Do not add any other element in row-container apart from the rows as it will generate incorrect estimations */}\n {children}\n </div>\n {showLoadingIndicator && isFetching && loadingIndicatorInfo.isScrollingDown && (\n <StyledLoader\n $style={{\n top: '--below-loader-top',\n left: '--loader-left'\n }}\n >\n <Progress\n className='below-loader'\n placement='block'\n tabIndex={0}\n aria-label={translate('Loading more results')}\n />\n </StyledLoader>\n )}\n </div>\n {totalRecordCount === 0 ? <EmptyContainer /> : null}\n {renderFooter && renderFooter()}\n </StyledPContainer>\n );\n }\n);\n\nVirtualize.propTypes = {\n id: PropTypes.string.isRequired,\n viewHeight: PropTypes.number,\n viewWidth: PropTypes.number,\n totalRecordCount: PropTypes.number,\n itemHeight: PropTypes.number,\n callback: PropTypes.func,\n rowContainerClass: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n renderHeader: PropTypes.func,\n renderFooter: PropTypes.func,\n state: PropTypes.shape({\n startIndex: PropTypes.number,\n endIndex: PropTypes.number\n }),\n bufferMultiplier: PropTypes.number,\n basicMode: PropTypes.bool.isRequired,\n numberOfRows: PropTypes.number,\n viewMaxHeight: PropTypes.string,\n showLoadingIndicator: PropTypes.bool\n};\n\nVirtualize.defaultProps = {\n bufferMultiplier: 1,\n callback: () => {},\n rowContainerClass: '',\n viewHeight: 400,\n viewWidth: 0,\n itemHeight: 40,\n renderHeader: null,\n renderFooter: null,\n state: undefined,\n totalRecordCount: undefined,\n numberOfRows: undefined,\n viewMaxHeight: undefined,\n showLoadingIndicator: false\n};\n\nVirtualize.displayName = 'Virtualize';\n\nexport default memo(Virtualize);\n"]}
@@ -0,0 +1,63 @@
1
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ export declare function getRecordCountForLayoutPaint(totalRecordCount: number): number;
3
+ export declare function isPaginationRequestCompleted(vi: {
4
+ pInfo?: {
5
+ view?: {
6
+ startIndex: number;
7
+ endIndex: number;
8
+ };
9
+ };
10
+ }, state: {
11
+ startIndex: number;
12
+ endIndex: number;
13
+ }): boolean;
14
+ export declare function isViewNotFilled(totalRecordCount: number, vi: {
15
+ rContainer: HTMLDivElement;
16
+ }, pContainer: HTMLDivElement, renderHeader: boolean): boolean | 0;
17
+ export declare function getCurrentEstimation(rContainer: HTMLDivElement, includeRowsOnly?: boolean): {
18
+ itemCount: number;
19
+ rowContainerHeight: number;
20
+ averageNumberOfItemsInARow: number;
21
+ averageRowHeight: number;
22
+ };
23
+ export declare function updateRowContainerTop(vi: {
24
+ rContainer: HTMLDivElement;
25
+ pInfo: {
26
+ view: {
27
+ startIndex: number;
28
+ endIndex: number;
29
+ };
30
+ currentEstimation: {
31
+ itemCount: number;
32
+ rowContainerHeight: number;
33
+ averageNumberOfItemsInARow: number;
34
+ averageRowHeight: number;
35
+ };
36
+ existingItemBoundingBox: {
37
+ y: number;
38
+ };
39
+ currentRowIndex: number;
40
+ bufferNewCords: {
41
+ top: number;
42
+ };
43
+ bufferOldCords: {
44
+ top: number;
45
+ };
46
+ };
47
+ currentEstimation: {
48
+ itemCount: number;
49
+ rowContainerHeight: number;
50
+ averageNumberOfItemsInARow: number;
51
+ averageRowHeight: number;
52
+ };
53
+ }, totalRecordCount: number, state: {
54
+ [key: string]: any;
55
+ }, pContainer: HTMLDivElement, scrollTop: number): void;
56
+ export declare function setAttributesOnItems(state: {
57
+ startIndex: number;
58
+ endIndex: number;
59
+ }, rContainer: HTMLElement): void;
60
+ export declare function getPContainerClientWidth(pContainer: HTMLElement): number | undefined;
61
+ export declare function getValueWithUnit(value: string | number | undefined, isBasicMode: RsCoreTypes.Meta['basicMode'], numberOfRows?: number): string;
62
+ export declare function getMaxHeight(viewMaxHeight: string | undefined, isBasicMode: RsCoreTypes.Meta['basicMode']): string;
63
+ //# sourceMappingURL=utility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../../Core/Components/Virtualise/utility.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAOlE,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,UAEpE;AAID,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,EACnE,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,WAShD;AAED,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,MAAM,EACxB,EAAE,EAAE;IAAE,UAAU,EAAE,cAAc,CAAA;CAAE,EAClC,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,OAAO,eAmBtB;AA4BD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,eAAe,UAAQ;;;;;EAkCvF;AAgGD,wBAAgB,qBAAqB,CACnC,EAAE,EAAE;IACF,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,iBAAiB,EAAE;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,0BAA0B,EAAE,MAAM,CAAC;YACnC,gBAAgB,EAAE,MAAM,CAAC;SAC1B,CAAC;QACF,uBAAuB,EAAE;YAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QAChC,cAAc,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KACjC,CAAC;IACF,iBAAiB,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,0BAA0B,EAAE,MAAM,CAAC;QACnC,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,EACD,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,MAAM,QAuClB;AAGD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC/C,UAAU,EAAE,WAAW,QAKxB;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,WAAW,sBAU/D;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAClC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAC1C,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAOR;AAED,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAS3C"}
@@ -0,0 +1,209 @@
1
+ import { getScrollbarWidth } from 'pega-repeating-structures-core';
2
+ import { StickyGroupHeader } from './Pagination';
3
+ // TODO: in future, take this count in meta
4
+ const MAX_SCROLLABLE_ROW_COUNT = 5000;
5
+ export function getRecordCountForLayoutPaint(totalRecordCount) {
6
+ return totalRecordCount > MAX_SCROLLABLE_ROW_COUNT ? MAX_SCROLLABLE_ROW_COUNT : totalRecordCount;
7
+ }
8
+ // State should be communicated back from consumer to know
9
+ // if pagination last request completed or not.
10
+ export function isPaginationRequestCompleted(vi, state) {
11
+ // this is required when there is a pagination request which is raised just to update consumer
12
+ // about updated index though pagination is really not required.
13
+ return (state &&
14
+ state.startIndex === vi.pInfo?.view?.startIndex &&
15
+ state.endIndex === vi.pInfo?.view?.endIndex);
16
+ }
17
+ export function isViewNotFilled(totalRecordCount, vi, pContainer, renderHeader) {
18
+ const parentContainerPosition = pContainer.getBoundingClientRect();
19
+ // This is required to accommodate header height.
20
+ // TODO: Need to find a better solution to pull out header out of this.
21
+ const headerRowHeight = renderHeader && pContainer.childElementCount > 1
22
+ ? pContainer.childNodes[0].offsetHeight
23
+ : 0;
24
+ const scrollbarWidth = getScrollbarWidth();
25
+ return (totalRecordCount &&
26
+ vi.rContainer.childElementCount !== totalRecordCount &&
27
+ (Math.floor(vi.rContainer.getBoundingClientRect().bottom) <
28
+ Math.floor(parentContainerPosition.bottom - scrollbarWidth) ||
29
+ Math.floor(vi.rContainer.getBoundingClientRect().top) >
30
+ Math.floor(parentContainerPosition.top + headerRowHeight) ||
31
+ vi.rContainer.childElementCount === 0));
32
+ }
33
+ function getItemCountPerRow(rows) {
34
+ const itemsCountPerRow = {};
35
+ rows.forEach(item => {
36
+ const itemBoundary = item.getBoundingClientRect();
37
+ // isStickyGroupHeader flag helps in including the overlapped sticky-group-header for getting correct averages
38
+ const isStickyGroupHeader = item.classList.contains(StickyGroupHeader);
39
+ if (itemsCountPerRow[itemBoundary.top]) {
40
+ itemsCountPerRow[itemBoundary.top].count += 1;
41
+ if (itemsCountPerRow[itemBoundary.top].height < itemBoundary.height) {
42
+ itemsCountPerRow[itemBoundary.top].height = itemBoundary.height;
43
+ }
44
+ }
45
+ else {
46
+ itemsCountPerRow[itemBoundary.top] = {
47
+ count: 1,
48
+ height: itemBoundary.height,
49
+ isStickyGroupHeader
50
+ };
51
+ }
52
+ });
53
+ return itemsCountPerRow;
54
+ }
55
+ // Based on row container size, get estimated count,
56
+ // average height and no of items in a row.
57
+ export function getCurrentEstimation(rContainer, includeRowsOnly = false) {
58
+ const rContainerChildren = Array.from(rContainer.children || []);
59
+ const filteredRowsContainer = includeRowsOnly
60
+ ? rContainerChildren.filter(r => r.hasAttribute('data-key'))
61
+ : rContainerChildren;
62
+ const itemsCountPerRow = getItemCountPerRow(filteredRowsContainer);
63
+ const itemCount = filteredRowsContainer.length || 0;
64
+ // TODO FIXME: #virtualizer Remove dependency on sticky-group-header class and try to make the key of ItemsCountPerRow unique which will work for overlapping scenarios
65
+ // BUG-740809 handling the rowCount in case of overlapped sticky-group-header
66
+ // If we have sticky-group-headers, add overlapped sticky-group-headers to rowCount.
67
+ // So, that averageNumberOfItemsInARow will be 1 for grid. That's why adding the complete count.
68
+ const rowCount = Object.values(itemsCountPerRow).reduce((acc, o) => {
69
+ if (o.isStickyGroupHeader) {
70
+ return acc + o.count;
71
+ }
72
+ return acc + 1;
73
+ }, 0);
74
+ const averageNumberOfItemsInARow = rowCount > 0 ? itemCount / rowCount : 0;
75
+ const height = Object.values(itemsCountPerRow).reduce((acc, o) => {
76
+ if (o.isStickyGroupHeader) {
77
+ return acc + o.height * o.count;
78
+ }
79
+ return acc + o.height;
80
+ }, 0);
81
+ const averageRowHeight = rowCount > 0 ? height / rowCount : 0;
82
+ const rowContainerHeight = rContainer.offsetHeight || 0;
83
+ return { itemCount, rowContainerHeight, averageNumberOfItemsInARow, averageRowHeight };
84
+ }
85
+ // Calculate top which needs to set on row container when component rerender.
86
+ // component can rerender many times though pagination is in progress.
87
+ function calculateTop(vi, scrollTop) {
88
+ let top = 0;
89
+ if (vi.pInfo && vi.pInfo?.view?.startIndex !== 0) {
90
+ // slide row container for current view based on previous estimated value.
91
+ const estimatedNoOfItemsPushedUp = scrollTop * (vi.currentEstimation.itemCount / vi.currentEstimation.rowContainerHeight);
92
+ // estimated start view index of current view based on scroll top.
93
+ const estimatedStartIndexInView = estimatedNoOfItemsPushedUp + 1;
94
+ // estimated number of buffer records.
95
+ const noOfBufferRecords = estimatedStartIndexInView - (vi.pInfo?.view?.startIndex ?? 0);
96
+ const noOfBufferRecordsHeight = (noOfBufferRecords / vi.currentEstimation.averageNumberOfItemsInARow) *
97
+ vi.currentEstimation.averageRowHeight;
98
+ // calculated top of row container.
99
+ top = scrollTop - noOfBufferRecordsHeight;
100
+ if (top < 0)
101
+ top = 0;
102
+ }
103
+ return top;
104
+ }
105
+ function adjustTopRowContainerToAvoidDrift(vi, existingTop) {
106
+ // Adjust top if element was viewable when user stop scrolling and pagination trigger.
107
+ // existing item should be viewable are at time of calculation
108
+ // as we allow user to scroll even pagination request triggered.
109
+ let effectiveTop = existingTop;
110
+ const { existingItemBoundingBox, currentRowIndex } = vi.pInfo;
111
+ // As safari does elastic scroll, we need this check to avoid any space on top.
112
+ const safariIsFirstItem = currentRowIndex === 0;
113
+ if (existingItemBoundingBox && !safariIsFirstItem) {
114
+ const currentRowIndexItem = vi.rContainer.querySelector(`[data-index='${vi.pInfo.currentRowIndex}']`);
115
+ if (currentRowIndexItem) {
116
+ // scrollNodeTopChange - change in scroll while pagination is in progress.
117
+ const scrollNodeTopChange = vi.pInfo.bufferNewCords.top - vi.pInfo.bufferOldCords.top;
118
+ const newItemBoundingBox = currentRowIndexItem.getBoundingClientRect();
119
+ const top = newItemBoundingBox.y - existingItemBoundingBox.y - scrollNodeTopChange;
120
+ effectiveTop = existingTop - top;
121
+ }
122
+ }
123
+ // As of now, we are making top to zero if it goes in negative, which is not right way.
124
+ // -ve is possible value for it as scroll top is just approximation. Check when
125
+ // gallery view gives you 0 to index result after some scroll.
126
+ // scroll top is 0 as it is top row index based.
127
+ // TODO: can go negative as bottom to top paint strategy is pending.
128
+ // This check and expression is not required after that. This will be handled in next release.
129
+ // Gallery issue wil also be handled in that. As of for first attempt we have to either scroll more.
130
+ // or make buffer size more in that to avoid 0 to index number in next repaint.
131
+ if (effectiveTop < 0 && vi.pInfo.view.startIndex === 0)
132
+ effectiveTop = 0;
133
+ if (effectiveTop !== existingTop)
134
+ vi.rContainer.style.top = `${effectiveTop}px`;
135
+ }
136
+ export function updateRowContainerTop(vi, totalRecordCount, state, pContainer, scrollTop) {
137
+ // if you get last record , put row container to bottom always to Avoid
138
+ // any space left because of estimation otherwise calculate top.
139
+ // if next rerender you get less records,
140
+ if ((vi.pInfo?.view?.startIndex === 0 && vi.pInfo?.view?.endIndex < totalRecordCount) ||
141
+ // eslint-disable-next-line no-unsafe-optional-chaining
142
+ vi.pInfo?.view?.startIndex + 1 > totalRecordCount ||
143
+ // eslint-disable-next-line no-unsafe-optional-chaining
144
+ vi.pInfo?.view?.endIndex - vi.pInfo?.view?.startIndex >= totalRecordCount) {
145
+ // This is a case when you scroll to top or say after filter your items count reduce to such level
146
+ // it doesn't fit in current start and end index and put container top and fill view
147
+ // will consider if empty.
148
+ vi.rContainer.style.removeProperty('bottom');
149
+ vi.rContainer.style.top = '0px';
150
+ // Any action which makes indexes out of range to total record count,
151
+ // scroll to top as a default behavior.
152
+ if (vi.pInfo.view.startIndex + 1 > totalRecordCount)
153
+ pContainer.scrollTop = 0;
154
+ // commenting below line as it can cause white space on top sometime.
155
+ // Commenting this line might cause a small flicker only when you reach at top.
156
+ // We will solve this in 8.6 release.
157
+ // else if (vi.pInfo?.topRowIndex > 0) adjustTopRowContainerToAvoidDrift(vi, 0);
158
+ }
159
+ else if (
160
+ // eslint-disable-next-line no-unsafe-optional-chaining
161
+ vi.pInfo?.view?.endIndex + 1 >= totalRecordCount &&
162
+ // eslint-disable-next-line no-unsafe-optional-chaining
163
+ vi.pInfo?.view?.startIndex + 1 <= totalRecordCount) {
164
+ vi.rContainer.style.removeProperty('top');
165
+ vi.rContainer.style.bottom = '0px';
166
+ }
167
+ else {
168
+ vi.rContainer.style.removeProperty('bottom');
169
+ const top = calculateTop(vi, scrollTop);
170
+ vi.rContainer.style.top = `${top}px`;
171
+ adjustTopRowContainerToAvoidDrift(vi, top);
172
+ }
173
+ }
174
+ // index attrs required to estimate next set.
175
+ export function setAttributesOnItems(state, rContainer) {
176
+ rContainer.childNodes.forEach((r, index) => {
177
+ r.setAttribute('data-index', `${state.startIndex + index}`);
178
+ });
179
+ }
180
+ export function getPContainerClientWidth(pContainer) {
181
+ if (!pContainer)
182
+ return;
183
+ const { width: pContainerWidth } = pContainer.getBoundingClientRect();
184
+ let pContainerClientWidth = Math.floor(pContainerWidth);
185
+ if (pContainer.offsetWidth > pContainer.clientWidth) {
186
+ pContainerClientWidth -= getScrollbarWidth();
187
+ }
188
+ return pContainerClientWidth;
189
+ }
190
+ export function getValueWithUnit(value, isBasicMode, numberOfRows) {
191
+ if (!value)
192
+ return '100%';
193
+ if (isBasicMode && !numberOfRows)
194
+ return 'auto';
195
+ if (!value.toString().includes('px') && !value.toString().includes('%')) {
196
+ return `${value}px`;
197
+ }
198
+ return `${value}`;
199
+ }
200
+ export function getMaxHeight(viewMaxHeight, isBasicMode) {
201
+ if (viewMaxHeight) {
202
+ return viewMaxHeight;
203
+ }
204
+ if (isBasicMode) {
205
+ return '550px';
206
+ }
207
+ return 'none';
208
+ }
209
+ //# sourceMappingURL=utility.js.map