@pega/lists-react 10.0.0-build.1.9 → 10.0.0-build.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/README.md +284 -83
  2. package/lib/Core/Components/AggregateMenu.d.ts.map +1 -1
  3. package/lib/Core/Components/AggregateMenu.js +2 -1
  4. package/lib/Core/Components/AggregateMenu.js.map +1 -1
  5. package/lib/Core/Components/Card/CardFieldValue.d.ts +8 -0
  6. package/lib/Core/Components/Card/CardFieldValue.d.ts.map +1 -0
  7. package/lib/Core/Components/Card/CardFieldValue.js +8 -0
  8. package/lib/Core/Components/Card/CardFieldValue.js.map +1 -0
  9. package/lib/Core/Components/Card/CardHeader.d.ts +9 -0
  10. package/lib/Core/Components/Card/CardHeader.d.ts.map +1 -0
  11. package/lib/Core/{Views/Gallery/Components/GalleryHeader.js → Components/Card/CardHeader.js} +6 -5
  12. package/lib/Core/Components/Card/CardHeader.js.map +1 -0
  13. package/lib/Core/Components/Card/CardSubHeading.d.ts +10 -0
  14. package/lib/Core/Components/Card/CardSubHeading.d.ts.map +1 -0
  15. package/lib/Core/Components/Card/CardSubHeading.js +9 -0
  16. package/lib/Core/Components/Card/CardSubHeading.js.map +1 -0
  17. package/lib/Core/Components/Card/cardData.d.ts +48 -0
  18. package/lib/Core/Components/Card/cardData.d.ts.map +1 -0
  19. package/lib/Core/{Views/Gallery/utils.js → Components/Card/cardData.js} +55 -52
  20. package/lib/Core/Components/Card/cardData.js.map +1 -0
  21. package/lib/Core/Components/Card/index.d.ts +4 -0
  22. package/lib/Core/Components/Card/index.d.ts.map +1 -0
  23. package/lib/Core/Components/Card/index.js +4 -0
  24. package/lib/Core/Components/Card/index.js.map +1 -0
  25. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.d.ts.map +1 -1
  26. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.js +6 -53
  27. package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.js.map +1 -1
  28. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDeleteAction.d.ts.map +1 -1
  29. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDeleteAction.js +12 -2
  30. package/lib/Core/Components/DefaultComponents/CellRenderers/RowDeleteAction.js.map +1 -1
  31. package/lib/Core/Components/DefaultComponents/CellRenderers/RowSelectHandle.js +9 -2
  32. package/lib/Core/Components/DefaultComponents/CellRenderers/RowSelectHandle.js.map +1 -1
  33. package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts +2 -1
  34. package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts.map +1 -1
  35. package/lib/Core/Components/DefaultComponents/EmptyContainer.js +3 -3
  36. package/lib/Core/Components/DefaultComponents/EmptyContainer.js.map +1 -1
  37. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.d.ts.map +1 -1
  38. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js +5 -4
  39. package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js.map +1 -1
  40. package/lib/Core/Components/DefaultComponents/index.d.ts +2 -1
  41. package/lib/Core/Components/DefaultComponents/index.d.ts.map +1 -1
  42. package/lib/Core/Components/DynamicFieldConfiguration.d.ts +3 -1
  43. package/lib/Core/Components/DynamicFieldConfiguration.d.ts.map +1 -1
  44. package/lib/Core/Components/DynamicFieldConfiguration.js +7 -4
  45. package/lib/Core/Components/DynamicFieldConfiguration.js.map +1 -1
  46. package/lib/Core/Components/Filters/AdvanceFilter.d.ts.map +1 -1
  47. package/lib/Core/Components/Filters/AdvanceFilter.js +5 -5
  48. package/lib/Core/Components/Filters/AdvanceFilter.js.map +1 -1
  49. package/lib/Core/Components/Filters/BooleanFilter.js +2 -2
  50. package/lib/Core/Components/Filters/BooleanFilter.js.map +1 -1
  51. package/lib/Core/Components/Filters/CommonFilter.js +1 -1
  52. package/lib/Core/Components/Filters/CommonFilter.js.map +1 -1
  53. package/lib/Core/Components/Filters/SelectFilter.d.ts.map +1 -1
  54. package/lib/Core/Components/Filters/SelectFilter.js +24 -5
  55. package/lib/Core/Components/Filters/SelectFilter.js.map +1 -1
  56. package/lib/Core/Components/Filters/SimpleFilter.js +2 -3
  57. package/lib/Core/Components/Filters/SimpleFilter.js.map +1 -1
  58. package/lib/Core/Components/GroupRenderer/index.d.ts.map +1 -1
  59. package/lib/Core/Components/GroupRenderer/index.js +7 -2
  60. package/lib/Core/Components/GroupRenderer/index.js.map +1 -1
  61. package/lib/Core/Components/HeaderMenu/index.d.ts.map +1 -1
  62. package/lib/Core/Components/HeaderMenu/index.js +2 -3
  63. package/lib/Core/Components/HeaderMenu/index.js.map +1 -1
  64. package/lib/Core/Components/NotificationManager.js +1 -1
  65. package/lib/Core/Components/NotificationManager.js.map +1 -1
  66. package/lib/Core/Components/RFColumnConfigurator.d.ts +1 -1
  67. package/lib/Core/Components/RFColumnConfigurator.d.ts.map +1 -1
  68. package/lib/Core/Components/RFColumnConfigurator.js +9 -6
  69. package/lib/Core/Components/RFColumnConfigurator.js.map +1 -1
  70. package/lib/Core/Components/RSWrapper/index.d.ts.map +1 -1
  71. package/lib/Core/Components/RSWrapper/index.js +4 -0
  72. package/lib/Core/Components/RSWrapper/index.js.map +1 -1
  73. package/lib/Core/Components/RenderingEngine/ComponentResolverFactory.d.ts +1 -0
  74. package/lib/Core/Components/RenderingEngine/ComponentResolverFactory.d.ts.map +1 -1
  75. package/lib/Core/Components/RenderingEngine/ComponentResolverFactory.js +6 -1
  76. package/lib/Core/Components/RenderingEngine/ComponentResolverFactory.js.map +1 -1
  77. package/lib/Core/Components/Toolbar/AdvanceToolbar.d.ts.map +1 -1
  78. package/lib/Core/Components/Toolbar/AdvanceToolbar.js +13 -4
  79. package/lib/Core/Components/Toolbar/AdvanceToolbar.js.map +1 -1
  80. package/lib/Core/Components/Toolbar/ColumnSelector.d.ts.map +1 -1
  81. package/lib/Core/Components/Toolbar/ColumnSelector.js +13 -3
  82. package/lib/Core/Components/Toolbar/ColumnSelector.js.map +1 -1
  83. package/lib/Core/Components/Toolbar/FieldSelector.js +1 -1
  84. package/lib/Core/Components/Toolbar/FieldSelector.js.map +1 -1
  85. package/lib/Core/Components/Toolbar/Map/MapToolbar.d.ts +2 -2
  86. package/lib/Core/Components/Toolbar/Map/MapToolbar.d.ts.map +1 -1
  87. package/lib/Core/Components/Toolbar/Map/MapToolbar.js +17 -18
  88. package/lib/Core/Components/Toolbar/Map/MapToolbar.js.map +1 -1
  89. package/lib/Core/Components/Toolbar/RefreshBanner.d.ts +5 -1
  90. package/lib/Core/Components/Toolbar/RefreshBanner.d.ts.map +1 -1
  91. package/lib/Core/Components/Toolbar/RefreshBanner.js +22 -6
  92. package/lib/Core/Components/Toolbar/RefreshBanner.js.map +1 -1
  93. package/lib/Core/Components/Toolbar/SimpleToolbar.d.ts.map +1 -1
  94. package/lib/Core/Components/Toolbar/SimpleToolbar.js +2 -2
  95. package/lib/Core/Components/Toolbar/SimpleToolbar.js.map +1 -1
  96. package/lib/Core/Components/Toolbar/hooks/useFilter.d.ts.map +1 -1
  97. package/lib/Core/Components/Toolbar/hooks/useFilter.js +1 -1
  98. package/lib/Core/Components/Toolbar/hooks/useFilter.js.map +1 -1
  99. package/lib/Core/Components/Toolbar/hooks/useMore.d.ts.map +1 -1
  100. package/lib/Core/Components/Toolbar/hooks/useMore.js +23 -5
  101. package/lib/Core/Components/Toolbar/hooks/useMore.js.map +1 -1
  102. package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts +1 -0
  103. package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts.map +1 -1
  104. package/lib/Core/Components/Toolbar/hooks/usePersonalization.js +4 -2
  105. package/lib/Core/Components/Toolbar/hooks/usePersonalization.js.map +1 -1
  106. package/lib/Core/Components/Toolbar/utils/utils.d.ts +3 -3
  107. package/lib/Core/Components/Toolbar/utils/utils.d.ts.map +1 -1
  108. package/lib/Core/Components/Toolbar/utils/utils.js +16 -10
  109. package/lib/Core/Components/Toolbar/utils/utils.js.map +1 -1
  110. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.d.ts.map +1 -1
  111. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js +2 -2
  112. package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js.map +1 -1
  113. package/lib/Core/Components/Virtualise/VirtualizeInfinite.js +6 -4
  114. package/lib/Core/Components/Virtualise/VirtualizeInfinite.js.map +1 -1
  115. package/lib/Core/Components/Virtualise/index.js +7 -5
  116. package/lib/Core/Components/Virtualise/index.js.map +1 -1
  117. package/lib/Core/Utils/fetchRowActions.d.ts +16 -0
  118. package/lib/Core/Utils/fetchRowActions.d.ts.map +1 -0
  119. package/lib/Core/Utils/fetchRowActions.js +60 -0
  120. package/lib/Core/Utils/fetchRowActions.js.map +1 -0
  121. package/lib/Core/Utils/styles.d.ts +9 -0
  122. package/lib/Core/Utils/styles.d.ts.map +1 -1
  123. package/lib/Core/Utils/styles.js +8 -3
  124. package/lib/Core/Utils/styles.js.map +1 -1
  125. package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts +1 -1
  126. package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts.map +1 -1
  127. package/lib/Core/Views/Gallery/Components/GalleryCard.js +13 -9
  128. package/lib/Core/Views/Gallery/Components/GalleryCard.js.map +1 -1
  129. package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.d.ts.map +1 -1
  130. package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.js +8 -5
  131. package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.js.map +1 -1
  132. package/lib/Core/Views/Gallery/Gallery.types.d.ts +1 -0
  133. package/lib/Core/Views/Gallery/Gallery.types.d.ts.map +1 -1
  134. package/lib/Core/Views/Gallery/Gallery.types.js.map +1 -1
  135. package/lib/Core/Views/Gallery/GalleryContainer.d.ts.map +1 -1
  136. package/lib/Core/Views/Gallery/GalleryContainer.js +1 -1
  137. package/lib/Core/Views/Gallery/GalleryContainer.js.map +1 -1
  138. package/lib/Core/Views/Gallery/index.d.ts +1 -1
  139. package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
  140. package/lib/Core/Views/Gallery/index.js +6 -9
  141. package/lib/Core/Views/Gallery/index.js.map +1 -1
  142. package/lib/Core/Views/Kanban/Kanban.styles.d.ts +16 -0
  143. package/lib/Core/Views/Kanban/Kanban.styles.d.ts.map +1 -0
  144. package/lib/Core/Views/Kanban/Kanban.styles.js +58 -0
  145. package/lib/Core/Views/Kanban/Kanban.styles.js.map +1 -0
  146. package/lib/Core/Views/Kanban/Kanban.types.d.ts +10 -0
  147. package/lib/Core/Views/Kanban/Kanban.types.d.ts.map +1 -0
  148. package/lib/Core/Views/Kanban/Kanban.types.js +2 -0
  149. package/lib/Core/Views/Kanban/Kanban.types.js.map +1 -0
  150. package/lib/Core/Views/Kanban/KanbanCard.d.ts +7 -0
  151. package/lib/Core/Views/Kanban/KanbanCard.d.ts.map +1 -0
  152. package/lib/Core/Views/Kanban/KanbanCard.js +23 -0
  153. package/lib/Core/Views/Kanban/KanbanCard.js.map +1 -0
  154. package/lib/Core/Views/Kanban/KanbanLane.d.ts +23 -0
  155. package/lib/Core/Views/Kanban/KanbanLane.d.ts.map +1 -0
  156. package/lib/Core/Views/Kanban/KanbanLane.js +21 -0
  157. package/lib/Core/Views/Kanban/KanbanLane.js.map +1 -0
  158. package/lib/Core/Views/Kanban/KanbanLaneHeader.d.ts +12 -0
  159. package/lib/Core/Views/Kanban/KanbanLaneHeader.d.ts.map +1 -0
  160. package/lib/Core/Views/Kanban/KanbanLaneHeader.js +16 -0
  161. package/lib/Core/Views/Kanban/KanbanLaneHeader.js.map +1 -0
  162. package/lib/Core/Views/Kanban/KanbanLaneVirtualizer.d.ts +20 -0
  163. package/lib/Core/Views/Kanban/KanbanLaneVirtualizer.d.ts.map +1 -0
  164. package/lib/Core/Views/Kanban/KanbanLaneVirtualizer.js +37 -0
  165. package/lib/Core/Views/Kanban/KanbanLaneVirtualizer.js.map +1 -0
  166. package/lib/Core/Views/Kanban/hooks/useKanbanLanesVirtualization.d.ts +19 -0
  167. package/lib/Core/Views/Kanban/hooks/useKanbanLanesVirtualization.d.ts.map +1 -0
  168. package/lib/Core/Views/Kanban/hooks/useKanbanLanesVirtualization.js +32 -0
  169. package/lib/Core/Views/Kanban/hooks/useKanbanLanesVirtualization.js.map +1 -0
  170. package/lib/Core/Views/Kanban/index.d.ts +9 -0
  171. package/lib/Core/Views/Kanban/index.d.ts.map +1 -0
  172. package/lib/Core/Views/Kanban/index.js +63 -0
  173. package/lib/Core/Views/Kanban/index.js.map +1 -0
  174. package/lib/Core/Views/Table/CellWrapper.d.ts +3 -1
  175. package/lib/Core/Views/Table/CellWrapper.d.ts.map +1 -1
  176. package/lib/Core/Views/Table/CellWrapper.js +4 -3
  177. package/lib/Core/Views/Table/CellWrapper.js.map +1 -1
  178. package/lib/Core/Views/Table/Row.d.ts.map +1 -1
  179. package/lib/Core/Views/Table/Row.js +22 -10
  180. package/lib/Core/Views/Table/Row.js.map +1 -1
  181. package/lib/Core/Views/Table/StyledTableContainer.d.ts.map +1 -1
  182. package/lib/Core/Views/Table/StyledTableContainer.js +110 -32
  183. package/lib/Core/Views/Table/StyledTableContainer.js.map +1 -1
  184. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts +3 -1
  185. package/lib/Core/Views/Table/VirtualizeWrapper.d.ts.map +1 -1
  186. package/lib/Core/Views/Table/VirtualizeWrapper.js +6 -5
  187. package/lib/Core/Views/Table/VirtualizeWrapper.js.map +1 -1
  188. package/lib/Core/Views/Table/index.d.ts.map +1 -1
  189. package/lib/Core/Views/Table/index.js +15 -6
  190. package/lib/Core/Views/Table/index.js.map +1 -1
  191. package/lib/Core/Views/Table/useMasterDetailCleanup.d.ts +11 -0
  192. package/lib/Core/Views/Table/useMasterDetailCleanup.d.ts.map +1 -0
  193. package/lib/Core/Views/Table/useMasterDetailCleanup.js +27 -0
  194. package/lib/Core/Views/Table/useMasterDetailCleanup.js.map +1 -0
  195. package/lib/Core/Views/Table/useMasterDetailHost.d.ts +14 -0
  196. package/lib/Core/Views/Table/useMasterDetailHost.d.ts.map +1 -0
  197. package/lib/Core/Views/Table/useMasterDetailHost.js +56 -0
  198. package/lib/Core/Views/Table/useMasterDetailHost.js.map +1 -0
  199. package/lib/Core/Views/Table/useMasterDetailRenderer.d.ts +13 -0
  200. package/lib/Core/Views/Table/useMasterDetailRenderer.d.ts.map +1 -0
  201. package/lib/Core/Views/Table/useMasterDetailRenderer.js +23 -0
  202. package/lib/Core/Views/Table/useMasterDetailRenderer.js.map +1 -0
  203. package/lib/Core/Views/Table/useMasterDetailRow.d.ts +9 -0
  204. package/lib/Core/Views/Table/useMasterDetailRow.d.ts.map +1 -0
  205. package/lib/Core/Views/Table/useMasterDetailRow.js +55 -0
  206. package/lib/Core/Views/Table/useMasterDetailRow.js.map +1 -0
  207. package/lib/Core/Views/Table/useMasterDetailState.d.ts +21 -0
  208. package/lib/Core/Views/Table/useMasterDetailState.d.ts.map +1 -0
  209. package/lib/Core/Views/Table/useMasterDetailState.js +33 -0
  210. package/lib/Core/Views/Table/useMasterDetailState.js.map +1 -0
  211. package/lib/Core/Views/Timeline/Timeline.d.ts.map +1 -1
  212. package/lib/Core/Views/Timeline/Timeline.js +2 -2
  213. package/lib/Core/Views/Timeline/Timeline.js.map +1 -1
  214. package/lib/Core/Views/Timeline/Timeline.styles.d.ts +2 -2
  215. package/lib/Core/Views/Timeline/Timeline.types.d.ts +9 -10
  216. package/lib/Core/Views/Timeline/Timeline.types.d.ts.map +1 -1
  217. package/lib/Core/Views/Timeline/Timeline.types.js.map +1 -1
  218. package/lib/Core/Views/Timeline/TimelineGroup.d.ts +4 -10
  219. package/lib/Core/Views/Timeline/TimelineGroup.d.ts.map +1 -1
  220. package/lib/Core/Views/Timeline/TimelineGroup.js +5 -6
  221. package/lib/Core/Views/Timeline/TimelineGroup.js.map +1 -1
  222. package/lib/Core/Views/Timeline/index.d.ts.map +1 -1
  223. package/lib/Core/Views/Timeline/index.js +38 -10
  224. package/lib/Core/Views/Timeline/index.js.map +1 -1
  225. package/lib/Core/Views/Timeline/utils.d.ts.map +1 -1
  226. package/lib/Core/Views/Timeline/utils.js +2 -1
  227. package/lib/Core/Views/Timeline/utils.js.map +1 -1
  228. package/lib/Core/constants.d.ts +4 -0
  229. package/lib/Core/constants.d.ts.map +1 -1
  230. package/lib/Core/constants.js +4 -0
  231. package/lib/Core/constants.js.map +1 -1
  232. package/lib/Core/templateFeatureSupport.js +2 -2
  233. package/lib/Core/templateFeatureSupport.js.map +1 -1
  234. package/package.json +9 -8
  235. package/lib/Core/Hooks/a11y/useAnnounceGroup.d.ts +0 -11
  236. package/lib/Core/Hooks/a11y/useAnnounceGroup.d.ts.map +0 -1
  237. package/lib/Core/Hooks/a11y/useAnnounceGroup.js +0 -52
  238. package/lib/Core/Hooks/a11y/useAnnounceGroup.js.map +0 -1
  239. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts +0 -8
  240. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts.map +0 -1
  241. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js +0 -8
  242. package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js.map +0 -1
  243. package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts +0 -8
  244. package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts.map +0 -1
  245. package/lib/Core/Views/Gallery/Components/GalleryHeader.js.map +0 -1
  246. package/lib/Core/Views/Gallery/hooks/useRowActions.d.ts +0 -9
  247. package/lib/Core/Views/Gallery/hooks/useRowActions.d.ts.map +0 -1
  248. package/lib/Core/Views/Gallery/hooks/useRowActions.js +0 -25
  249. package/lib/Core/Views/Gallery/hooks/useRowActions.js.map +0 -1
  250. package/lib/Core/Views/Gallery/utils.d.ts +0 -36
  251. package/lib/Core/Views/Gallery/utils.d.ts.map +0 -1
  252. package/lib/Core/Views/Gallery/utils.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import PropTypes from 'prop-types';
3
- import { useState, useEffect } from 'react';
3
+ import { useState, useEffect, useRef } from 'react';
4
4
  import styled, { css } from 'styled-components';
5
- import { Banner, defaultThemeProp } from '@pega/cosmos-react-core';
5
+ import { Banner, defaultThemeProp, useI18n, useLiveLog } from '@pega/cosmos-react-core';
6
6
  const StyledBanner = styled(Banner)(({ theme }) => {
7
7
  return css `
8
8
  flex-shrink: 0;
@@ -14,12 +14,26 @@ const StyledBanner = styled(Banner)(({ theme }) => {
14
14
  `;
15
15
  });
16
16
  StyledBanner.defaultProps = defaultThemeProp;
17
- export default function RefreshBanner({ refreshNotification, forceRefresh }) {
17
+ export default function RefreshBanner({ refreshNotification, forceRefresh, viewName, allowRefresh }) {
18
18
  const { id: notificationId, message, refreshActionLabel } = refreshNotification || {};
19
19
  const [showBanner, setShowBanner] = useState(true);
20
+ const previousNotificationId = useRef(null);
21
+ const t = useI18n();
22
+ const { announcePolite } = useLiveLog();
20
23
  useEffect(() => {
24
+ if (previousNotificationId.current === notificationId)
25
+ return;
21
26
  setShowBanner(true);
22
- }, [notificationId]);
27
+ if (message) {
28
+ announcePolite({
29
+ message: t(allowRefresh
30
+ ? 'refresh_notification_instructions_with_toolbar_actions'
31
+ : 'refresh_notification_instructions', [viewName]),
32
+ type: 'info'
33
+ });
34
+ }
35
+ previousNotificationId.current = notificationId;
36
+ }, [allowRefresh, announcePolite, message, notificationId, t, viewName]);
23
37
  return (_jsx(_Fragment, { children: showBanner && (_jsx(StyledBanner, { variant: 'info', messages: [
24
38
  {
25
39
  label: message,
@@ -30,10 +44,12 @@ export default function RefreshBanner({ refreshNotification, forceRefresh }) {
30
44
  }
31
45
  }
32
46
  }
33
- ], onDismiss: () => setShowBanner(false) })) }));
47
+ ], onDismiss: () => setShowBanner(false) }, notificationId)) }));
34
48
  }
35
49
  RefreshBanner.propTypes = {
36
50
  refreshNotification: PropTypes.objectOf(PropTypes.any).isRequired,
37
- forceRefresh: PropTypes.func.isRequired
51
+ forceRefresh: PropTypes.func.isRequired,
52
+ viewName: PropTypes.string.isRequired,
53
+ allowRefresh: PropTypes.bool
38
54
  };
39
55
  //# sourceMappingURL=RefreshBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshBanner.js","sourceRoot":"","sources":["../../../../Core/Components/Toolbar/RefreshBanner.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAChD,OAAO,GAAG,CAAA;;0BAEc,KAAK,CAAC,IAAI,CAAC,OAAO;uBACrB,KAAK,CAAC,IAAI,CAAC,OAAO;;;;GAItC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,YAAY,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE7C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,mBAAmB,EAAE,YAAY,EAAE;IACzE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,IAAI,EAAE,CAAC;IACtF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACL,4BACG,UAAU,IAAI,CACb,KAAC,YAAY,IACX,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,GAAG,EAAE;4BACZ,YAAY,EAAE,CAAC;wBACjB,CAAC;qBACF;iBACF;aACF,EACD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACrC,CACH,GACA,CACJ,CAAC;AACJ,CAAC;AAED,aAAa,CAAC,SAAS,GAAG;IACxB,mBAAmB,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;IACjE,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;CACxC,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Banner, defaultThemeProp } from '@pega/cosmos-react-core';\n\nconst StyledBanner = styled(Banner)(({ theme }) => {\n return css`\n flex-shrink: 0;\n margin-bottom: calc(${theme.base.spacing} * 2);\n margin-top: calc(${theme.base.spacing} * 2);\n ul {\n margin-inline-end: unset;\n }\n `;\n});\n\nStyledBanner.defaultProps = defaultThemeProp;\n\nexport default function RefreshBanner({ refreshNotification, forceRefresh }) {\n const { id: notificationId, message, refreshActionLabel } = refreshNotification || {};\n const [showBanner, setShowBanner] = useState(true);\n useEffect(() => {\n setShowBanner(true);\n }, [notificationId]);\n\n return (\n <>\n {showBanner && (\n <StyledBanner\n variant='info'\n messages={[\n {\n label: message,\n action: {\n text: refreshActionLabel,\n onClick: () => {\n forceRefresh();\n }\n }\n }\n ]}\n onDismiss={() => setShowBanner(false)}\n />\n )}\n </>\n );\n}\n\nRefreshBanner.propTypes = {\n refreshNotification: PropTypes.objectOf(PropTypes.any).isRequired,\n forceRefresh: PropTypes.func.isRequired\n};\n"]}
1
+ {"version":3,"file":"RefreshBanner.js","sourceRoot":"","sources":["../../../../Core/Components/Toolbar/RefreshBanner.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAExF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAChD,OAAO,GAAG,CAAA;;0BAEc,KAAK,CAAC,IAAI,CAAC,OAAO;uBACrB,KAAK,CAAC,IAAI,CAAC,OAAO;;;;GAItC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,YAAY,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE7C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,YAAY,EACb;IACC,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,IAAI,EAAE,CAAC;IACtF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,sBAAsB,CAAC,OAAO,KAAK,cAAc;YAAE,OAAO;QAE9D,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,OAAO,EAAE,CAAC;YACZ,cAAc,CAAC;gBACb,OAAO,EAAE,CAAC,CACR,YAAY;oBACV,CAAC,CAAC,wDAAwD;oBAC1D,CAAC,CAAC,mCAAmC,EACvC,CAAC,QAAQ,CAAC,CACX;gBACD,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;QACL,CAAC;QAED,sBAAsB,CAAC,OAAO,GAAG,cAAc,CAAC;IAClD,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzE,OAAO,CACL,4BACG,UAAU,IAAI,CACb,KAAC,YAAY,IAEX,OAAO,EAAC,MAAM,EACd,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,GAAG,EAAE;4BACZ,YAAY,EAAE,CAAC;wBACjB,CAAC;qBACF;iBACF;aACF,EACD,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAbhC,cAAc,CAcnB,CACH,GACA,CACJ,CAAC;AACJ,CAAC;AAED,aAAa,CAAC,SAAS,GAAG;IACxB,mBAAmB,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;IACjE,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IACvC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,UAAU;IACrC,YAAY,EAAE,SAAS,CAAC,IAAI;CAC7B,CAAC","sourcesContent":["import PropTypes from 'prop-types';\nimport { useState, useEffect, useRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Banner, defaultThemeProp, useI18n, useLiveLog } from '@pega/cosmos-react-core';\n\nconst StyledBanner = styled(Banner)(({ theme }) => {\n return css`\n flex-shrink: 0;\n margin-bottom: calc(${theme.base.spacing} * 2);\n margin-top: calc(${theme.base.spacing} * 2);\n ul {\n margin-inline-end: unset;\n }\n `;\n});\n\nStyledBanner.defaultProps = defaultThemeProp;\n\nexport default function RefreshBanner({\n refreshNotification,\n forceRefresh,\n viewName,\n allowRefresh\n}) {\n const { id: notificationId, message, refreshActionLabel } = refreshNotification || {};\n const [showBanner, setShowBanner] = useState(true);\n const previousNotificationId = useRef(null);\n const t = useI18n();\n const { announcePolite } = useLiveLog();\n\n useEffect(() => {\n if (previousNotificationId.current === notificationId) return;\n\n setShowBanner(true);\n\n if (message) {\n announcePolite({\n message: t(\n allowRefresh\n ? 'refresh_notification_instructions_with_toolbar_actions'\n : 'refresh_notification_instructions',\n [viewName]\n ),\n type: 'info'\n });\n }\n\n previousNotificationId.current = notificationId;\n }, [allowRefresh, announcePolite, message, notificationId, t, viewName]);\n\n return (\n <>\n {showBanner && (\n <StyledBanner\n key={notificationId}\n variant='info'\n messages={[\n {\n label: message,\n action: {\n text: refreshActionLabel,\n onClick: () => {\n forceRefresh();\n }\n }\n }\n ]}\n onDismiss={() => setShowBanner(false)}\n />\n )}\n </>\n );\n}\n\nRefreshBanner.propTypes = {\n refreshNotification: PropTypes.objectOf(PropTypes.any).isRequired,\n forceRefresh: PropTypes.func.isRequired,\n viewName: PropTypes.string.isRequired,\n allowRefresh: PropTypes.bool\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleToolbar.d.ts","sourceRoot":"","sources":["../../../../Core/Components/Toolbar/SimpleToolbar.jsx"],"names":[],"mappings":"AAWA;;4CAgCC;;;;;;;;;sBA3CqB,YAAY"}
1
+ {"version":3,"file":"SimpleToolbar.d.ts","sourceRoot":"","sources":["../../../../Core/Components/Toolbar/SimpleToolbar.jsx"],"names":[],"mappings":"AAWA;;4CAsCC;;;;;;;;;sBAjDqB,YAAY"}
@@ -8,13 +8,13 @@ import ValidateMessage from './ValidateMessage';
8
8
  import useFormControlProps from './hooks/useFormControlProps';
9
9
  import useWrapAction from './hooks/useWrapAction';
10
10
  export default function SimpleToolbar({ view }) {
11
- const { meta: { title, showTitle } = {}, state, getContext, showCount, refreshNotification, type: { forceRefresh } } = view;
11
+ const { meta: { title, showTitle, headingTag, allowRefresh } = {}, state, getContext, showCount, refreshNotification, type: { forceRefresh } } = view;
12
12
  const { getRequiredDef } = getContext();
13
13
  const { validatemessage } = getRequiredDef() || {};
14
14
  const count = showCount ? getCount({ view }) : undefined;
15
15
  const formControlProps = useFormControlProps(view);
16
16
  const wrapAction = useWrapAction(view);
17
- return (_jsxs(AnnounceRowsCount, { state: state, count: count, children: [_jsx(ValidateMessage, { message: validatemessage, children: _jsx(ListToolbar, { name: title, showName: showTitle, count: count, formControlProps: formControlProps, wrap: wrapAction }) }), refreshNotification && (_jsx(RefreshBanner, { refreshNotification: refreshNotification, forceRefresh: forceRefresh }))] }));
17
+ return (_jsxs(AnnounceRowsCount, { state: state, count: count, children: [_jsx(ValidateMessage, { message: validatemessage, children: _jsx(ListToolbar, { name: title, showName: showTitle, headingTag: headingTag, count: count, formControlProps: formControlProps, wrap: wrapAction }) }), refreshNotification && (_jsx(RefreshBanner, { refreshNotification: refreshNotification, forceRefresh: forceRefresh, viewName: title, allowRefresh: allowRefresh }))] }));
18
18
  }
19
19
  SimpleToolbar.propTypes = {
20
20
  view: PropTypes.objectOf(PropTypes.any).isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleToolbar.js","sourceRoot":"","sources":["../../../../Core/Components/Toolbar/SimpleToolbar.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAC9D,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE;IAC5C,MAAM,EACJ,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAC/B,KAAK,EACL,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,IAAI,EAAE,EAAE,YAAY,EAAE,EACvB,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IACxC,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CACL,MAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,aAC3C,KAAC,eAAe,IAAC,OAAO,EAAE,eAAe,YACvC,KAAC,WAAW,IACV,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,UAAU,GAChB,GAEc,EACjB,mBAAmB,IAAI,CACtB,KAAC,aAAa,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,GAAI,CACxF,IACiB,CACrB,CAAC;AACJ,CAAC;AAED,aAAa,CAAC,SAAS,GAAG;IACxB,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;CACnD,CAAC","sourcesContent":["import PropTypes from 'prop-types';\n\nimport { ListToolbar } from '@pega/cosmos-react-core';\n\nimport RefreshBanner from './RefreshBanner';\nimport getCount from './utils/getCount';\nimport AnnounceRowsCount from './AnnounceRowsCount';\nimport ValidateMessage from './ValidateMessage';\nimport useFormControlProps from './hooks/useFormControlProps';\nimport useWrapAction from './hooks/useWrapAction';\n\nexport default function SimpleToolbar({ view }) {\n const {\n meta: { title, showTitle } = {},\n state,\n getContext,\n showCount,\n refreshNotification,\n type: { forceRefresh }\n } = view;\n const { getRequiredDef } = getContext();\n const { validatemessage } = getRequiredDef() || {};\n const count = showCount ? getCount({ view }) : undefined;\n const formControlProps = useFormControlProps(view);\n const wrapAction = useWrapAction(view);\n\n return (\n <AnnounceRowsCount state={state} count={count}>\n <ValidateMessage message={validatemessage}>\n <ListToolbar\n name={title}\n showName={showTitle}\n count={count}\n formControlProps={formControlProps}\n wrap={wrapAction}\n />\n {/* FIXME: This implementation of error status should be considered temporary until an official, and properly accessible, spec is determined. */}\n </ValidateMessage>\n {refreshNotification && (\n <RefreshBanner refreshNotification={refreshNotification} forceRefresh={forceRefresh} />\n )}\n </AnnounceRowsCount>\n );\n}\n\nSimpleToolbar.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
1
+ {"version":3,"file":"SimpleToolbar.js","sourceRoot":"","sources":["../../../../Core/Components/Toolbar/SimpleToolbar.jsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAC9D,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE;IAC5C,MAAM,EACJ,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,EACzD,KAAK,EACL,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,IAAI,EAAE,EAAE,YAAY,EAAE,EACvB,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IACxC,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CACL,MAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,aAC3C,KAAC,eAAe,IAAC,OAAO,EAAE,eAAe,YACvC,KAAC,WAAW,IACV,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,UAAU,GAChB,GAEc,EACjB,mBAAmB,IAAI,CACtB,KAAC,aAAa,IACZ,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,YAAY,GAC1B,CACH,IACiB,CACrB,CAAC;AACJ,CAAC;AAED,aAAa,CAAC,SAAS,GAAG;IACxB,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU;CACnD,CAAC","sourcesContent":["import PropTypes from 'prop-types';\n\nimport { ListToolbar } from '@pega/cosmos-react-core';\n\nimport RefreshBanner from './RefreshBanner';\nimport getCount from './utils/getCount';\nimport AnnounceRowsCount from './AnnounceRowsCount';\nimport ValidateMessage from './ValidateMessage';\nimport useFormControlProps from './hooks/useFormControlProps';\nimport useWrapAction from './hooks/useWrapAction';\n\nexport default function SimpleToolbar({ view }) {\n const {\n meta: { title, showTitle, headingTag, allowRefresh } = {},\n state,\n getContext,\n showCount,\n refreshNotification,\n type: { forceRefresh }\n } = view;\n const { getRequiredDef } = getContext();\n const { validatemessage } = getRequiredDef() || {};\n const count = showCount ? getCount({ view }) : undefined;\n const formControlProps = useFormControlProps(view);\n const wrapAction = useWrapAction(view);\n\n return (\n <AnnounceRowsCount state={state} count={count}>\n <ValidateMessage message={validatemessage}>\n <ListToolbar\n name={title}\n showName={showTitle}\n headingTag={headingTag}\n count={count}\n formControlProps={formControlProps}\n wrap={wrapAction}\n />\n {/* FIXME: This implementation of error status should be considered temporary until an official, and properly accessible, spec is determined. */}\n </ValidateMessage>\n {refreshNotification && (\n <RefreshBanner\n refreshNotification={refreshNotification}\n forceRefresh={forceRefresh}\n viewName={title}\n allowRefresh={allowRefresh}\n />\n )}\n </AnnounceRowsCount>\n );\n}\n\nSimpleToolbar.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useFilter.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useFilter.jsx"],"names":[],"mappings":";AAQA;;;;;;;cAyDC"}
1
+ {"version":3,"file":"useFilter.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useFilter.jsx"],"names":[],"mappings":";AAQA;;;;;;;cA0DC"}
@@ -8,7 +8,7 @@ const useFilter = ({ view }) => {
8
8
  const { state: { filterExpression, clearColFilter } = {}, type: { clearFilter, applyFilter } } = view;
9
9
  const displayFilter = view.shouldDisplayFeature(TOOLBAR_FEATURES.FILTER);
10
10
  const viewFieldDefs = view.getFieldDefs();
11
- const formattedColumns = useMemo(() => getMenuItemsFromColumns(viewFieldDefs?.filter(c => c.filter), 'name', {
11
+ const formattedColumns = useMemo(() => getMenuItemsFromColumns(viewFieldDefs?.filter(c => c.filter), 'name', view, {
12
12
  columns: view.columns
13
13
  }), [viewFieldDefs, view.columns]);
14
14
  const validRhsTypes = useValidRhsTypes(view);
@@ -1 +1 @@
1
- {"version":3,"file":"useFilter.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useFilter.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useRef, useMemo } from 'react';\n\nimport { ConditionBuilder, splitConditionTree } from '@pega/cosmos-react-condition-builder';\n\nimport useValidRhsTypes from '../../Filters/Hooks/useValidRhsTypes';\nimport getMenuItemsFromColumns from '../utils/utils';\nimport { TOOLBAR_FEATURES } from '../../../constants';\n\nconst useFilter = ({ view }) => {\n const {\n state: { filterExpression, clearColFilter } = {},\n type: { clearFilter, applyFilter }\n } = view;\n const displayFilter = view.shouldDisplayFeature(TOOLBAR_FEATURES.FILTER);\n const viewFieldDefs = view.getFieldDefs();\n const formattedColumns = useMemo(\n () =>\n getMenuItemsFromColumns(\n viewFieldDefs?.filter(c => c.filter),\n 'name',\n {\n columns: view.columns\n }\n ),\n [viewFieldDefs, view.columns]\n );\n\n const validRhsTypes = useValidRhsTypes(view);\n const handle = useRef(null);\n const { conditions } = splitConditionTree(filterExpression);\n const filters = Object.keys(conditions) || [];\n\n const onSubmit = useCallback(() => {\n if (!handle?.current) return true;\n\n const [valid, newCondition] = handle.current.getCondition();\n if (!valid) return false;\n\n applyFilter({ filterExp: newCondition });\n if (clearColFilter) clearFilter(null);\n return true;\n }, [applyFilter, clearFilter, clearColFilter]);\n\n const onCancel = useCallback(() => {\n if (clearColFilter) clearFilter(null);\n }, [clearColFilter, clearFilter]);\n const filterRenderer = useCallback(() => {\n return (\n <ConditionBuilder\n fields={formattedColumns}\n condition={filterExpression || undefined}\n validRhsTypes={validRhsTypes}\n dateFunctions={view.meta.dateFunctions} // Could be undefined\n disallowNOT\n handle={handle}\n />\n );\n }, [filterExpression, formattedColumns, validRhsTypes, view.meta.dateFunctions]);\n if (!displayFilter) return;\n return {\n count: filters?.length > 0 ? filters.length : undefined,\n renderer: filterRenderer,\n onCancel,\n onSubmit\n };\n};\n\nexport default useFilter;\n"]}
1
+ {"version":3,"file":"useFilter.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useFilter.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useRef, useMemo } from 'react';\n\nimport { ConditionBuilder, splitConditionTree } from '@pega/cosmos-react-condition-builder';\n\nimport useValidRhsTypes from '../../Filters/Hooks/useValidRhsTypes';\nimport getMenuItemsFromColumns from '../utils/utils';\nimport { TOOLBAR_FEATURES } from '../../../constants';\n\nconst useFilter = ({ view }) => {\n const {\n state: { filterExpression, clearColFilter } = {},\n type: { clearFilter, applyFilter }\n } = view;\n const displayFilter = view.shouldDisplayFeature(TOOLBAR_FEATURES.FILTER);\n const viewFieldDefs = view.getFieldDefs();\n const formattedColumns = useMemo(\n () =>\n getMenuItemsFromColumns(\n viewFieldDefs?.filter(c => c.filter),\n 'name',\n view,\n {\n columns: view.columns\n }\n ),\n [viewFieldDefs, view.columns]\n );\n\n const validRhsTypes = useValidRhsTypes(view);\n const handle = useRef(null);\n const { conditions } = splitConditionTree(filterExpression);\n const filters = Object.keys(conditions) || [];\n\n const onSubmit = useCallback(() => {\n if (!handle?.current) return true;\n\n const [valid, newCondition] = handle.current.getCondition();\n if (!valid) return false;\n\n applyFilter({ filterExp: newCondition });\n if (clearColFilter) clearFilter(null);\n return true;\n }, [applyFilter, clearFilter, clearColFilter]);\n\n const onCancel = useCallback(() => {\n if (clearColFilter) clearFilter(null);\n }, [clearColFilter, clearFilter]);\n const filterRenderer = useCallback(() => {\n return (\n <ConditionBuilder\n fields={formattedColumns}\n condition={filterExpression || undefined}\n validRhsTypes={validRhsTypes}\n dateFunctions={view.meta.dateFunctions} // Could be undefined\n disallowNOT\n handle={handle}\n />\n );\n }, [filterExpression, formattedColumns, validRhsTypes, view.meta.dateFunctions]);\n if (!displayFilter) return;\n return {\n count: filters?.length > 0 ? filters.length : undefined,\n renderer: filterRenderer,\n onCancel,\n onSubmit\n };\n};\n\nexport default useFilter;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useMore.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useMore.jsx"],"names":[],"mappings":";AA4DA;;;;;;EA8bC"}
1
+ {"version":3,"file":"useMore.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useMore.jsx"],"names":[],"mappings":";AAkEA;;;;;;EAydC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
- import { Popover, useElement, useModalManager } from '@pega/cosmos-react-core';
3
+ import { isTouchDevice, Popover, TouchDialog, useElement, useModalManager } from '@pega/cosmos-react-core';
4
4
  import { REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';
5
5
  import useTranslate from '../../../Hooks/useTranslate';
6
6
  import PersonalizationDeleteConfirmation from '../../DefaultComponents/PersonalizationDeleteConfirmation';
@@ -44,7 +44,7 @@ const shouldShowTemplateSwitch = ({ allowSwitchTemplate, authoredTemplate, curre
44
44
  return isSmallScreen || currentTemplate === REPEATING_STRUCTURE_TEMPLATES.GALLERY;
45
45
  };
46
46
  const useMore = ({ view }) => {
47
- const { meta: { allowSwitchTemplate, template: authoredTemplate, displayDensity, toggleFieldVisibility, freezeFields, personalization, headerBar, enableAppDefault, enableFreezeColumns, autoSizeColumns, showQueryInfo, resetColumnWidths, rowDensity, showHeaderIcons: isHeaderIcons, showImportDataOption, showExportToExcelOption, showExportToCSVOption, allowRefresh }, template, state: { showHeaderIcons, personalization: personalizationState, responsive: { sm: isSmallOrAbove } = {} } = {}, type: { applyToggleVisibility, applyFreeze, applyGalleryLayout }, toolBarOptions = [], defaultPresetId, renderFactory, getContext, galleryLayout } = view;
47
+ const { meta: { allowSwitchTemplate, galleryConfig: { showLayoutToggle = true } = {}, template: authoredTemplate, displayDensity, toggleFieldVisibility, freezeFields, personalization, headerBar, enableAppDefault, enableFreezeColumns, autoSizeColumns, showQueryInfo, resetColumnWidths, rowDensity, showHeaderIcons: isHeaderIcons, showImportDataOption, showExportToExcelOption, showExportToCSVOption, allowRefresh }, template, state: { showHeaderIcons, personalization: personalizationState, responsive: { sm: isSmallOrAbove } = {} } = {}, type: { applyToggleVisibility, applyFreeze, applyGalleryLayout }, toolBarOptions = [], defaultPresetId, renderFactory, getContext, galleryLayout } = view;
48
48
  const shouldShowTemplateSwitchOption = shouldShowTemplateSwitch({
49
49
  allowSwitchTemplate,
50
50
  authoredTemplate,
@@ -74,6 +74,7 @@ const useMore = ({ view }) => {
74
74
  });
75
75
  }, [create, currentActiveViewName, view.type, currentActiveView]);
76
76
  const [forceShowMenu, setForceShowMenu] = useState(false);
77
+ const [open, setOpen] = useState(false);
77
78
  const actions = useMemo(() => [
78
79
  [
79
80
  {
@@ -96,6 +97,7 @@ const useMore = ({ view }) => {
96
97
  show: showFeatureForTemplate(template, 'showHideColumns') && !!toggleFieldVisibility,
97
98
  onClick: () => {
98
99
  setMoreContent(colsVisibility);
100
+ setOpen(true);
99
101
  setForceShowMenu(true);
100
102
  }
101
103
  },
@@ -108,6 +110,7 @@ const useMore = ({ view }) => {
108
110
  rowDensity,
109
111
  onClick: () => {
110
112
  setMoreContent(RowDensity);
113
+ setOpen(true);
111
114
  setForceShowMenu(true);
112
115
  }
113
116
  },
@@ -121,6 +124,7 @@ const useMore = ({ view }) => {
121
124
  isSmallOrAbove,
122
125
  onClick: () => {
123
126
  setMoreContent(pinning);
127
+ setOpen(true);
124
128
  setForceShowMenu(true);
125
129
  }
126
130
  },
@@ -137,7 +141,7 @@ const useMore = ({ view }) => {
137
141
  id: GalleryLayoutToggle,
138
142
  icon: (galleryLayout ?? 'cardgrid') === 'cardlist' ? 'grid' : 'row',
139
143
  text: translate((galleryLayout ?? 'cardgrid') === 'cardlist' ? 'Card grid layout' : 'Card list layout'),
140
- show: showFeatureForTemplate(template, 'galleryLayout') && isSmallOrAbove,
144
+ show: showLayoutToggle && showFeatureForTemplate(template, 'galleryLayout') && isSmallOrAbove,
141
145
  onClick: () => {
142
146
  const currentGalleryLayout = galleryLayout ?? 'cardgrid';
143
147
  applyGalleryLayout?.(currentGalleryLayout === 'cardlist' ? 'cardgrid' : 'cardlist');
@@ -168,6 +172,7 @@ const useMore = ({ view }) => {
168
172
  show: showFeatureForTemplate(template, 'info') && showQueryInfo,
169
173
  onClick: () => {
170
174
  setMoreContent(Info);
175
+ setOpen(true);
171
176
  setForceShowMenu(true);
172
177
  }
173
178
  }
@@ -180,6 +185,7 @@ const useMore = ({ view }) => {
180
185
  show: Boolean(personalization && !headerBar),
181
186
  onClick: () => {
182
187
  setMoreContent(ViewAs);
188
+ setOpen(true);
183
189
  setForceShowMenu(true);
184
190
  }
185
191
  },
@@ -311,7 +317,12 @@ const useMore = ({ view }) => {
311
317
  .filter(({ show = true }) => show), [actions]);
312
318
  const finishPopOver = () => {
313
319
  if (forceShowMenu) {
314
- setForceShowMenu(false);
320
+ if (isTouchDevice && [colsVisibility, pinning, RowDensity, ViewAs].includes(moreContent)) {
321
+ setOpen(false);
322
+ }
323
+ else {
324
+ setForceShowMenu(false);
325
+ }
315
326
  }
316
327
  };
317
328
  // setting focus on action button in different rendering cycle otherwise it will get lost due to re-render of toolbar
@@ -363,7 +374,14 @@ const useMore = ({ view }) => {
363
374
  }
364
375
  }
365
376
  // ColVisibility, pinning, RowDensity, ViewAs are all returning Menu, so popover is needed for them
366
- const selectedActionContent = component && [colsVisibility, pinning, RowDensity, ViewAs].includes(moreContent) ? (_jsx(Popover, { className: 'popper', arrow: true, ref: setPopperRef, target: actionsButtonRef.current, placement: 'bottom-end', children: component })) : (component);
377
+ const shouldWrapInFloatingContainer = component && [colsVisibility, pinning, RowDensity, ViewAs].includes(moreContent);
378
+ let selectedActionContent = component;
379
+ if (shouldWrapInFloatingContainer) {
380
+ selectedActionContent = isTouchDevice ? (_jsx(TouchDialog, { open: open, onDismiss: () => setOpen(false), onAfterClose: () => {
381
+ setForceShowMenu(false);
382
+ actionsButtonRef.current?.focus();
383
+ }, heading: translate(moreContent), children: component })) : (_jsx(Popover, { className: 'popper', arrow: true, ref: setPopperRef, target: actionsButtonRef.current, placement: 'bottom-end', children: component }));
384
+ }
367
385
  return { actions: filteredActions, actionsButtonRef, selectedActionContent };
368
386
  };
369
387
  export default useMore;
@@ -1 +1 @@
1
- {"version":3,"file":"useMore.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useMore.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Popover, useElement, useModalManager } from '@pega/cosmos-react-core';\nimport { REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../../Hooks/useTranslate';\nimport PersonalizationDeleteConfirmation from '../../DefaultComponents/PersonalizationDeleteConfirmation';\nimport ColumnSelector, { colsVisibility, pinning } from '../ColumnSelector';\nimport DebugInfo from '../DebugInfo';\nimport { useKeyboardA11y } from '../../../Hooks/a11y';\nimport { resolveViewComponent } from '../../RenderingEngine/ComponentResolverFactory';\nimport showFeatureForTemplate from '../../../templateFeatureSupport';\n\nconst RowDensity = 'Row density';\n\nconst SaveViewChanges = 'Save changes';\nconst ViewAs = 'View as...';\nconst EditCustomizedView = 'Edit customized view';\nconst SetAsDefault = 'Set as default';\nconst MarkAsAppDefault = 'Mark as app default';\nconst DeleteCustomizedView = 'Delete customized view';\nconst ResetColumnWidths = 'Reset column widths';\nconst AutoSizeColumns = 'Auto size columns';\nconst ShowHeaderIcons = 'ShowHeaderIcons';\nconst Info = 'Query info';\nconst ImportCSVData = 'Import CSV data';\nconst ExportToExcel = 'Export to Excel';\nconst ExportToCSV = 'Export to CSV';\nconst Refresh = 'Refresh';\nconst GalleryLayoutToggle = 'Gallery layout';\nconst SwitchToTable = 'Display as Table';\nconst SwitchToGallery = 'Display as Gallery';\n\nconst shouldShowTemplateSwitch = ({\n allowSwitchTemplate,\n authoredTemplate,\n currentTemplate,\n isSmallScreen\n}) => {\n if (!allowSwitchTemplate) {\n return false;\n }\n\n // This switch behavior is only supported for views authored as Table.\n if (authoredTemplate !== REPEATING_STRUCTURE_TEMPLATES.TABLE) {\n return false;\n }\n\n if (\n currentTemplate !== REPEATING_STRUCTURE_TEMPLATES.TABLE &&\n currentTemplate !== REPEATING_STRUCTURE_TEMPLATES.GALLERY\n ) {\n return false;\n }\n\n // Small screens can always switch between table/gallery.\n // Large screens only show the action when currently on gallery (to allow switch back to table).\n return isSmallScreen || currentTemplate === REPEATING_STRUCTURE_TEMPLATES.GALLERY;\n};\n\nconst useMore = ({ view }) => {\n const {\n meta: {\n allowSwitchTemplate,\n template: authoredTemplate,\n displayDensity,\n toggleFieldVisibility,\n freezeFields,\n personalization,\n headerBar,\n enableAppDefault,\n enableFreezeColumns,\n autoSizeColumns,\n showQueryInfo,\n resetColumnWidths,\n rowDensity,\n showHeaderIcons: isHeaderIcons,\n showImportDataOption,\n showExportToExcelOption,\n showExportToCSVOption,\n allowRefresh\n },\n template,\n state: {\n showHeaderIcons,\n personalization: personalizationState,\n responsive: { sm: isSmallOrAbove } = {}\n } = {},\n type: { applyToggleVisibility, applyFreeze, applyGalleryLayout },\n toolBarOptions = [],\n defaultPresetId,\n renderFactory,\n getContext,\n galleryLayout\n } = view;\n\n const shouldShowTemplateSwitchOption = shouldShowTemplateSwitch({\n allowSwitchTemplate,\n authoredTemplate,\n currentTemplate: template,\n isSmallScreen: !isSmallOrAbove\n });\n\n const [popperRef, setPopperRef] = useElement();\n\n const actionsButtonRef = useRef(null);\n const [translate] = useTranslate();\n const { create } = useModalManager();\n const [moreContent, setMoreContent] = useState('default');\n const currentActiveView = personalizationState?.active;\n const currentDefaultView = personalizationState?.defaultPersonalization;\n const isAppDefaultView = currentActiveView === 'APP_DEFAULT';\n const isViewDirty = personalizationState?.dirty;\n const currentActiveViewName =\n personalizationState?.allPersonalizations?.[currentActiveView]?.name;\n const isPreset = !!personalizationState?.allPersonalizations?.[currentActiveView]?.isPreset;\n\n const onDeletePersonalization = useCallback(() => {\n create(\n PersonalizationDeleteConfirmation,\n {\n onSubmit: () => {\n view.type.deletePersonalization(currentActiveView);\n },\n currentActiveViewName,\n translate\n },\n {\n alert: true\n }\n );\n }, [create, currentActiveViewName, view.type, currentActiveView]);\n\n const [forceShowMenu, setForceShowMenu] = useState(false);\n\n const actions = useMemo(\n () => [\n [\n {\n id: 'switch-template',\n icon: template === REPEATING_STRUCTURE_TEMPLATES.TABLE ? 'grid' : 'table',\n text:\n template === REPEATING_STRUCTURE_TEMPLATES.TABLE\n ? translate(SwitchToGallery)\n : translate(SwitchToTable),\n show: shouldShowTemplateSwitchOption,\n onClick: () => {\n view.type.changeTemplate(\n template === REPEATING_STRUCTURE_TEMPLATES.TABLE\n ? REPEATING_STRUCTURE_TEMPLATES.GALLERY\n : REPEATING_STRUCTURE_TEMPLATES.TABLE\n );\n }\n },\n {\n id: colsVisibility,\n icon: 'eye-off',\n text: translate(colsVisibility),\n show: showFeatureForTemplate(template, 'showHideColumns') && !!toggleFieldVisibility,\n onClick: () => {\n setMoreContent(colsVisibility);\n setForceShowMenu(true);\n }\n },\n {\n id: RowDensity,\n icon: 'row-insert',\n text: translate(RowDensity),\n show:\n showFeatureForTemplate(template, 'rowDensity') &&\n displayDensity.length > 0 &&\n rowDensity,\n onClick: () => {\n setMoreContent(RowDensity);\n setForceShowMenu(true);\n }\n },\n {\n id: pinning,\n icon: 'freeze-column',\n text: translate(pinning),\n show:\n showFeatureForTemplate(template, 'freezeColumns') &&\n !!freezeFields &&\n !!enableFreezeColumns &&\n isSmallOrAbove,\n onClick: () => {\n setMoreContent(pinning);\n setForceShowMenu(true);\n }\n },\n {\n id: ShowHeaderIcons,\n icon: 'picture',\n text: showHeaderIcons ? translate('Hide header icons') : translate('Show header icons'),\n show: showFeatureForTemplate(template, 'showHeaderIcons') && isHeaderIcons,\n onClick: () => {\n view.type.updateHeaderIconsVisibility(!showHeaderIcons);\n }\n },\n {\n id: GalleryLayoutToggle,\n icon: (galleryLayout ?? 'cardgrid') === 'cardlist' ? 'grid' : 'row',\n text: translate(\n (galleryLayout ?? 'cardgrid') === 'cardlist' ? 'Card grid layout' : 'Card list layout'\n ),\n show: showFeatureForTemplate(template, 'galleryLayout') && isSmallOrAbove,\n onClick: () => {\n const currentGalleryLayout = galleryLayout ?? 'cardgrid';\n\n applyGalleryLayout?.(currentGalleryLayout === 'cardlist' ? 'cardgrid' : 'cardlist');\n }\n },\n {\n id: AutoSizeColumns,\n icon: 'scale-up',\n text: translate(AutoSizeColumns),\n show: showFeatureForTemplate(template, 'autoSizeColumns') && autoSizeColumns,\n onClick: () => {\n view.applyColumnsAutoSize(false);\n }\n },\n {\n id: ResetColumnWidths,\n icon: 'scale-down',\n text: translate(ResetColumnWidths),\n show: showFeatureForTemplate(template, 'resetColumnWidths') && resetColumnWidths,\n onClick: () => {\n view.applyColumnsAutoSize(true);\n }\n },\n {\n id: Info,\n icon: 'information',\n text: translate(Info),\n show: showFeatureForTemplate(template, 'info') && showQueryInfo,\n onClick: () => {\n setMoreContent(Info);\n setForceShowMenu(true);\n }\n }\n ],\n [\n {\n id: ViewAs,\n icon: 'columns',\n text: translate(ViewAs),\n show: Boolean(personalization && !headerBar),\n onClick: () => {\n setMoreContent(ViewAs);\n setForceShowMenu(true);\n }\n },\n {\n id: SaveViewChanges,\n icon: 'clipboard-plus',\n text: translate(SaveViewChanges),\n show:\n showFeatureForTemplate(template, 'personalization') &&\n Boolean(\n personalization &&\n currentActiveView !== defaultPresetId &&\n (!isPreset || (isAppDefaultView && enableAppDefault)) &&\n isViewDirty\n ),\n onClick: () => {\n view.type.updatePersonalization(\n currentActiveView,\n currentDefaultView === currentActiveView,\n isAppDefaultView\n );\n }\n },\n {\n id: EditCustomizedView,\n icon: 'pencil',\n text: translate(EditCustomizedView),\n show:\n showFeatureForTemplate(template, 'personalization') &&\n Boolean(\n personalization &&\n (!isPreset || (isAppDefaultView && enableAppDefault)) &&\n currentActiveView !== defaultPresetId\n ),\n onClick: () => {\n setMoreContent(EditCustomizedView);\n setForceShowMenu(true);\n }\n },\n {\n id: DeleteCustomizedView,\n icon: 'trash',\n text: translate(DeleteCustomizedView),\n show:\n showFeatureForTemplate(template, 'personalization') &&\n Boolean(\n personalization &&\n !isPreset &&\n currentActiveView !== defaultPresetId &&\n !isAppDefaultView\n ),\n onClick: onDeletePersonalization\n },\n {\n id: SetAsDefault,\n icon: 'clipboard-check',\n text: translate(SetAsDefault),\n show:\n showFeatureForTemplate(template, 'personalization') &&\n Boolean(\n personalization && currentDefaultView !== currentActiveView && !isAppDefaultView\n ),\n onClick: () => view.type.setDefaultPersonalization(currentActiveView)\n },\n {\n id: MarkAsAppDefault,\n icon: 'clipboard-check',\n text: translate(MarkAsAppDefault),\n show: Boolean(isPreset && enableAppDefault && personalization && !isAppDefaultView),\n onClick: () =>\n view.type.setAppDefaultPersonalization('APP_DEFAULT', currentActiveViewName)\n },\n {\n id: ImportCSVData,\n icon: 'document-xls',\n text: translate(ImportCSVData),\n show: Boolean(showImportDataOption),\n onClick: () => view.type.importCSVData(create)\n },\n {\n id: ExportToExcel,\n testId: 'export-to-excel',\n icon: 'document-xls',\n text: translate(ExportToExcel),\n show: Boolean(showExportToExcelOption),\n onClick: () => view.type.exportToExcel()\n },\n {\n id: ExportToCSV,\n icon: 'document-xls',\n text: translate(ExportToCSV),\n show: Boolean(showExportToCSVOption),\n onClick: () => view.type.exportToCSV()\n },\n {\n id: Refresh,\n testId: 'refresh',\n icon: 'reset',\n text: translate(Refresh),\n show: showFeatureForTemplate(template, 'refresh') && Boolean(allowRefresh),\n onClick: () => {\n view.type.forceRefresh();\n }\n }\n ],\n ...toolBarOptions\n ],\n [\n translate,\n template,\n shouldShowTemplateSwitchOption,\n toggleFieldVisibility,\n displayDensity.length,\n rowDensity,\n freezeFields,\n enableFreezeColumns,\n showHeaderIcons,\n isHeaderIcons,\n autoSizeColumns,\n showQueryInfo,\n resetColumnWidths,\n personalization,\n headerBar,\n currentActiveView,\n defaultPresetId,\n isPreset,\n isViewDirty,\n isAppDefaultView,\n showExportToExcelOption,\n showExportToCSVOption,\n onDeletePersonalization,\n currentDefaultView,\n toolBarOptions,\n currentActiveViewName,\n view,\n enableAppDefault,\n isSmallOrAbove,\n galleryLayout,\n applyGalleryLayout\n ]\n );\n\n const filteredActions = useMemo(\n () =>\n actions\n .flat()\n .map(action => ({\n ...action,\n id: action.id.replaceAll(' ', '-')\n }))\n .filter(({ show = true }) => show),\n [actions]\n );\n\n const finishPopOver = () => {\n if (forceShowMenu) {\n setForceShowMenu(false);\n }\n };\n\n // setting focus on action button in different rendering cycle otherwise it will get lost due to re-render of toolbar\n useEffect(() => {\n if (!forceShowMenu && popperRef) {\n actionsButtonRef.current?.focus();\n }\n }, [forceShowMenu]);\n\n useKeyboardA11y({\n container: popperRef && forceShowMenu ? popperRef : null,\n onClose: popperRef && forceShowMenu ? finishPopOver : () => {}\n });\n\n let component;\n\n if (forceShowMenu) {\n switch (moreContent) {\n case colsVisibility:\n component = (\n <ColumnSelector\n dispatch={applyToggleVisibility}\n fieldDefs={view.getFieldDefs()}\n state={view.state}\n action={moreContent}\n finishPopOver={finishPopOver}\n />\n );\n break;\n\n case pinning:\n component = (\n <ColumnSelector\n dispatch={applyFreeze}\n fieldDefs={view.getFieldDefs()}\n state={view.state}\n action={moreContent}\n finishPopOver={finishPopOver}\n />\n );\n break;\n\n case RowDensity:\n component = resolveViewComponent('rowHeightRenderer', renderFactory, {\n ...getContext(),\n view,\n onClose: finishPopOver\n });\n break;\n\n case ViewAs:\n component = resolveViewComponent(\n 'personalizationSelectorRenderer',\n renderFactory,\n getContext()\n );\n break;\n\n case EditCustomizedView:\n component = actionsButtonRef.current\n ? resolveViewComponent('personalizationCreateEditRenderer', renderFactory, {\n onFinish: finishPopOver,\n editing: true,\n target: actionsButtonRef.current,\n ...getContext(),\n view\n })\n : null;\n break;\n\n case Info:\n component = actionsButtonRef.current ? (\n <DebugInfo view={view} target={actionsButtonRef.current} onClose={finishPopOver} />\n ) : null;\n break;\n\n default:\n component = null;\n break;\n }\n }\n // ColVisibility, pinning, RowDensity, ViewAs are all returning Menu, so popover is needed for them\n const selectedActionContent =\n component && [colsVisibility, pinning, RowDensity, ViewAs].includes(moreContent) ? (\n <Popover\n className='popper'\n arrow\n ref={setPopperRef}\n target={actionsButtonRef.current}\n placement='bottom-end'\n >\n {component}\n </Popover>\n ) : (\n component\n );\n\n return { actions: filteredActions, actionsButtonRef, selectedActionContent };\n};\n\nexport default useMore;\n"]}
1
+ {"version":3,"file":"useMore.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/useMore.jsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport {\n isTouchDevice,\n Popover,\n TouchDialog,\n useElement,\n useModalManager\n} from '@pega/cosmos-react-core';\nimport { REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../../Hooks/useTranslate';\nimport PersonalizationDeleteConfirmation from '../../DefaultComponents/PersonalizationDeleteConfirmation';\nimport ColumnSelector, { colsVisibility, pinning } from '../ColumnSelector';\nimport DebugInfo from '../DebugInfo';\nimport { useKeyboardA11y } from '../../../Hooks/a11y';\nimport { resolveViewComponent } from '../../RenderingEngine/ComponentResolverFactory';\nimport showFeatureForTemplate from '../../../templateFeatureSupport';\n\nconst RowDensity = 'Row density';\n\nconst SaveViewChanges = 'Save changes';\nconst ViewAs = 'View as...';\nconst EditCustomizedView = 'Edit customized view';\nconst SetAsDefault = 'Set as default';\nconst MarkAsAppDefault = 'Mark as app default';\nconst DeleteCustomizedView = 'Delete customized view';\nconst ResetColumnWidths = 'Reset column widths';\nconst AutoSizeColumns = 'Auto size columns';\nconst ShowHeaderIcons = 'ShowHeaderIcons';\nconst Info = 'Query info';\nconst ImportCSVData = 'Import CSV data';\nconst ExportToExcel = 'Export to Excel';\nconst ExportToCSV = 'Export to CSV';\nconst Refresh = 'Refresh';\nconst GalleryLayoutToggle = 'Gallery layout';\nconst SwitchToTable = 'Display as Table';\nconst SwitchToGallery = 'Display as Gallery';\n\nconst shouldShowTemplateSwitch = ({\n allowSwitchTemplate,\n authoredTemplate,\n currentTemplate,\n isSmallScreen\n}) => {\n if (!allowSwitchTemplate) {\n return false;\n }\n\n // This switch behavior is only supported for views authored as Table.\n if (authoredTemplate !== REPEATING_STRUCTURE_TEMPLATES.TABLE) {\n return false;\n }\n\n if (\n currentTemplate !== REPEATING_STRUCTURE_TEMPLATES.TABLE &&\n currentTemplate !== REPEATING_STRUCTURE_TEMPLATES.GALLERY\n ) {\n return false;\n }\n\n // Small screens can always switch between table/gallery.\n // Large screens only show the action when currently on gallery (to allow switch back to table).\n return isSmallScreen || currentTemplate === REPEATING_STRUCTURE_TEMPLATES.GALLERY;\n};\n\nconst useMore = ({ view }) => {\n const {\n meta: {\n allowSwitchTemplate,\n galleryConfig: { showLayoutToggle = true } = {},\n template: authoredTemplate,\n displayDensity,\n toggleFieldVisibility,\n freezeFields,\n personalization,\n headerBar,\n enableAppDefault,\n enableFreezeColumns,\n autoSizeColumns,\n showQueryInfo,\n resetColumnWidths,\n rowDensity,\n showHeaderIcons: isHeaderIcons,\n showImportDataOption,\n showExportToExcelOption,\n showExportToCSVOption,\n allowRefresh\n },\n template,\n state: {\n showHeaderIcons,\n personalization: personalizationState,\n responsive: { sm: isSmallOrAbove } = {}\n } = {},\n type: { applyToggleVisibility, applyFreeze, applyGalleryLayout },\n toolBarOptions = [],\n defaultPresetId,\n renderFactory,\n getContext,\n galleryLayout\n } = view;\n\n const shouldShowTemplateSwitchOption = shouldShowTemplateSwitch({\n allowSwitchTemplate,\n authoredTemplate,\n currentTemplate: template,\n isSmallScreen: !isSmallOrAbove\n });\n\n const [popperRef, setPopperRef] = useElement();\n\n const actionsButtonRef = useRef(null);\n const [translate] = useTranslate();\n const { create } = useModalManager();\n const [moreContent, setMoreContent] = useState('default');\n const currentActiveView = personalizationState?.active;\n const currentDefaultView = personalizationState?.defaultPersonalization;\n const isAppDefaultView = currentActiveView === 'APP_DEFAULT';\n const isViewDirty = personalizationState?.dirty;\n const currentActiveViewName =\n personalizationState?.allPersonalizations?.[currentActiveView]?.name;\n const isPreset = !!personalizationState?.allPersonalizations?.[currentActiveView]?.isPreset;\n\n const onDeletePersonalization = useCallback(() => {\n create(\n PersonalizationDeleteConfirmation,\n {\n onSubmit: () => {\n view.type.deletePersonalization(currentActiveView);\n },\n currentActiveViewName,\n translate\n },\n {\n alert: true\n }\n );\n }, [create, currentActiveViewName, view.type, currentActiveView]);\n\n const [forceShowMenu, setForceShowMenu] = useState(false);\n const [open, setOpen] = useState(false);\n\n const actions = useMemo(\n () => [\n [\n {\n id: 'switch-template',\n icon: template === REPEATING_STRUCTURE_TEMPLATES.TABLE ? 'grid' : 'table',\n text:\n template === REPEATING_STRUCTURE_TEMPLATES.TABLE\n ? translate(SwitchToGallery)\n : translate(SwitchToTable),\n show: shouldShowTemplateSwitchOption,\n onClick: () => {\n view.type.changeTemplate(\n template === REPEATING_STRUCTURE_TEMPLATES.TABLE\n ? REPEATING_STRUCTURE_TEMPLATES.GALLERY\n : REPEATING_STRUCTURE_TEMPLATES.TABLE\n );\n }\n },\n {\n id: colsVisibility,\n icon: 'eye-off',\n text: translate(colsVisibility),\n show: showFeatureForTemplate(template, 'showHideColumns') && !!toggleFieldVisibility,\n onClick: () => {\n setMoreContent(colsVisibility);\n setOpen(true);\n setForceShowMenu(true);\n }\n },\n {\n id: RowDensity,\n icon: 'row-insert',\n text: translate(RowDensity),\n show:\n showFeatureForTemplate(template, 'rowDensity') &&\n displayDensity.length > 0 &&\n rowDensity,\n onClick: () => {\n setMoreContent(RowDensity);\n setOpen(true);\n setForceShowMenu(true);\n }\n },\n {\n id: pinning,\n icon: 'freeze-column',\n text: translate(pinning),\n show:\n showFeatureForTemplate(template, 'freezeColumns') &&\n !!freezeFields &&\n !!enableFreezeColumns &&\n isSmallOrAbove,\n onClick: () => {\n setMoreContent(pinning);\n setOpen(true);\n setForceShowMenu(true);\n }\n },\n {\n id: ShowHeaderIcons,\n icon: 'picture',\n text: showHeaderIcons ? translate('Hide header icons') : translate('Show header icons'),\n show: showFeatureForTemplate(template, 'showHeaderIcons') && isHeaderIcons,\n onClick: () => {\n view.type.updateHeaderIconsVisibility(!showHeaderIcons);\n }\n },\n {\n id: GalleryLayoutToggle,\n icon: (galleryLayout ?? 'cardgrid') === 'cardlist' ? 'grid' : 'row',\n text: translate(\n (galleryLayout ?? 'cardgrid') === 'cardlist' ? 'Card grid layout' : 'Card list layout'\n ),\n show:\n showLayoutToggle && showFeatureForTemplate(template, 'galleryLayout') && isSmallOrAbove,\n onClick: () => {\n const currentGalleryLayout = galleryLayout ?? 'cardgrid';\n\n applyGalleryLayout?.(currentGalleryLayout === 'cardlist' ? 'cardgrid' : 'cardlist');\n }\n },\n {\n id: AutoSizeColumns,\n icon: 'scale-up',\n text: translate(AutoSizeColumns),\n show: showFeatureForTemplate(template, 'autoSizeColumns') && autoSizeColumns,\n onClick: () => {\n view.applyColumnsAutoSize(false);\n }\n },\n {\n id: ResetColumnWidths,\n icon: 'scale-down',\n text: translate(ResetColumnWidths),\n show: showFeatureForTemplate(template, 'resetColumnWidths') && resetColumnWidths,\n onClick: () => {\n view.applyColumnsAutoSize(true);\n }\n },\n {\n id: Info,\n icon: 'information',\n text: translate(Info),\n show: showFeatureForTemplate(template, 'info') && showQueryInfo,\n onClick: () => {\n setMoreContent(Info);\n setOpen(true);\n setForceShowMenu(true);\n }\n }\n ],\n [\n {\n id: ViewAs,\n icon: 'columns',\n text: translate(ViewAs),\n show: Boolean(personalization && !headerBar),\n onClick: () => {\n setMoreContent(ViewAs);\n setOpen(true);\n setForceShowMenu(true);\n }\n },\n {\n id: SaveViewChanges,\n icon: 'clipboard-plus',\n text: translate(SaveViewChanges),\n show:\n showFeatureForTemplate(template, 'personalization') &&\n Boolean(\n personalization &&\n currentActiveView !== defaultPresetId &&\n (!isPreset || (isAppDefaultView && enableAppDefault)) &&\n isViewDirty\n ),\n onClick: () => {\n view.type.updatePersonalization(\n currentActiveView,\n currentDefaultView === currentActiveView,\n isAppDefaultView\n );\n }\n },\n {\n id: EditCustomizedView,\n icon: 'pencil',\n text: translate(EditCustomizedView),\n show:\n showFeatureForTemplate(template, 'personalization') &&\n Boolean(\n personalization &&\n (!isPreset || (isAppDefaultView && enableAppDefault)) &&\n currentActiveView !== defaultPresetId\n ),\n onClick: () => {\n setMoreContent(EditCustomizedView);\n setForceShowMenu(true);\n }\n },\n {\n id: DeleteCustomizedView,\n icon: 'trash',\n text: translate(DeleteCustomizedView),\n show:\n showFeatureForTemplate(template, 'personalization') &&\n Boolean(\n personalization &&\n !isPreset &&\n currentActiveView !== defaultPresetId &&\n !isAppDefaultView\n ),\n onClick: onDeletePersonalization\n },\n {\n id: SetAsDefault,\n icon: 'clipboard-check',\n text: translate(SetAsDefault),\n show:\n showFeatureForTemplate(template, 'personalization') &&\n Boolean(\n personalization && currentDefaultView !== currentActiveView && !isAppDefaultView\n ),\n onClick: () => view.type.setDefaultPersonalization(currentActiveView)\n },\n {\n id: MarkAsAppDefault,\n icon: 'clipboard-check',\n text: translate(MarkAsAppDefault),\n show: Boolean(isPreset && enableAppDefault && personalization && !isAppDefaultView),\n onClick: () =>\n view.type.setAppDefaultPersonalization('APP_DEFAULT', currentActiveViewName)\n },\n {\n id: ImportCSVData,\n icon: 'document-xls',\n text: translate(ImportCSVData),\n show: Boolean(showImportDataOption),\n onClick: () => view.type.importCSVData(create)\n },\n {\n id: ExportToExcel,\n testId: 'export-to-excel',\n icon: 'document-xls',\n text: translate(ExportToExcel),\n show: Boolean(showExportToExcelOption),\n onClick: () => view.type.exportToExcel()\n },\n {\n id: ExportToCSV,\n icon: 'document-xls',\n text: translate(ExportToCSV),\n show: Boolean(showExportToCSVOption),\n onClick: () => view.type.exportToCSV()\n },\n {\n id: Refresh,\n testId: 'refresh',\n icon: 'reset',\n text: translate(Refresh),\n show: showFeatureForTemplate(template, 'refresh') && Boolean(allowRefresh),\n onClick: () => {\n view.type.forceRefresh();\n }\n }\n ],\n ...toolBarOptions\n ],\n [\n translate,\n template,\n shouldShowTemplateSwitchOption,\n toggleFieldVisibility,\n displayDensity.length,\n rowDensity,\n freezeFields,\n enableFreezeColumns,\n showHeaderIcons,\n isHeaderIcons,\n autoSizeColumns,\n showQueryInfo,\n resetColumnWidths,\n personalization,\n headerBar,\n currentActiveView,\n defaultPresetId,\n isPreset,\n isViewDirty,\n isAppDefaultView,\n showExportToExcelOption,\n showExportToCSVOption,\n onDeletePersonalization,\n currentDefaultView,\n toolBarOptions,\n currentActiveViewName,\n view,\n enableAppDefault,\n isSmallOrAbove,\n galleryLayout,\n applyGalleryLayout\n ]\n );\n\n const filteredActions = useMemo(\n () =>\n actions\n .flat()\n .map(action => ({\n ...action,\n id: action.id.replaceAll(' ', '-')\n }))\n .filter(({ show = true }) => show),\n [actions]\n );\n\n const finishPopOver = () => {\n if (forceShowMenu) {\n if (isTouchDevice && [colsVisibility, pinning, RowDensity, ViewAs].includes(moreContent)) {\n setOpen(false);\n } else {\n setForceShowMenu(false);\n }\n }\n };\n\n // setting focus on action button in different rendering cycle otherwise it will get lost due to re-render of toolbar\n useEffect(() => {\n if (!forceShowMenu && popperRef) {\n actionsButtonRef.current?.focus();\n }\n }, [forceShowMenu]);\n\n useKeyboardA11y({\n container: popperRef && forceShowMenu ? popperRef : null,\n onClose: popperRef && forceShowMenu ? finishPopOver : () => {}\n });\n\n let component;\n\n if (forceShowMenu) {\n switch (moreContent) {\n case colsVisibility:\n component = (\n <ColumnSelector\n dispatch={applyToggleVisibility}\n fieldDefs={view.getFieldDefs()}\n state={view.state}\n action={moreContent}\n finishPopOver={finishPopOver}\n />\n );\n break;\n\n case pinning:\n component = (\n <ColumnSelector\n dispatch={applyFreeze}\n fieldDefs={view.getFieldDefs()}\n state={view.state}\n action={moreContent}\n finishPopOver={finishPopOver}\n />\n );\n break;\n\n case RowDensity:\n component = resolveViewComponent('rowHeightRenderer', renderFactory, {\n ...getContext(),\n view,\n onClose: finishPopOver\n });\n break;\n\n case ViewAs:\n component = resolveViewComponent(\n 'personalizationSelectorRenderer',\n renderFactory,\n getContext()\n );\n break;\n\n case EditCustomizedView:\n component = actionsButtonRef.current\n ? resolveViewComponent('personalizationCreateEditRenderer', renderFactory, {\n onFinish: finishPopOver,\n editing: true,\n target: actionsButtonRef.current,\n ...getContext(),\n view\n })\n : null;\n break;\n\n case Info:\n component = actionsButtonRef.current ? (\n <DebugInfo view={view} target={actionsButtonRef.current} onClose={finishPopOver} />\n ) : null;\n break;\n\n default:\n component = null;\n break;\n }\n }\n // ColVisibility, pinning, RowDensity, ViewAs are all returning Menu, so popover is needed for them\n const shouldWrapInFloatingContainer =\n component && [colsVisibility, pinning, RowDensity, ViewAs].includes(moreContent);\n\n let selectedActionContent = component;\n if (shouldWrapInFloatingContainer) {\n selectedActionContent = isTouchDevice ? (\n <TouchDialog\n open={open}\n onDismiss={() => setOpen(false)}\n onAfterClose={() => {\n setForceShowMenu(false);\n actionsButtonRef.current?.focus();\n }}\n heading={translate(moreContent)}\n >\n {component}\n </TouchDialog>\n ) : (\n <Popover\n className='popper'\n arrow\n ref={setPopperRef}\n target={actionsButtonRef.current}\n placement='bottom-end'\n >\n {component}\n </Popover>\n );\n }\n\n return { actions: filteredActions, actionsButtonRef, selectedActionContent };\n};\n\nexport default useMore;\n"]}
@@ -6,6 +6,7 @@ declare const usePersonalization: ({ view }: {
6
6
  createEditViewContent?: undefined;
7
7
  } | {
8
8
  viewSelector: {
9
+ iconOnly: boolean;
9
10
  onCreateView?: ((viewTarget: HTMLButtonElement) => void) | undefined;
10
11
  views: never[];
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"usePersonalization.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/usePersonalization.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,QAAA,MAAM,kBAAkB,GAAI,UAAU;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE;;;;;qCAyB7B,iBAAiB;;;;CAcnD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"usePersonalization.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/usePersonalization.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,QAAA,MAAM,kBAAkB,GAAI,UAAU;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE;;;;;;qCA2B7B,iBAAiB;;;;CAenD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -15,12 +15,14 @@ const usePersonalization = ({ view }) => {
15
15
  if (!personalization) {
16
16
  return {};
17
17
  }
18
+ const views = actions.flat();
18
19
  return {
19
20
  viewSelector: {
20
- views: actions.flat(),
21
+ views,
21
22
  ...(metaPersonalization && {
22
23
  onCreateView: (viewTarget) => setTarget(viewTarget)
23
- })
24
+ }),
25
+ iconOnly: views.length <= 1
24
26
  },
25
27
  createEditViewContent: target ? (_jsx(PersonalizationCreateEdit, { view: view, onFinish: () => {
26
28
  target.focus();
@@ -1 +1 @@
1
- {"version":3,"file":"usePersonalization.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/usePersonalization.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,yBAAyB,MAAM,mDAAmD,CAAC;AAE1F,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAA8B,EAAE,EAAE;IAClE,MAAM,EACJ,KAAK,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,EAC/B,IAAI,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,eAAe,EAAE,mBAAmB,EAAE,EAChF,eAAe,EAChB,GAAG,IAAI,CAAC;IAET,MAAM,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAC;QAC7C,eAAe;QACf,0BAA0B;QAC1B,8BAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,0BAA0B;QACpE,IAAI;QACJ,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,UAAU,EAAqB,CAAC;IAE5D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL,YAAY,EAAE;YACZ,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE;YACrB,GAAG,CAAC,mBAAmB,IAAI;gBACzB,YAAY,EAAE,CAAC,UAA6B,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;aACvE,CAAC;SACH;QACD,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAC9B,KAAC,yBAAyB,IACxB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,EACD,MAAM,EAAE,MAAM,GACd,CACH,CAAC,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { useElement } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport { usePersonalizationSelector } from '../../DefaultComponents/PersonalizationSelector';\nimport PersonalizationCreateEdit from '../../DefaultComponents/PersonalizationCreateEdit';\n\nconst usePersonalization = ({ view }: { view: RsCoreTypes.View }) => {\n const {\n state: { personalization } = {},\n meta: { nonPersonalizationViewName, name, personalization: metaPersonalization },\n defaultPresetId\n } = view;\n\n const { actions } = usePersonalizationSelector({\n personalization,\n nonPersonalizationViewName,\n actionPersonalizationSetActive: view.type.applyActivePersonalization,\n name,\n defaultPresetId\n });\n\n const [target, setTarget] = useElement<HTMLButtonElement>();\n\n if (!personalization) {\n return {};\n }\n\n return {\n viewSelector: {\n views: actions.flat(),\n ...(metaPersonalization && {\n onCreateView: (viewTarget: HTMLButtonElement) => setTarget(viewTarget)\n })\n },\n createEditViewContent: target ? (\n <PersonalizationCreateEdit\n view={view}\n onFinish={() => {\n target.focus();\n setTarget(null);\n }}\n target={target}\n />\n ) : null\n };\n};\n\nexport default usePersonalization;\n"]}
1
+ {"version":3,"file":"usePersonalization.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/hooks/usePersonalization.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,yBAAyB,MAAM,mDAAmD,CAAC;AAE1F,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAA8B,EAAE,EAAE;IAClE,MAAM,EACJ,KAAK,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,EAC/B,IAAI,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,eAAe,EAAE,mBAAmB,EAAE,EAChF,eAAe,EAChB,GAAG,IAAI,CAAC;IAET,MAAM,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAC;QAC7C,eAAe;QACf,0BAA0B;QAC1B,8BAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,0BAA0B;QACpE,IAAI;QACJ,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,UAAU,EAAqB,CAAC;IAE5D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAE7B,OAAO;QACL,YAAY,EAAE;YACZ,KAAK;YACL,GAAG,CAAC,mBAAmB,IAAI;gBACzB,YAAY,EAAE,CAAC,UAA6B,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;aACvE,CAAC;YACF,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;SAC5B;QACD,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAC9B,KAAC,yBAAyB,IACxB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,EACD,MAAM,EAAE,MAAM,GACd,CACH,CAAC,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { useElement } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport { usePersonalizationSelector } from '../../DefaultComponents/PersonalizationSelector';\nimport PersonalizationCreateEdit from '../../DefaultComponents/PersonalizationCreateEdit';\n\nconst usePersonalization = ({ view }: { view: RsCoreTypes.View }) => {\n const {\n state: { personalization } = {},\n meta: { nonPersonalizationViewName, name, personalization: metaPersonalization },\n defaultPresetId\n } = view;\n\n const { actions } = usePersonalizationSelector({\n personalization,\n nonPersonalizationViewName,\n actionPersonalizationSetActive: view.type.applyActivePersonalization,\n name,\n defaultPresetId\n });\n\n const [target, setTarget] = useElement<HTMLButtonElement>();\n\n if (!personalization) {\n return {};\n }\n\n const views = actions.flat();\n\n return {\n viewSelector: {\n views,\n ...(metaPersonalization && {\n onCreateView: (viewTarget: HTMLButtonElement) => setTarget(viewTarget)\n }),\n iconOnly: views.length <= 1\n },\n createEditViewContent: target ? (\n <PersonalizationCreateEdit\n view={view}\n onFinish={() => {\n target.focus();\n setTarget(null);\n }}\n target={target}\n />\n ) : null\n };\n};\n\nexport default usePersonalization;\n"]}
@@ -4,8 +4,9 @@ export default getMenuItemsFromColumns;
4
4
  * @function getMenuItemsFromColumns
5
5
  * @param fieldDefs - field definitions to build menu items from
6
6
  * @param {string} fieldProp value for id prop(either 'name' of 'id')
7
+ * @param view - current view object that exposes `getUniqueValues(fieldId)`
7
8
  * @param options.selectedField - field id that is already selected (for sort/group/filter actions)
8
- * @param options.columns - live column objects that expose `field.filterPickList` and `getUniqueValues()`
9
+ * @param options.columns - live column objects that expose `field.filterPickList`
9
10
  * @param options.defaultType - fallback field type if not specified on the field definition
10
11
  * @returns {array} returns an array of objects where each object is one category
11
12
  *
@@ -65,8 +66,7 @@ export default getMenuItemsFromColumns;
65
66
 
66
67
  ]
67
68
  */
68
- declare function getMenuItemsFromColumns(fieldDefs: any, fieldProp: string, { selectedField, columns, defaultType }?: {
69
- columns?: never[] | undefined;
69
+ declare function getMenuItemsFromColumns(fieldDefs: any, fieldProp: string, view: any, { selectedField, defaultType }?: {
70
70
  defaultType?: "text" | undefined;
71
71
  }): array;
72
72
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":";AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEE;AAEF,oEA/DW,MAAM;;;IAIJ,KAAK,CA2GjB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":";AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkEE;AAEF,oEAhEW,MAAM;;IAKJ,KAAK,CAoHjB"}
@@ -32,8 +32,9 @@ const prepareCategoryItems = (categories, items) => {
32
32
  * @function getMenuItemsFromColumns
33
33
  * @param fieldDefs - field definitions to build menu items from
34
34
  * @param {string} fieldProp value for id prop(either 'name' of 'id')
35
+ * @param view - current view object that exposes `getUniqueValues(fieldId)`
35
36
  * @param options.selectedField - field id that is already selected (for sort/group/filter actions)
36
- * @param options.columns - live column objects that expose `field.filterPickList` and `getUniqueValues()`
37
+ * @param options.columns - live column objects that expose `field.filterPickList`
37
38
  * @param options.defaultType - fallback field type if not specified on the field definition
38
39
  * @returns {array} returns an array of objects where each object is one category
39
40
  *
@@ -93,31 +94,36 @@ const prepareCategoryItems = (categories, items) => {
93
94
 
94
95
  ]
95
96
  */
96
- function getMenuItemsFromColumns(fieldDefs, fieldProp, { selectedField, columns = [], defaultType = FieldType.TEXT } = {}) {
97
+ function getMenuItemsFromColumns(fieldDefs, fieldProp, view, { selectedField, defaultType = FieldType.TEXT } = {}) {
97
98
  const items = [];
98
99
  let categoryArr = [];
99
100
  if (!fieldDefs) {
100
101
  return items;
101
102
  }
102
103
  fieldDefs.forEach(field => {
103
- const filterPickListColumn = field.filterPickList && columns?.find(c => c.field.name === field[fieldProp]);
104
104
  const leafCategoryItem = {
105
105
  id: field[fieldProp],
106
106
  primary: field.label,
107
107
  type: typeMap[field.type?.toLowerCase()] || typeMap[defaultType],
108
108
  selected: field.id === selectedField,
109
- // Attach possibleValues for picklist columns (e.g. UserReference, WorkStatus)
109
+ // Attach possibleValues for picklist fields (e.g. UserReference, WorkStatus)
110
110
  // TODO primary should be renderer rather string for user reference fields to show display value instead of id in condition builder.
111
- ...(filterPickListColumn && {
112
- possibleValues: args => filterPickListColumn.getUniqueValues().then(records => {
113
- const filtered = records
114
- .filter(id => id !== null && id !== undefined)
111
+ ...(field.filterPickList && {
112
+ possibleValues: args => (view?.getUniqueValues(field.id) ?? Promise.resolve([])).then(records => {
113
+ const searchString = args?.searchString?.toString().toLowerCase().trim();
114
+ const filteredValues = records
115
+ .filter(id => id !== null &&
116
+ id !== undefined &&
117
+ (!searchString || id.toString().toLowerCase().includes(searchString)))
115
118
  .map(id => ({ id, primary: id }));
116
119
  // ConditionBuilder calls with { ids } to resolve display text for pre-selected values
117
120
  if (args && 'ids' in args) {
118
- return filtered.filter(({ id }) => args.ids?.includes(id));
121
+ return args.ids.reduce((selectedValues, id) => {
122
+ selectedValues.push(filteredValues.find(value => value.id === id) || { id, primary: id });
123
+ return selectedValues;
124
+ }, []);
119
125
  }
120
- return filtered;
126
+ return filteredValues;
121
127
  })
122
128
  })
123
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":"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","sourcesContent":["import { FieldType } from 'pega-repeating-structures-core';\n\nimport { typeMap } from '../../Filters/config';\n\nconst getCategoryItems = (id, arr) => {\n for (const obj of arr) {\n if (obj.id === id && obj.items) {\n return obj.items;\n }\n }\n};\n\nconst prepareCategoryInfo = (id, label, arr) => {\n const items = [];\n arr.push({ id, primary: label, items });\n return items;\n};\n\nconst prepareCategoryItems = (categories, items) => {\n let curPath = '';\n let leafCategoryArr = items;\n for (let i = 0; i < categories.length; i += 1) {\n curPath = i > 0 ? `${curPath}.${categories[i].label}-${i}` : `${categories[i].label}-${i}`;\n\n const existingCategoryArr = getCategoryItems(curPath, leafCategoryArr);\n if (!existingCategoryArr) {\n leafCategoryArr = prepareCategoryInfo(curPath, categories[i].label, leafCategoryArr);\n } else {\n leafCategoryArr = existingCategoryArr;\n }\n }\n return leafCategoryArr;\n};\n\n/**\n * returns copy of embedded property's leafNode model from store or null\n * @function getMenuItemsFromColumns\n * @param fieldDefs - field definitions to build menu items from\n * @param {string} fieldProp value for id prop(either 'name' of 'id')\n * @param options.selectedField - field id that is already selected (for sort/group/filter actions)\n * @param options.columns - live column objects that expose `field.filterPickList` and `getUniqueValues()`\n * @param options.defaultType - fallback field type if not specified on the field definition\n * @returns {array} returns an array of objects where each object is one category\n *\n * @example <caption>Example for getMenuItemsFromColumns.</caption>\n * We have two fields named ID and Priority where ID does not belong to any category and priority belongs to Bugs class category\n *\n * columns example(fieldDefs) :\n * [\n * {\n filter: true,\n type: 'text',\n name: 'pyID',\n label: 'ID',\n id: '2',\n category: [{ label: 'Profile' }],\n sort: true\n },\n {\n type: 'text',\n name: 'pyLabel',\n label: 'Name',\n id: '3',\n category: [{ label: 'Profile' }],\n sort: true\n },\n {\n type: 'text',\n name: 'pyOperatorName',\n label: 'Operator name',\n id: '4',\n filterPicklist:true\n }\n ]\n *\n * getMenuItemsFromColumns(fieldDefs) returns :\n * [\n {\n id: 'pyID',\n primary: ID,\n items: undefined,\n selected: undefined\n },\n {\n id: ‘pyLabel’,\n primary: ‘Name’,\n selected: undefined,\n items: [ {id: ‘Priority', primary: ‘Priority’, selected: true, items: undefined}]\n },\n {\n id: 'pyOperatorName',\n primary: 'Operator name',\n selected: undefined,\n possibleValues: function() {\n // Fetch unique values for Operator name column\n }\n }\n\n ]\n*/\n\nfunction getMenuItemsFromColumns(\n fieldDefs,\n fieldProp,\n { selectedField, columns = [], defaultType = FieldType.TEXT } = {}\n) {\n const items = [];\n let categoryArr = [];\n\n if (!fieldDefs) {\n return items;\n }\n\n fieldDefs.forEach(field => {\n const filterPickListColumn =\n field.filterPickList && columns?.find(c => c.field.name === field[fieldProp]);\n\n const leafCategoryItem = {\n id: field[fieldProp],\n primary: field.label,\n type: typeMap[field.type?.toLowerCase()] || typeMap[defaultType],\n selected: field.id === selectedField,\n // Attach possibleValues for picklist columns (e.g. UserReference, WorkStatus)\n // TODO primary should be renderer rather string for user reference fields to show display value instead of id in condition builder.\n ...(filterPickListColumn && {\n possibleValues: args =>\n filterPickListColumn.getUniqueValues().then(records => {\n const filtered = records\n .filter(id => id !== null && id !== undefined)\n .map(id => ({ id, primary: id }));\n\n // ConditionBuilder calls with { ids } to resolve display text for pre-selected values\n if (args && 'ids' in args) {\n return filtered.filter(({ id }) => args.ids?.includes(id));\n }\n\n return filtered;\n })\n })\n };\n\n categoryArr = items;\n if (field.category) {\n categoryArr = prepareCategoryItems(field.category, categoryArr);\n }\n categoryArr.push(leafCategoryItem);\n });\n\n return items;\n}\nexport default getMenuItemsFromColumns;\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../Core/Components/Toolbar/utils/utils.js"],"names":[],"mappings":"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","sourcesContent":["import { FieldType } from 'pega-repeating-structures-core';\n\nimport { typeMap } from '../../Filters/config';\n\nconst getCategoryItems = (id, arr) => {\n for (const obj of arr) {\n if (obj.id === id && obj.items) {\n return obj.items;\n }\n }\n};\n\nconst prepareCategoryInfo = (id, label, arr) => {\n const items = [];\n arr.push({ id, primary: label, items });\n return items;\n};\n\nconst prepareCategoryItems = (categories, items) => {\n let curPath = '';\n let leafCategoryArr = items;\n for (let i = 0; i < categories.length; i += 1) {\n curPath = i > 0 ? `${curPath}.${categories[i].label}-${i}` : `${categories[i].label}-${i}`;\n\n const existingCategoryArr = getCategoryItems(curPath, leafCategoryArr);\n if (!existingCategoryArr) {\n leafCategoryArr = prepareCategoryInfo(curPath, categories[i].label, leafCategoryArr);\n } else {\n leafCategoryArr = existingCategoryArr;\n }\n }\n return leafCategoryArr;\n};\n\n/**\n * returns copy of embedded property's leafNode model from store or null\n * @function getMenuItemsFromColumns\n * @param fieldDefs - field definitions to build menu items from\n * @param {string} fieldProp value for id prop(either 'name' of 'id')\n * @param view - current view object that exposes `getUniqueValues(fieldId)`\n * @param options.selectedField - field id that is already selected (for sort/group/filter actions)\n * @param options.columns - live column objects that expose `field.filterPickList`\n * @param options.defaultType - fallback field type if not specified on the field definition\n * @returns {array} returns an array of objects where each object is one category\n *\n * @example <caption>Example for getMenuItemsFromColumns.</caption>\n * We have two fields named ID and Priority where ID does not belong to any category and priority belongs to Bugs class category\n *\n * columns example(fieldDefs) :\n * [\n * {\n filter: true,\n type: 'text',\n name: 'pyID',\n label: 'ID',\n id: '2',\n category: [{ label: 'Profile' }],\n sort: true\n },\n {\n type: 'text',\n name: 'pyLabel',\n label: 'Name',\n id: '3',\n category: [{ label: 'Profile' }],\n sort: true\n },\n {\n type: 'text',\n name: 'pyOperatorName',\n label: 'Operator name',\n id: '4',\n filterPicklist:true\n }\n ]\n *\n * getMenuItemsFromColumns(fieldDefs) returns :\n * [\n {\n id: 'pyID',\n primary: ID,\n items: undefined,\n selected: undefined\n },\n {\n id: ‘pyLabel’,\n primary: ‘Name’,\n selected: undefined,\n items: [ {id: ‘Priority', primary: ‘Priority’, selected: true, items: undefined}]\n },\n {\n id: 'pyOperatorName',\n primary: 'Operator name',\n selected: undefined,\n possibleValues: function() {\n // Fetch unique values for Operator name column\n }\n }\n\n ]\n*/\n\nfunction getMenuItemsFromColumns(\n fieldDefs,\n fieldProp,\n view,\n { selectedField, defaultType = FieldType.TEXT } = {}\n) {\n const items = [];\n let categoryArr = [];\n\n if (!fieldDefs) {\n return items;\n }\n\n fieldDefs.forEach(field => {\n const leafCategoryItem = {\n id: field[fieldProp],\n primary: field.label,\n type: typeMap[field.type?.toLowerCase()] || typeMap[defaultType],\n selected: field.id === selectedField,\n // Attach possibleValues for picklist fields (e.g. UserReference, WorkStatus)\n // TODO primary should be renderer rather string for user reference fields to show display value instead of id in condition builder.\n ...(field.filterPickList && {\n possibleValues: args =>\n (view?.getUniqueValues(field.id) ?? Promise.resolve([])).then(records => {\n const searchString = args?.searchString?.toString().toLowerCase().trim();\n const filteredValues = records\n .filter(\n id =>\n id !== null &&\n id !== undefined &&\n (!searchString || id.toString().toLowerCase().includes(searchString))\n )\n .map(id => ({ id, primary: id }));\n\n // ConditionBuilder calls with { ids } to resolve display text for pre-selected values\n if (args && 'ids' in args) {\n return args.ids.reduce((selectedValues, id) => {\n selectedValues.push(\n filteredValues.find(value => value.id === id) || { id, primary: id }\n );\n return selectedValues;\n }, []);\n }\n\n return filteredValues;\n })\n })\n };\n\n categoryArr = items;\n if (field.category) {\n categoryArr = prepareCategoryItems(field.category, categoryArr);\n }\n categoryArr.push(leafCategoryItem);\n });\n\n return items;\n}\nexport default getMenuItemsFromColumns;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VariableHeightVirtualizer.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAC;AAsBrD,MAAM,WAAW,WAAW;IAC1B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AASD,MAAM,WAAW,8BAA8B;IAC7C,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,wCAAwC;IACxC,WAAW,EAAE,CACX,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAC5D,OAAO,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,KACnC,IAAI,CAAC;IACV,oDAAoD;IACpD,cAAc,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,eAAe,EAAE,eAAe,CAAC;IACjC,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC;IACxC,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC;IACxC,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC;IAC9C,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,iDAAiD;IACjD,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,UAAU,cAAc;IACtB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAaD;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,yBAAyB,2HA6T9B,CAAC;AAIF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"VariableHeightVirtualizer.d.ts","sourceRoot":"","sources":["../../../../../Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAC;AAsBrD,MAAM,WAAW,WAAW;IAC1B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AASD,MAAM,WAAW,8BAA8B;IAC7C,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,wCAAwC;IACxC,WAAW,EAAE,CACX,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAC5D,OAAO,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,KACnC,IAAI,CAAC;IACV,oDAAoD;IACpD,cAAc,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,eAAe,EAAE,eAAe,CAAC;IACjC,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC;IACxC,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC;IACxC,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC;IAC9C,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,iDAAiD;IACjD,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,UAAU,cAAc;IACtB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAaD;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,yBAAyB,2HA+T9B,CAAC;AAIF,eAAe,yBAAyB,CAAC"}