@pega/lists-react 10.0.0-build.1.8 → 10.0.0-build.10.0

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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchRowActions.js","sourceRoot":"","sources":["../../../Core/Utils/fetchRowActions.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Action } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { RowAction, RowActionMeta } from 'pega-repeating-structures-core/lib/types/Meta.types';\n\ntype RowContext = ReturnType<RsCoreTypes.Row['getContext']>;\n\ninterface FetchRowActionsParams {\n getExecutionContext?: () => RowContext | undefined;\n meta: RsCoreTypes.Meta;\n translate: (key: string) => string;\n}\n\ninterface ActionContext {\n rowContext: RsCoreTypes.RowData;\n refreshRow: () => void;\n rowMeta: RowActionMeta;\n}\n\nexport interface HydratedRowAction extends Action {\n primary: string;\n onClick: () => void;\n}\n\nfunction hydrateActions(\n actions: RowAction[],\n getActionContext: () => ActionContext\n): HydratedRowAction[] {\n return actions.map(action => ({\n ...action,\n primary: action.text,\n onClick: () => {\n const { rowContext, refreshRow, rowMeta } = getActionContext();\n action.onClick(rowContext, refreshRow, rowMeta);\n }\n }));\n}\n\nfunction isVisibleInMenu(\n actionConfig: RsCoreTypes.Meta['editing'] | RsCoreTypes.Meta['deleting'],\n rowContext: RsCoreTypes.RowData\n): actionConfig is RsCoreTypes.ActionConfig {\n return (\n !!actionConfig &&\n typeof actionConfig === 'object' &&\n actionConfig.placement === 'menu' &&\n actionConfig.isVisible?.(rowContext) === true &&\n typeof actionConfig.onClick === 'function'\n );\n}\n\nfunction getConfigActions(\n meta: RsCoreTypes.Meta,\n rowContext: RsCoreTypes.RowData,\n translate: FetchRowActionsParams['translate']\n): RowAction[] {\n const actions: RowAction[] = [];\n\n if (isVisibleInMenu(meta.editing, rowContext)) {\n actions.push({ text: translate('Edit'), id: 'edit', onClick: meta.editing.onClick });\n }\n if (isVisibleInMenu(meta.deleting, rowContext)) {\n actions.push({ text: translate('Delete'), id: 'delete', onClick: meta.deleting.onClick });\n }\n\n return actions;\n}\n\n/** Fetches configured, dynamic, and static menu actions for a row. */\nexport default async function fetchRowActions({\n getExecutionContext,\n meta,\n translate\n}: FetchRowActionsParams): Promise<HydratedRowAction[]> {\n const executionContext = getExecutionContext?.();\n if (!executionContext) return [];\n\n const rowContext = executionContext.getValue();\n\n const getLatestActionContext = (): ActionContext => {\n const latestExecutionContext = getExecutionContext?.() ?? executionContext;\n const latestRowContext = latestExecutionContext.getValue();\n\n return {\n rowContext: latestRowContext,\n refreshRow: latestExecutionContext.refreshRow,\n rowMeta: {\n rowHeader: latestExecutionContext.getRowHeader?.()?.getValue(),\n rowIndex: latestExecutionContext.getRowIndex?.() ?? -1\n }\n };\n };\n\n const configActions = hydrateActions(\n getConfigActions(meta, rowContext, translate),\n getLatestActionContext\n );\n const staticActions = hydrateActions(meta.rowActions ?? [], getLatestActionContext);\n\n try {\n const dynamicActions = await executionContext.getRowActionDetails(rowContext);\n\n return [\n ...configActions,\n ...hydrateActions(\n Array.isArray(dynamicActions) ? dynamicActions : [],\n getLatestActionContext\n ),\n ...staticActions\n ];\n } catch {\n return [...configActions, ...staticActions];\n }\n}\n"]}
@@ -1,4 +1,13 @@
1
1
  import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ export declare function getHeightStyles(view: RsCoreTypes.View, isFullscreen: boolean): {
3
+ height?: undefined;
4
+ minHeight?: undefined;
5
+ maxHeight?: undefined;
6
+ } | {
7
+ height: string;
8
+ minHeight: string;
9
+ maxHeight: string;
10
+ };
2
11
  export declare const generateRSHeightStyles: ({ view, isFullscreen }: {
3
12
  view: RsCoreTypes.View;
4
13
  isFullscreen: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../Core/Utils/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAgElE,eAAO,MAAM,sBAAsB,GAAI,wBAGpC;IACD,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB,gDAUA,CAAC;AAGF,eAAO,MAAM,mCAAmC,mDAM/C,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../Core/Utils/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAKlE,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO;;;;;;;;EA4D5E;AAGD,eAAO,MAAM,sBAAsB,GAAI,wBAGpC;IACD,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB,gDAUA,CAAC;AAGF,eAAO,MAAM,mCAAmC,mDAM/C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { css } from 'styled-components';
2
2
  const DEFAULT_READONLY_TABLE_HEIGHT = '600px';
3
3
  const MAX_HEIGHT_MIN_VALUE_FALLBACK = '25rem';
4
- function getHeightStyles(view, isFullscreen) {
4
+ export function getHeightStyles(view, isFullscreen) {
5
5
  if (!view)
6
6
  return {};
7
7
  const { viewHeight, meta: { basicMode, height: { height, minHeight, maxHeight, maxHeightMinValueVariable, deltaAdjustment = 0 } = {} } } = view;
@@ -12,7 +12,8 @@ function getHeightStyles(view, isFullscreen) {
12
12
  // Fullscreen mode overrides other height calculations
13
13
  if (isFullscreen) {
14
14
  return {
15
- height: 'auto',
15
+ // Stretch the fullscreen table using --content-height-in-view, which Fullscreen provides after portaling the table.
16
+ height: `calc(var(--content-height-in-view) - ${cardPadding})`,
16
17
  minHeight: 'auto',
17
18
  maxHeight: `calc(max(100dvh, ${maxHeightMinimumValue}) - ${cardPadding})`
18
19
  };
@@ -34,7 +35,11 @@ function getHeightStyles(view, isFullscreen) {
34
35
  if (basicMode) {
35
36
  calculatedHeight = 'auto';
36
37
  }
37
- if (height) {
38
+ if (typeof height === 'string' && height.startsWith('--')) {
39
+ // CSS variable: explicit height takes precedence over basicMode.
40
+ calculatedHeight = `calc(var(${height}) - ${deltaAdjustment}px - ${cardPadding})`;
41
+ }
42
+ else if (typeof height === 'number') {
38
43
  calculatedHeight = `calc(${height}px - ${deltaAdjustment}px - ${cardPadding})`;
39
44
  }
40
45
  if (viewHeight) {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../Core/Utils/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAIxC,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAC9C,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAE9C,SAAS,eAAe,CAAC,IAAsB,EAAE,YAAqB;IACpE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,EACJ,UAAU,EACV,IAAI,EAAE,EACJ,SAAS,EACT,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,yBAAyB,EAAE,eAAe,GAAG,CAAC,EAAE,GAAG,EAAE,EAC9F,EACF,GAAG,IAAI,CAAC;IAET,MAAM,qBAAqB,GAAG,yBAAyB;QACrD,CAAC,CAAC,OAAO,yBAAyB,KAAK,6BAA6B,GAAG;QACvE,CAAC,CAAC,6BAA6B,CAAC;IAElC,MAAM,WAAW,GAAG,6BAA6B,CAAC;IAElD,sDAAsD;IACtD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,oBAAoB,qBAAqB,OAAO,WAAW,GAAG;SAC1E,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,mBAAmB,GAAG,MAAM,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,mBAAmB,GAAG,6BAA6B,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,mBAAmB,GAAG,YAAY,SAAS,OAAO,qBAAqB,OAAO,eAAe,QAAQ,WAAW,GAAG,CAAC;IACtH,CAAC;IACD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,mBAAmB,GAAG,gBAAgB,SAAS,KAAK,6BAA6B,MAAM,qBAAqB,OAAO,eAAe,QAAQ,WAAW,GAAG,CAAC;IAC3J,CAAC;IAED,sBAAsB;IACtB,yHAAyH;IACzH,IAAI,gBAAgB,GAAG,mBAAmB,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,gBAAgB,GAAG,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,gBAAgB,GAAG,QAAQ,MAAM,QAAQ,eAAe,QAAQ,WAAW,GAAG,CAAC;IACjF,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,gBAAgB,GAAG,QAAQ,UAAU,QAAQ,eAAe,QAAQ,WAAW,GAAG,CAAC;IACrF,CAAC;IAED,OAAO;QACL,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM;QAChD,SAAS,EAAE,mBAAmB;KAC/B,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,IAAI,EACJ,YAAY,EAIb,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAE7E,OAAO,GAAG,CAAA;;;cAGE,MAAM;kBACF,SAAS;kBACT,SAAS;GACxB,CAAC;AACJ,CAAC,CAAC;AAEF,kIAAkI;AAClI,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACtD,OAAO,GAAG,CAAA;;;;GAIT,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { css } from 'styled-components';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nconst DEFAULT_READONLY_TABLE_HEIGHT = '600px';\nconst MAX_HEIGHT_MIN_VALUE_FALLBACK = '25rem';\n\nfunction getHeightStyles(view: RsCoreTypes.View, isFullscreen: boolean) {\n if (!view) return {};\n\n const {\n viewHeight,\n meta: {\n basicMode,\n height: { height, minHeight, maxHeight, maxHeightMinValueVariable, deltaAdjustment = 0 } = {}\n }\n } = view;\n\n const maxHeightMinimumValue = maxHeightMinValueVariable\n ? `var(${maxHeightMinValueVariable}, ${MAX_HEIGHT_MIN_VALUE_FALLBACK})`\n : MAX_HEIGHT_MIN_VALUE_FALLBACK;\n\n const cardPadding = 'var(--rs-card-padding, 0px)';\n\n // Fullscreen mode overrides other height calculations\n if (isFullscreen) {\n return {\n height: 'auto',\n minHeight: 'auto',\n maxHeight: `calc(max(100dvh, ${maxHeightMinimumValue}) - ${cardPadding})`\n };\n }\n\n // Max-height calculations\n let calculatedMaxHeight = 'none';\n if (basicMode) {\n calculatedMaxHeight = DEFAULT_READONLY_TABLE_HEIGHT;\n }\n if (typeof maxHeight === 'number') {\n calculatedMaxHeight = `calc(max(${maxHeight}px, ${maxHeightMinimumValue}) - ${deltaAdjustment}px - ${cardPadding})`;\n }\n if (typeof maxHeight === 'string' && maxHeight.startsWith('--')) {\n calculatedMaxHeight = `calc(max(var(${maxHeight}, ${DEFAULT_READONLY_TABLE_HEIGHT}), ${maxHeightMinimumValue}) - ${deltaAdjustment}px - ${cardPadding})`;\n }\n\n // Height calculations\n // For landing pages stretch the repeating view to the max available height even though there might be less or no records\n let calculatedHeight = calculatedMaxHeight;\n if (basicMode) {\n calculatedHeight = 'auto';\n }\n if (height) {\n calculatedHeight = `calc(${height}px - ${deltaAdjustment}px - ${cardPadding})`;\n }\n if (viewHeight) {\n calculatedHeight = `calc(${viewHeight}px - ${deltaAdjustment}px - ${cardPadding})`;\n }\n\n return {\n height: calculatedHeight,\n minHeight: minHeight ? `${minHeight}px` : 'auto',\n maxHeight: calculatedMaxHeight\n };\n}\n\n// Exposes styles to be set on the RS template\nexport const generateRSHeightStyles = ({\n view,\n isFullscreen\n}: {\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n}) => {\n const { height, minHeight, maxHeight } = getHeightStyles(view, isFullscreen);\n\n return css`\n display: flex;\n flex-direction: column;\n height: ${height};\n min-height: ${minHeight};\n max-height: ${maxHeight};\n `;\n};\n\n// Exposes styles to be set on the container that contains the data records and need to be expanded and collapsed based on records\nexport const generateRSDataContainerHeightStyles = () => {\n return css`\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n `;\n};\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../Core/Utils/styles.ts"],"names":[],"mappings":"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","sourcesContent":["import { css } from 'styled-components';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nconst DEFAULT_READONLY_TABLE_HEIGHT = '600px';\nconst MAX_HEIGHT_MIN_VALUE_FALLBACK = '25rem';\n\nexport function getHeightStyles(view: RsCoreTypes.View, isFullscreen: boolean) {\n if (!view) return {};\n\n const {\n viewHeight,\n meta: {\n basicMode,\n height: { height, minHeight, maxHeight, maxHeightMinValueVariable, deltaAdjustment = 0 } = {}\n }\n } = view;\n\n const maxHeightMinimumValue = maxHeightMinValueVariable\n ? `var(${maxHeightMinValueVariable}, ${MAX_HEIGHT_MIN_VALUE_FALLBACK})`\n : MAX_HEIGHT_MIN_VALUE_FALLBACK;\n\n const cardPadding = 'var(--rs-card-padding, 0px)';\n\n // Fullscreen mode overrides other height calculations\n if (isFullscreen) {\n return {\n // Stretch the fullscreen table using --content-height-in-view, which Fullscreen provides after portaling the table.\n height: `calc(var(--content-height-in-view) - ${cardPadding})`,\n minHeight: 'auto',\n maxHeight: `calc(max(100dvh, ${maxHeightMinimumValue}) - ${cardPadding})`\n };\n }\n\n // Max-height calculations\n let calculatedMaxHeight = 'none';\n if (basicMode) {\n calculatedMaxHeight = DEFAULT_READONLY_TABLE_HEIGHT;\n }\n if (typeof maxHeight === 'number') {\n calculatedMaxHeight = `calc(max(${maxHeight}px, ${maxHeightMinimumValue}) - ${deltaAdjustment}px - ${cardPadding})`;\n }\n if (typeof maxHeight === 'string' && maxHeight.startsWith('--')) {\n calculatedMaxHeight = `calc(max(var(${maxHeight}, ${DEFAULT_READONLY_TABLE_HEIGHT}), ${maxHeightMinimumValue}) - ${deltaAdjustment}px - ${cardPadding})`;\n }\n\n // Height calculations\n // For landing pages stretch the repeating view to the max available height even though there might be less or no records\n let calculatedHeight = calculatedMaxHeight;\n if (basicMode) {\n calculatedHeight = 'auto';\n }\n if (typeof height === 'string' && height.startsWith('--')) {\n // CSS variable: explicit height takes precedence over basicMode.\n calculatedHeight = `calc(var(${height}) - ${deltaAdjustment}px - ${cardPadding})`;\n } else if (typeof height === 'number') {\n calculatedHeight = `calc(${height}px - ${deltaAdjustment}px - ${cardPadding})`;\n }\n if (viewHeight) {\n calculatedHeight = `calc(${viewHeight}px - ${deltaAdjustment}px - ${cardPadding})`;\n }\n\n return {\n height: calculatedHeight,\n minHeight: minHeight ? `${minHeight}px` : 'auto',\n maxHeight: calculatedMaxHeight\n };\n}\n\n// Exposes styles to be set on the RS template\nexport const generateRSHeightStyles = ({\n view,\n isFullscreen\n}: {\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n}) => {\n const { height, minHeight, maxHeight } = getHeightStyles(view, isFullscreen);\n\n return css`\n display: flex;\n flex-direction: column;\n height: ${height};\n min-height: ${minHeight};\n max-height: ${maxHeight};\n `;\n};\n\n// Exposes styles to be set on the container that contains the data records and need to be expanded and collapsed based on records\nexport const generateRSDataContainerHeightStyles = () => {\n return css`\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n `;\n};\n"]}
@@ -1,4 +1,4 @@
1
1
  import type { GalleryCardProps } from '../Gallery.types';
2
- declare const GalleryCard: import("react").MemoExoticComponent<({ headerColumn, row, meta, visibleColumns }: GalleryCardProps) => import("react/jsx-runtime").JSX.Element>;
2
+ declare const GalleryCard: import("react").MemoExoticComponent<({ headerColumn, subHeadingsColumns, row, meta, visibleColumns }: GalleryCardProps) => import("react/jsx-runtime").JSX.Element>;
3
3
  export default GalleryCard;
4
4
  //# sourceMappingURL=GalleryCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryCard.d.ts","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,QAAA,MAAM,WAAW,oFAAsD,gBAAgB,6CA2CrF,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"GalleryCard.d.ts","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,QAAA,MAAM,WAAW,wGACmD,gBAAgB,6CAoDnF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,20 +1,24 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { memo } from 'react';
2
+ import { memo, useCallback } from 'react';
3
3
  import { SelectionCardDisplay } from '@pega/cosmos-react-core';
4
- import { getCardData, getCardUIProps } from '../utils';
5
- import useRowActions from '../hooks/useRowActions';
6
- const GalleryCard = memo(({ headerColumn, row, meta, visibleColumns }) => {
7
- const { label, image, footer, fields, 'aria-label': ariaLabel } = getCardData({
4
+ import { getCardData, getCardUIProps } from '../../../Components/Card';
5
+ import useTranslate from '../../../Hooks/useTranslate';
6
+ import fetchRowActions from '../../../Utils/fetchRowActions';
7
+ const GalleryCard = memo(({ headerColumn, subHeadingsColumns, row, meta, visibleColumns }) => {
8
+ const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };
9
+ const { label, subheading, image, footer, fields, 'aria-label': ariaLabel } = getCardData({
8
10
  row,
9
11
  visibleColumns,
10
- meta,
11
- headerColumn
12
+ cardConfig,
13
+ headerColumn,
14
+ subHeadingsColumns
12
15
  });
13
16
  const uiProps = getCardUIProps({ row });
14
- const fetchActionsCb = useRowActions({ row, meta });
17
+ const [translate] = useTranslate();
18
+ const fetchActions = useCallback(() => fetchRowActions({ getExecutionContext: row.getContext, meta, translate }), [meta, row, translate]);
15
19
  const { onCardClick } = meta.galleryConfig ?? {};
16
20
  const rowData = onCardClick ? row.getContext().getValue() : undefined;
17
- return (_jsx(SelectionCardDisplay, { "aria-label": ariaLabel, label: label, headingTag: 'h3', image: image, fields: fields, "data-gallery-card": true, actions: fetchActionsCb, ...uiProps, footer: footer, ...(onCardClick &&
21
+ return (_jsx(SelectionCardDisplay, { "aria-label": ariaLabel, label: label, subheading: subheading, headingTag: 'h3', image: image, fields: fields, "data-gallery-card": true, actions: meta.editing || meta.deleting ? fetchActions : undefined, ...uiProps, footer: footer, ...(onCardClick &&
18
22
  rowData && {
19
23
  onClick: () => onCardClick(rowData),
20
24
  onKeyDown: (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryCard.js","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAoB,EAAE,EAAE;IACzF,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,YAAY,EAAE,SAAS,EACxB,GAAG,WAAW,CAAC;QACd,GAAG;QACH,cAAc;QACd,IAAI;QACJ,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,OAAO,CACL,KAAC,oBAAoB,kBACP,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,6BAEd,OAAO,EAAE,cAAc,KACnB,OAAO,EACX,MAAM,EAAE,MAAM,KACV,CAAC,WAAW;YACd,OAAO,IAAI;YACT,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;YACnC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;gBAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;SACF,CAAC,GACJ,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC","sourcesContent":["import { memo } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport { SelectionCardDisplay } from '@pega/cosmos-react-core';\n\nimport type { GalleryCardProps } from '../Gallery.types';\nimport { getCardData, getCardUIProps } from '../utils';\nimport useRowActions from '../hooks/useRowActions';\n\nconst GalleryCard = memo(({ headerColumn, row, meta, visibleColumns }: GalleryCardProps) => {\n const {\n label,\n image,\n footer,\n fields,\n 'aria-label': ariaLabel\n } = getCardData({\n row,\n visibleColumns,\n meta,\n headerColumn\n });\n\n const uiProps = getCardUIProps({ row });\n const fetchActionsCb = useRowActions({ row, meta });\n const { onCardClick } = meta.galleryConfig ?? {};\n\n const rowData = onCardClick ? row.getContext().getValue() : undefined;\n\n return (\n <SelectionCardDisplay\n aria-label={ariaLabel}\n label={label}\n headingTag='h3'\n image={image}\n fields={fields}\n data-gallery-card\n actions={fetchActionsCb}\n {...uiProps}\n footer={footer}\n {...(onCardClick &&\n rowData && {\n onClick: () => onCardClick(rowData),\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onCardClick(rowData);\n }\n }\n })}\n />\n );\n});\n\nexport default GalleryCard;\n"]}
1
+ {"version":3,"file":"GalleryCard.js","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAE7D,MAAM,WAAW,GAAG,IAAI,CACtB,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAoB,EAAE,EAAE;IACpF,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACjE,MAAM,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,YAAY,EAAE,SAAS,EACxB,GAAG,WAAW,CAAC;QACd,GAAG;QACH,cAAc;QACd,UAAU;QACV,YAAY;QACZ,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,WAAW,CAC9B,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/E,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CACvB,CAAC;IACF,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,OAAO,CACL,KAAC,oBAAoB,kBACP,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,UAAU,EAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,6BAEd,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,KAC7D,OAAO,EACX,MAAM,EAAE,MAAM,KACV,CAAC,WAAW;YACd,OAAO,IAAI;YACT,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;YACnC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;gBAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;SACF,CAAC,GACJ,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { memo, useCallback } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport { SelectionCardDisplay } from '@pega/cosmos-react-core';\n\nimport type { GalleryCardProps } from '../Gallery.types';\nimport { getCardData, getCardUIProps } from '../../../Components/Card';\nimport useTranslate from '../../../Hooks/useTranslate';\nimport fetchRowActions from '../../../Utils/fetchRowActions';\n\nconst GalleryCard = memo(\n ({ headerColumn, subHeadingsColumns, row, meta, visibleColumns }: GalleryCardProps) => {\n const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };\n const {\n label,\n subheading,\n image,\n footer,\n fields,\n 'aria-label': ariaLabel\n } = getCardData({\n row,\n visibleColumns,\n cardConfig,\n headerColumn,\n subHeadingsColumns\n });\n\n const uiProps = getCardUIProps({ row });\n const [translate] = useTranslate();\n const fetchActions = useCallback(\n () => fetchRowActions({ getExecutionContext: row.getContext, meta, translate }),\n [meta, row, translate]\n );\n const { onCardClick } = meta.galleryConfig ?? {};\n\n const rowData = onCardClick ? row.getContext().getValue() : undefined;\n\n return (\n <SelectionCardDisplay\n aria-label={ariaLabel}\n label={label}\n subheading={subheading}\n headingTag='h3'\n image={image}\n fields={fields}\n data-gallery-card\n actions={meta.editing || meta.deleting ? fetchActions : undefined}\n {...uiProps}\n footer={footer}\n {...(onCardClick &&\n rowData && {\n onClick: () => onCardClick(rowData),\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onCardClick(rowData);\n }\n }\n })}\n />\n );\n }\n);\n\nexport default GalleryCard;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryCheckboxCard.d.ts","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCheckboxCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIzD,UAAU,wBAAyB,SAAQ,gBAAgB;IACzD,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC;CACrC;AAED,QAAA,MAAM,mBAAmB,qGACwC,wBAAwB,6CA6CxF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"GalleryCheckboxCard.d.ts","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCheckboxCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,UAAU,wBAAyB,SAAQ,gBAAgB;IACzD,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC;CACrC;AAED,QAAA,MAAM,mBAAmB,qGACwC,wBAAwB,6CAkDxF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,13 +1,15 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { memo, useCallback } from 'react';
3
3
  import { CheckboxCard } from '@pega/cosmos-react-core';
4
- import { getCardData, getCardUIProps } from '../utils';
5
- import useRowActions from '../hooks/useRowActions';
4
+ import { getCardData, getCardUIProps } from '../../../Components/Card';
5
+ import useTranslate from '../../../Hooks/useTranslate';
6
+ import fetchRowActions from '../../../Utils/fetchRowActions';
6
7
  const GalleryCheckboxCard = memo(({ headerColumn, selectionColumn, row, meta, visibleColumns }) => {
8
+ const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };
7
9
  const { label, image, fields, 'aria-label': ariaLabel } = getCardData({
8
10
  row,
9
11
  visibleColumns,
10
- meta,
12
+ cardConfig,
11
13
  headerColumn
12
14
  });
13
15
  const uiProps = getCardUIProps({ row });
@@ -18,8 +20,9 @@ const GalleryCheckboxCard = memo(({ headerColumn, selectionColumn, row, meta, vi
18
20
  // TODO: identify the usecase for column.disableSelection. Keeping it for now to keep the behavior in sync with RowSelectionColumn in table.
19
21
  const disableSelection = selectionColumn.disableSelection ?? disableSelectionOnLoad;
20
22
  const handleChange = useCallback((event) => selectRow(event.target.checked), [row, selectRow]);
21
- const fetchActionsCb = useRowActions({ row, meta });
22
- return (_jsx(CheckboxCard, { "aria-label": ariaLabel, label: label, headingTag: 'h3', image: image, fields: fields, "data-gallery-card": true, onChange: handleChange, checked: getContext()?.$selected, readOnly: disableSelection, ...uiProps, actions: fetchActionsCb }));
23
+ const [translate] = useTranslate();
24
+ const fetchActions = useCallback(() => fetchRowActions({ getExecutionContext: row.getContext, meta, translate }), [meta, row, translate]);
25
+ return (_jsx(CheckboxCard, { "aria-label": ariaLabel, label: label, headingTag: 'h3', image: image, fields: fields, "data-gallery-card": true, onChange: handleChange, checked: getContext()?.$selected, readOnly: disableSelection, ...uiProps, actions: meta.editing || meta.deleting ? fetchActions : undefined }));
23
26
  });
24
27
  export default GalleryCheckboxCard;
25
28
  //# sourceMappingURL=GalleryCheckboxCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryCheckboxCard.js","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCheckboxCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAoB,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAMnD,MAAM,mBAAmB,GAAG,IAAI,CAC9B,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAA4B,EAAE,EAAE;IACzF,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EAAE,SAAS,EACxB,GAAG,WAAW,CAAC;QACd,GAAG;QACH,cAAc;QACd,IAAI;QACJ,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAExC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IACtC,MAAM,sBAAsB,GAAG,eAAe;SAC3C,UAAU,EAAE;QACb,EAAE,SAAS,EAAE,EAAE,sBAAsB,CAAC;IACxC,4IAA4I;IAC5I,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;IAEpF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAoC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EACzE,CAAC,GAAG,EAAE,SAAS,CAAC,CACjB,CAAC;IAEF,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,CACL,KAAC,YAAY,kBACC,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,6BAEd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAChC,QAAQ,EAAE,gBAAgB,KACtB,OAAO,EACX,OAAO,EAAE,cAAc,GACvB,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { memo, useCallback, type ChangeEvent } from 'react';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport { CheckboxCard } from '@pega/cosmos-react-core';\n\nimport type { GalleryCardProps } from '../Gallery.types';\nimport { getCardData, getCardUIProps } from '../utils';\nimport useRowActions from '../hooks/useRowActions';\n\ninterface GalleryCheckboxCardProps extends GalleryCardProps {\n selectionColumn: RsCoreTypes.Column;\n}\n\nconst GalleryCheckboxCard = memo(\n ({ headerColumn, selectionColumn, row, meta, visibleColumns }: GalleryCheckboxCardProps) => {\n const {\n label,\n image,\n fields,\n 'aria-label': ariaLabel\n } = getCardData({\n row,\n visibleColumns,\n meta,\n headerColumn\n });\n\n const uiProps = getCardUIProps({ row });\n\n const { selectRow, getContext } = row;\n const disableSelectionOnLoad = selectionColumn\n .getContext()\n ?.getRsMeta()?.disableSelectionOnLoad;\n // TODO: identify the usecase for column.disableSelection. Keeping it for now to keep the behavior in sync with RowSelectionColumn in table.\n const disableSelection = selectionColumn.disableSelection ?? disableSelectionOnLoad;\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => selectRow(event.target.checked),\n [row, selectRow]\n );\n\n const fetchActionsCb = useRowActions({ row, meta });\n\n return (\n <CheckboxCard\n aria-label={ariaLabel}\n label={label}\n headingTag='h3'\n image={image}\n fields={fields}\n data-gallery-card\n onChange={handleChange}\n checked={getContext()?.$selected}\n readOnly={disableSelection}\n {...uiProps}\n actions={fetchActionsCb}\n />\n );\n }\n);\n\nexport default GalleryCheckboxCard;\n"]}
1
+ {"version":3,"file":"GalleryCheckboxCard.js","sourceRoot":"","sources":["../../../../../Core/Views/Gallery/Components/GalleryCheckboxCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAoB,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAM7D,MAAM,mBAAmB,GAAG,IAAI,CAC9B,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAA4B,EAAE,EAAE;IACzF,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACjE,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EAAE,SAAS,EACxB,GAAG,WAAW,CAAC;QACd,GAAG;QACH,cAAc;QACd,UAAU;QACV,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAExC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IACtC,MAAM,sBAAsB,GAAG,eAAe;SAC3C,UAAU,EAAE;QACb,EAAE,SAAS,EAAE,EAAE,sBAAsB,CAAC;IACxC,4IAA4I;IAC5I,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;IAEpF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAoC,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EACzE,CAAC,GAAG,EAAE,SAAS,CAAC,CACjB,CAAC;IAEF,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,WAAW,CAC9B,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/E,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CACvB,CAAC;IAEF,OAAO,CACL,KAAC,YAAY,kBACC,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,6BAEd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAChC,QAAQ,EAAE,gBAAgB,KACtB,OAAO,EACX,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,GACjE,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { memo, useCallback, type ChangeEvent } from 'react';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport { CheckboxCard } from '@pega/cosmos-react-core';\n\nimport type { GalleryCardProps } from '../Gallery.types';\nimport { getCardData, getCardUIProps } from '../../../Components/Card';\nimport useTranslate from '../../../Hooks/useTranslate';\nimport fetchRowActions from '../../../Utils/fetchRowActions';\n\ninterface GalleryCheckboxCardProps extends GalleryCardProps {\n selectionColumn: RsCoreTypes.Column;\n}\n\nconst GalleryCheckboxCard = memo(\n ({ headerColumn, selectionColumn, row, meta, visibleColumns }: GalleryCheckboxCardProps) => {\n const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };\n const {\n label,\n image,\n fields,\n 'aria-label': ariaLabel\n } = getCardData({\n row,\n visibleColumns,\n cardConfig,\n headerColumn\n });\n\n const uiProps = getCardUIProps({ row });\n\n const { selectRow, getContext } = row;\n const disableSelectionOnLoad = selectionColumn\n .getContext()\n ?.getRsMeta()?.disableSelectionOnLoad;\n // TODO: identify the usecase for column.disableSelection. Keeping it for now to keep the behavior in sync with RowSelectionColumn in table.\n const disableSelection = selectionColumn.disableSelection ?? disableSelectionOnLoad;\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => selectRow(event.target.checked),\n [row, selectRow]\n );\n\n const [translate] = useTranslate();\n const fetchActions = useCallback(\n () => fetchRowActions({ getExecutionContext: row.getContext, meta, translate }),\n [meta, row, translate]\n );\n\n return (\n <CheckboxCard\n aria-label={ariaLabel}\n label={label}\n headingTag='h3'\n image={image}\n fields={fields}\n data-gallery-card\n onChange={handleChange}\n checked={getContext()?.$selected}\n readOnly={disableSelection}\n {...uiProps}\n actions={meta.editing || meta.deleting ? fetchActions : undefined}\n />\n );\n }\n);\n\nexport default GalleryCheckboxCard;\n"]}
@@ -1,6 +1,7 @@
1
1
  import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
2
  export interface GalleryCardProps {
3
3
  headerColumn?: RsCoreTypes.Column;
4
+ subHeadingsColumns?: RsCoreTypes.Column[];
4
5
  row: RsCoreTypes.Row;
5
6
  meta: RsCoreTypes.Meta;
6
7
  visibleColumns: RsCoreTypes.Column[];
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.types.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/Gallery.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAClC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;CACtC"}
1
+ {"version":3,"file":"Gallery.types.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/Gallery.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAC1C,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.types.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/Gallery.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nexport interface GalleryCardProps {\n headerColumn?: RsCoreTypes.Column;\n row: RsCoreTypes.Row;\n meta: RsCoreTypes.Meta;\n visibleColumns: RsCoreTypes.Column[];\n}\n"]}
1
+ {"version":3,"file":"Gallery.types.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/Gallery.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nexport interface GalleryCardProps {\n headerColumn?: RsCoreTypes.Column;\n subHeadingsColumns?: RsCoreTypes.Column[];\n row: RsCoreTypes.Row;\n meta: RsCoreTypes.Meta;\n visibleColumns: RsCoreTypes.Column[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryContainer.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/GalleryContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAYzE,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA6DD,QAAA,MAAM,gBAAgB,sJAoBrB,CAAC;AAIF,eAAe,gBAAgB,CAAC;AAEhC,QAAA,MAAM,yBAAyB,6NAG9B,CAAC;AAGF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"GalleryContainer.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/GalleryContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAWzE,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA6DD,QAAA,MAAM,gBAAgB,sJAoBrB,CAAC;AAIF,eAAe,gBAAgB,CAAC;AAEhC,QAAA,MAAM,yBAAyB,6NAG9B,CAAC;AAGF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
@@ -4,7 +4,7 @@ import styled, { css } from 'styled-components';
4
4
  import { getBaseCardContainerStyles, getInlineImageCardContainerStyles, StyledHeader, StyledSelectionCard } from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';
5
5
  import { defaultThemeProp } from '@pega/cosmos-react-core';
6
6
  import { generateRSDataContainerHeightStyles, generateRSHeightStyles } from '../../Utils/styles';
7
- import { DEFAULT_IMAGE_PLACEMENT, DEFAULT_IMAGE_SIZE, GALLERY_IMAGE_PLACEMENT_MAP, isInlinePlacement } from './utils';
7
+ import { DEFAULT_IMAGE_PLACEMENT, DEFAULT_IMAGE_SIZE, GALLERY_IMAGE_PLACEMENT_MAP, isInlinePlacement } from '../../Components/Card';
8
8
  const StyledGalleryContainer = styled.div(({ view, isFullscreen, isStackLayout, theme }) => {
9
9
  return css `
10
10
  ${generateRSHeightStyles({ view, isFullscreen })}
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryContainer.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/GalleryContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,YAAY,EACZ,mBAAmB,EACpB,MAAM,2EAA2E,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjG,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,SAAS,CAAC;AA6BjB,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CACvC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAA;QACN,sBAAsB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;;;;;UAM5C,0BAA0B,CAAC,KAAK,CAAC;UACjC,aAAa;QACf,GAAG,CAAA;;SAEF;UACC,mBAAmB,IAAI,YAAY;;;;KAIxC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEvD,MAAM,iCAAiC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAEtE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,EAAE;IACxD,OAAO,GAAG,CAAA;;;;;;QAMJ,CAAC,aAAa;QAChB,iCAAiC,CAAC,KAAK,EAAE;YACvC,SAAS,EAAE,2BAA2B,CAAC,cAAc,CAAC;YACtD,IAAI,EAAE,SAAS;SAChB,CAAC;;QAEA,mBAAmB,IAAI,YAAY;;;;GAIxC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,iCAAiC,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElE,MAAM,gBAAgB,GAAG,UAAU,CACjC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAChD,MAAM,YAAY,GAAG,KAAK,IAAI,IAAI,CAAC;IACnC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,SAAS,GAAG,uBAAuB,EAAE,IAAI,GAAG,kBAAkB,EAAE,GAAG,YAAY,CAAC;QACxF,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CACL,KAAC,iCAAiC,IAChC,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,IAAI,EACf,cAAc,EAAE,SAAS,KACrB,KAAK,GACT,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAC,sBAAsB,IAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,KAAM,KAAK,GAAI,CAAC;AACvF,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAElD,eAAe,gBAAgB,CAAC;AAEhC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAA;IACxC,mCAAmC;;CAEtC,CAAC;AAEF,yBAAyB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,CAAC","sourcesContent":["import { forwardRef, type ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n getBaseCardContainerStyles,\n getInlineImageCardContainerStyles,\n StyledHeader,\n StyledSelectionCard\n} from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { ImageSize, WithAttributes } from '@pega/cosmos-react-core';\nimport { defaultThemeProp } from '@pega/cosmos-react-core';\n\nimport { generateRSDataContainerHeightStyles, generateRSHeightStyles } from '../../Utils/styles';\n\nimport {\n DEFAULT_IMAGE_PLACEMENT,\n DEFAULT_IMAGE_SIZE,\n GALLERY_IMAGE_PLACEMENT_MAP,\n isInlinePlacement\n} from './utils';\n\ninterface GalleryContainerProps {\n children?: ReactNode;\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n className?: string;\n image?: {\n placement?: RsCoreTypes.HeroImagePlacement;\n size?: ImageSize;\n };\n tile?: {\n placement?: RsCoreTypes.HeroImagePlacement;\n size?: ImageSize;\n };\n isStackLayout?: boolean;\n}\n\ninterface StyledGalleryContainerProps {\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n isStackLayout?: boolean;\n}\n\ninterface StyledInlineImageGalleryContainerProps extends StyledGalleryContainerProps {\n imagePlacement: Extract<RsCoreTypes.HeroImagePlacement, 'left' | 'right'>;\n imageSize: ImageSize;\n}\n\nconst StyledGalleryContainer = styled.div<StyledGalleryContainerProps>(\n ({ view, isFullscreen, isStackLayout, theme }) => {\n return css`\n ${generateRSHeightStyles({ view, isFullscreen })}\n\n .grid-container {\n position: absolute;\n width: 100%;\n padding: 0.2rem;\n ${getBaseCardContainerStyles(theme)}\n ${isStackLayout &&\n css`\n grid-template-columns: 1fr;\n `}\n ${StyledSelectionCard} ${StyledHeader} {\n min-height: auto;\n }\n }\n `;\n }\n);\n\nStyledGalleryContainer.defaultProps = defaultThemeProp;\n\nconst StyledInlineImageGalleryContainer = styled(StyledGalleryContainer)<\n Pick<StyledInlineImageGalleryContainerProps, 'imageSize' | 'imagePlacement'>\n>(({ theme, imageSize, imagePlacement, isStackLayout }) => {\n return css`\n *:has(> .grid-container) {\n container-type: inline-size;\n }\n\n .grid-container {\n ${!isStackLayout &&\n getInlineImageCardContainerStyles(theme, {\n placement: GALLERY_IMAGE_PLACEMENT_MAP[imagePlacement],\n size: imageSize\n })}\n\n ${StyledSelectionCard} ${StyledHeader} {\n min-height: auto;\n }\n }\n `;\n});\n\nStyledInlineImageGalleryContainer.defaultProps = defaultThemeProp;\n\nconst GalleryContainer = forwardRef<HTMLDivElement, WithAttributes<'div', GalleryContainerProps>>(\n ({ image, tile, isStackLayout, ...props }, ref) => {\n const layoutSource = image ?? tile;\n if (layoutSource) {\n const { placement = DEFAULT_IMAGE_PLACEMENT, size = DEFAULT_IMAGE_SIZE } = layoutSource;\n if (isInlinePlacement(placement)) {\n return (\n <StyledInlineImageGalleryContainer\n ref={ref}\n isStackLayout={isStackLayout}\n imageSize={size}\n imagePlacement={placement}\n {...props}\n />\n );\n }\n }\n\n return <StyledGalleryContainer ref={ref} isStackLayout={isStackLayout} {...props} />;\n }\n);\n\nGalleryContainer.displayName = 'GalleryContainer';\n\nexport default GalleryContainer;\n\nconst StyledVirtualizeContainer = styled.div`\n ${generateRSDataContainerHeightStyles};\n position: relative;\n`;\n\nStyledVirtualizeContainer.defaultProps = defaultThemeProp;\nexport { StyledVirtualizeContainer };\n"]}
1
+ {"version":3,"file":"GalleryContainer.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/GalleryContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,YAAY,EACZ,mBAAmB,EACpB,MAAM,2EAA2E,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AA6B/B,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CACvC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAA;QACN,sBAAsB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;;;;;UAM5C,0BAA0B,CAAC,KAAK,CAAC;UACjC,aAAa;QACf,GAAG,CAAA;;SAEF;UACC,mBAAmB,IAAI,YAAY;;;;KAIxC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEvD,MAAM,iCAAiC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAEtE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,EAAE;IACxD,OAAO,GAAG,CAAA;;;;;;QAMJ,CAAC,aAAa;QAChB,iCAAiC,CAAC,KAAK,EAAE;YACvC,SAAS,EAAE,2BAA2B,CAAC,cAAc,CAAC;YACtD,IAAI,EAAE,SAAS;SAChB,CAAC;;QAEA,mBAAmB,IAAI,YAAY;;;;GAIxC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,iCAAiC,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElE,MAAM,gBAAgB,GAAG,UAAU,CACjC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAChD,MAAM,YAAY,GAAG,KAAK,IAAI,IAAI,CAAC;IACnC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,EAAE,SAAS,GAAG,uBAAuB,EAAE,IAAI,GAAG,kBAAkB,EAAE,GAAG,YAAY,CAAC;QACxF,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CACL,KAAC,iCAAiC,IAChC,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,IAAI,EACf,cAAc,EAAE,SAAS,KACrB,KAAK,GACT,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAC,sBAAsB,IAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,KAAM,KAAK,GAAI,CAAC;AACvF,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAElD,eAAe,gBAAgB,CAAC;AAEhC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAA;IACxC,mCAAmC;;CAEtC,CAAC;AAEF,yBAAyB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,CAAC","sourcesContent":["import { forwardRef, type ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n getBaseCardContainerStyles,\n getInlineImageCardContainerStyles,\n StyledHeader,\n StyledSelectionCard\n} from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport type { ImageSize, WithAttributes } from '@pega/cosmos-react-core';\nimport { defaultThemeProp } from '@pega/cosmos-react-core';\n\nimport { generateRSDataContainerHeightStyles, generateRSHeightStyles } from '../../Utils/styles';\nimport {\n DEFAULT_IMAGE_PLACEMENT,\n DEFAULT_IMAGE_SIZE,\n GALLERY_IMAGE_PLACEMENT_MAP,\n isInlinePlacement\n} from '../../Components/Card';\n\ninterface GalleryContainerProps {\n children?: ReactNode;\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n className?: string;\n image?: {\n placement?: RsCoreTypes.HeroImagePlacement;\n size?: ImageSize;\n };\n tile?: {\n placement?: RsCoreTypes.HeroImagePlacement;\n size?: ImageSize;\n };\n isStackLayout?: boolean;\n}\n\ninterface StyledGalleryContainerProps {\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n isStackLayout?: boolean;\n}\n\ninterface StyledInlineImageGalleryContainerProps extends StyledGalleryContainerProps {\n imagePlacement: Extract<RsCoreTypes.HeroImagePlacement, 'left' | 'right'>;\n imageSize: ImageSize;\n}\n\nconst StyledGalleryContainer = styled.div<StyledGalleryContainerProps>(\n ({ view, isFullscreen, isStackLayout, theme }) => {\n return css`\n ${generateRSHeightStyles({ view, isFullscreen })}\n\n .grid-container {\n position: absolute;\n width: 100%;\n padding: 0.2rem;\n ${getBaseCardContainerStyles(theme)}\n ${isStackLayout &&\n css`\n grid-template-columns: 1fr;\n `}\n ${StyledSelectionCard} ${StyledHeader} {\n min-height: auto;\n }\n }\n `;\n }\n);\n\nStyledGalleryContainer.defaultProps = defaultThemeProp;\n\nconst StyledInlineImageGalleryContainer = styled(StyledGalleryContainer)<\n Pick<StyledInlineImageGalleryContainerProps, 'imageSize' | 'imagePlacement'>\n>(({ theme, imageSize, imagePlacement, isStackLayout }) => {\n return css`\n *:has(> .grid-container) {\n container-type: inline-size;\n }\n\n .grid-container {\n ${!isStackLayout &&\n getInlineImageCardContainerStyles(theme, {\n placement: GALLERY_IMAGE_PLACEMENT_MAP[imagePlacement],\n size: imageSize\n })}\n\n ${StyledSelectionCard} ${StyledHeader} {\n min-height: auto;\n }\n }\n `;\n});\n\nStyledInlineImageGalleryContainer.defaultProps = defaultThemeProp;\n\nconst GalleryContainer = forwardRef<HTMLDivElement, WithAttributes<'div', GalleryContainerProps>>(\n ({ image, tile, isStackLayout, ...props }, ref) => {\n const layoutSource = image ?? tile;\n if (layoutSource) {\n const { placement = DEFAULT_IMAGE_PLACEMENT, size = DEFAULT_IMAGE_SIZE } = layoutSource;\n if (isInlinePlacement(placement)) {\n return (\n <StyledInlineImageGalleryContainer\n ref={ref}\n isStackLayout={isStackLayout}\n imageSize={size}\n imagePlacement={placement}\n {...props}\n />\n );\n }\n }\n\n return <StyledGalleryContainer ref={ref} isStackLayout={isStackLayout} {...props} />;\n }\n);\n\nGalleryContainer.displayName = 'GalleryContainer';\n\nexport default GalleryContainer;\n\nconst StyledVirtualizeContainer = styled.div`\n ${generateRSDataContainerHeightStyles};\n position: relative;\n`;\n\nStyledVirtualizeContainer.defaultProps = defaultThemeProp;\nexport { StyledVirtualizeContainer };\n"]}
@@ -1,4 +1,4 @@
1
- import { type RsCoreTypes } from 'pega-repeating-structures-core';
1
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
2
  declare function Gallery({ view }: {
3
3
  view: RsCoreTypes.View;
4
4
  }): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAkB7E,iBAAS,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,2CA0GpD;kBA1GQ,OAAO;;;AA8GhB,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAmBlE,iBAAS,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAA;CAAE,2CAsGpD;kBAtGQ,OAAO;;;AA0GhB,eAAe,OAAO,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useRef } from 'react';
3
- import { FieldType } from 'pega-repeating-structures-core';
4
3
  import { useLiveLog, useFullscreenContext } from '@pega/cosmos-react-core';
5
4
  import { rowSelectColumnMeta } from 'pega-repeating-structures-core';
6
5
  import useTranslate from '../../Hooks/useTranslate';
@@ -11,6 +10,7 @@ import { EXTERNAL_FILTERS, SELECTION_MODES } from '../../constants';
11
10
  import RsCardWrapper from '../RsCardWrapper';
12
11
  import LoadingIndicator from '../../Components/LoadingIndicator';
13
12
  import WarningBanner from '../../Components/WarningBanner';
13
+ import { getCardColumns } from '../../Components/Card';
14
14
  import GalleryCard from './Components/GalleryCard';
15
15
  import GalleryCheckboxCard from './Components/GalleryCheckboxCard';
16
16
  import GalleryContainer, { StyledVirtualizeContainer } from './GalleryContainer';
@@ -38,16 +38,13 @@ function Gallery({ view }) {
38
38
  });
39
39
  const isCardList = layoutType === 'cardlist';
40
40
  const { columns = [], meta, rows } = view;
41
- const { galleryConfig: { heroImage, tile: tileConfig, header } = {}, selectionMode } = meta;
42
- const headerColumn = useMemo(() => (header?.field ? columns.find(col => col.field.id === header.field) : undefined), [header, columns]);
41
+ const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };
42
+ const { heroImage, tile: tileConfig, header, subHeadings } = cardConfig;
43
+ const { selectionMode } = meta;
44
+ const { visibleColumns, headerColumn, subHeadingsColumns } = useMemo(() => getCardColumns(columns, { header, subHeadings }), [columns, header, subHeadings]);
43
45
  const selectionColumn = useMemo(() => columns.find(col => col.field.id === rowSelectColumnMeta.field.id), [columns]);
44
- const visibleColumns = useMemo(() => {
45
- const cols = [...columns].filter(col => !col.hidden && col.field.type !== FieldType.ACTION_FIELD_TYPE);
46
- cols.sort((colA, colB) => (colA.order ?? 0) - (colB.order ?? 0));
47
- return cols;
48
- }, [columns]);
49
46
  return (_jsx(RsCardWrapper, { children: _jsxs(GalleryContainer, { "data-test-id": 'gallery', "data-testid": 'gallery', view: view, isFullscreen: isFullscreen, image: heroImage, isStackLayout: isCardList, tile: tileConfig, children: [_jsx(WarningBanner, { warningMessages: view.warningMessages }), _jsx(Toolbar, { view: view }), _jsx(RenderView, { view: view, type: EXTERNAL_FILTERS }), _jsxs(StyledVirtualizeContainer, { ref: containerRef, className: 'container', onFocusCapture: e => a11yRef.current?.onFocusHandler(e.nativeEvent), children: [_jsx(Virtualiser, { id: 'rootVirtualiser', rowContainerClass: 'grid-container', view: view, bufferMultiplier: 0.8, children: rows?.length
50
- ? rows.map(row => selectionMode === SELECTION_MODES.multi && selectionColumn ? (_jsx(GalleryCheckboxCard, { meta: meta, row: row, visibleColumns: visibleColumns, headerColumn: headerColumn, selectionColumn: selectionColumn }, row.reactKey)) : (_jsx(GalleryCard, { meta: meta, row: row, visibleColumns: visibleColumns, headerColumn: headerColumn }, row.reactKey)))
47
+ ? rows.map(row => selectionMode === SELECTION_MODES.multi && selectionColumn ? (_jsx(GalleryCheckboxCard, { meta: meta, row: row, visibleColumns: visibleColumns, headerColumn: headerColumn, selectionColumn: selectionColumn }, row.reactKey)) : (_jsx(GalleryCard, { meta: meta, row: row, visibleColumns: visibleColumns, headerColumn: headerColumn, subHeadingsColumns: subHeadingsColumns }, row.reactKey)))
51
48
  : [] }), _jsx(LoadingIndicator, { view: view, show: !rows || !!view.isLoading })] })] }) }));
52
49
  }
53
50
  Gallery.displayName = 'Gallery';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\n\nimport { FieldType, type RsCoreTypes } from 'pega-repeating-structures-core';\nimport { useLiveLog, useFullscreenContext } from '@pega/cosmos-react-core';\nimport { rowSelectColumnMeta } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\nimport Virtualiser from '../Table/VirtualizeWrapper';\nimport Toolbar from '../../Components/Toolbar';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS, SELECTION_MODES } from '../../constants';\nimport RsCardWrapper from '../RsCardWrapper';\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport WarningBanner from '../../Components/WarningBanner';\n\nimport GalleryCard from './Components/GalleryCard';\nimport GalleryCheckboxCard from './Components/GalleryCheckboxCard';\nimport GalleryContainer, { StyledVirtualizeContainer } from './GalleryContainer';\nimport GalleryA11y from './GalleryA11y';\n\nfunction Gallery({ view }: { view: RsCoreTypes.View }) {\n const layoutType = view.galleryLayout;\n const isFullscreen = !!useFullscreenContext()?.[0];\n const containerRef = useRef<HTMLDivElement>(null);\n const { announceAssertive, announcePolite } = useLiveLog();\n const [translate] = useTranslate();\n const a11yRef = useRef<GalleryA11y | null>(null);\n\n useEffect(() => {\n if (containerRef.current) {\n a11yRef.current = new GalleryA11y(\n {\n focusElementSelector: '[data-gallery-card]',\n belowLoader: '.below-loader'\n },\n [],\n containerRef.current,\n announceAssertive,\n announcePolite,\n translate\n );\n }\n return () => {\n a11yRef.current = null;\n };\n }, [announceAssertive, announcePolite, translate]);\n\n useEffect(() => {\n a11yRef.current?.itemsLoadedCallback();\n });\n const isCardList = layoutType === 'cardlist';\n\n const { columns = [], meta, rows } = view;\n const { galleryConfig: { heroImage, tile: tileConfig, header } = {}, selectionMode } = meta;\n\n const headerColumn = useMemo(\n () => (header?.field ? columns.find(col => col.field.id === header.field) : undefined),\n [header, columns]\n );\n\n const selectionColumn = useMemo(\n () => columns.find(col => col.field.id === rowSelectColumnMeta.field.id),\n [columns]\n );\n\n const visibleColumns = useMemo(() => {\n const cols = [...columns].filter(\n col => !col.hidden && col.field.type !== FieldType.ACTION_FIELD_TYPE\n );\n cols.sort((colA, colB) => (colA.order ?? 0) - (colB.order ?? 0));\n return cols;\n }, [columns]);\n\n return (\n <RsCardWrapper>\n <GalleryContainer\n data-test-id='gallery'\n data-testid='gallery'\n view={view}\n isFullscreen={isFullscreen}\n image={heroImage}\n isStackLayout={isCardList}\n tile={tileConfig}\n >\n <WarningBanner warningMessages={view.warningMessages} />\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <StyledVirtualizeContainer\n ref={containerRef}\n className='container'\n onFocusCapture={e => a11yRef.current?.onFocusHandler(e.nativeEvent)}\n >\n <Virtualiser\n id='rootVirtualiser'\n rowContainerClass='grid-container'\n view={view}\n bufferMultiplier={0.8}\n >\n {rows?.length\n ? rows.map(row =>\n selectionMode === SELECTION_MODES.multi && selectionColumn ? (\n <GalleryCheckboxCard\n key={row.reactKey}\n meta={meta}\n row={row}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n selectionColumn={selectionColumn}\n />\n ) : (\n <GalleryCard\n key={row.reactKey}\n meta={meta}\n row={row}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n />\n )\n )\n : []}\n </Virtualiser>\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n </StyledVirtualizeContainer>\n </GalleryContainer>\n </RsCardWrapper>\n );\n}\n\nGallery.displayName = 'Gallery';\n\nexport default Gallery;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Gallery/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\n\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\nimport { useLiveLog, useFullscreenContext } from '@pega/cosmos-react-core';\nimport { rowSelectColumnMeta } from 'pega-repeating-structures-core';\n\nimport useTranslate from '../../Hooks/useTranslate';\nimport Virtualiser from '../Table/VirtualizeWrapper';\nimport Toolbar from '../../Components/Toolbar';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS, SELECTION_MODES } from '../../constants';\nimport RsCardWrapper from '../RsCardWrapper';\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport WarningBanner from '../../Components/WarningBanner';\nimport { getCardColumns } from '../../Components/Card';\n\nimport GalleryCard from './Components/GalleryCard';\nimport GalleryCheckboxCard from './Components/GalleryCheckboxCard';\nimport GalleryContainer, { StyledVirtualizeContainer } from './GalleryContainer';\nimport GalleryA11y from './GalleryA11y';\n\nfunction Gallery({ view }: { view: RsCoreTypes.View }) {\n const layoutType = view.galleryLayout;\n const isFullscreen = !!useFullscreenContext()?.[0];\n const containerRef = useRef<HTMLDivElement>(null);\n const { announceAssertive, announcePolite } = useLiveLog();\n const [translate] = useTranslate();\n const a11yRef = useRef<GalleryA11y | null>(null);\n\n useEffect(() => {\n if (containerRef.current) {\n a11yRef.current = new GalleryA11y(\n {\n focusElementSelector: '[data-gallery-card]',\n belowLoader: '.below-loader'\n },\n [],\n containerRef.current,\n announceAssertive,\n announcePolite,\n translate\n );\n }\n return () => {\n a11yRef.current = null;\n };\n }, [announceAssertive, announcePolite, translate]);\n\n useEffect(() => {\n a11yRef.current?.itemsLoadedCallback();\n });\n const isCardList = layoutType === 'cardlist';\n\n const { columns = [], meta, rows } = view;\n const cardConfig = { ...meta.galleryConfig, ...meta.cardConfig };\n const { heroImage, tile: tileConfig, header, subHeadings } = cardConfig;\n const { selectionMode } = meta;\n\n const { visibleColumns, headerColumn, subHeadingsColumns } = useMemo(\n () => getCardColumns(columns, { header, subHeadings }),\n [columns, header, subHeadings]\n );\n\n const selectionColumn = useMemo(\n () => columns.find(col => col.field.id === rowSelectColumnMeta.field.id),\n [columns]\n );\n\n return (\n <RsCardWrapper>\n <GalleryContainer\n data-test-id='gallery'\n data-testid='gallery'\n view={view}\n isFullscreen={isFullscreen}\n image={heroImage}\n isStackLayout={isCardList}\n tile={tileConfig}\n >\n <WarningBanner warningMessages={view.warningMessages} />\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <StyledVirtualizeContainer\n ref={containerRef}\n className='container'\n onFocusCapture={e => a11yRef.current?.onFocusHandler(e.nativeEvent)}\n >\n <Virtualiser\n id='rootVirtualiser'\n rowContainerClass='grid-container'\n view={view}\n bufferMultiplier={0.8}\n >\n {rows?.length\n ? rows.map(row =>\n selectionMode === SELECTION_MODES.multi && selectionColumn ? (\n // TODO: Checkbox card doesn't support subHeadingsColumns yet\n <GalleryCheckboxCard\n key={row.reactKey}\n meta={meta}\n row={row}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n selectionColumn={selectionColumn}\n />\n ) : (\n <GalleryCard\n key={row.reactKey}\n meta={meta}\n row={row}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n subHeadingsColumns={subHeadingsColumns}\n />\n )\n )\n : []}\n </Virtualiser>\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n </StyledVirtualizeContainer>\n </GalleryContainer>\n </RsCardWrapper>\n );\n}\n\nGallery.displayName = 'Gallery';\n\nexport default Gallery;\n"]}
@@ -0,0 +1,16 @@
1
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ interface StyledKanbanContainerProps {
3
+ view: RsCoreTypes.View;
4
+ isFullscreen: boolean;
5
+ }
6
+ export declare const StyledKanbanContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledKanbanContainerProps>> & string;
7
+ export declare const StyledKanbanBoard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
8
+ export declare const StyledKanbanLane: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
9
+ export declare const StyledKanbanLaneHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
10
+ export declare const StyledKanbanCards: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
11
+ export declare const StyledEmptyKanbanCards: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>, "ref"> & {
12
+ ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
13
+ }, never>> & string;
14
+ export declare const StyledKanbanCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
15
+ export {};
16
+ //# sourceMappingURL=Kanban.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kanban.styles.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/Kanban.styles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,UAAU,0BAA0B;IAClC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,qBAAqB,+PAKjC,CAAC;AAIF,eAAO,MAAM,iBAAiB,6NAM7B,CAAC;AAIF,eAAO,MAAM,gBAAgB,uNAO5B,CAAC;AAIF,eAAO,MAAM,sBAAsB,uNASlC,CAAC;AAIF,eAAO,MAAM,iBAAiB,6NAM7B,CAAC;AAKF,eAAO,MAAM,sBAAsB;;mBAIlC,CAAC;AAIF,eAAO,MAAM,gBAAgB,6NAa5B,CAAC"}
@@ -0,0 +1,58 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { defaultThemeProp } from '@pega/cosmos-react-core';
3
+ import { StyledSelectionCard } from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';
4
+ import { generateRSHeightStyles } from '../../Utils/styles';
5
+ export const StyledKanbanContainer = styled.div(({ view, isFullscreen }) => css `
6
+ ${generateRSHeightStyles({ view, isFullscreen })}
7
+ min-inline-size: 0;
8
+ `);
9
+ StyledKanbanContainer.defaultProps = defaultThemeProp;
10
+ export const StyledKanbanBoard = styled.div(() => css `
11
+ flex: 1 1 auto;
12
+ min-block-size: 0;
13
+ overflow: auto;
14
+ `);
15
+ StyledKanbanBoard.defaultProps = defaultThemeProp;
16
+ export const StyledKanbanLane = styled.section(({ theme }) => css `
17
+ min-block-size: 0;
18
+ border-radius: ${theme.base['border-radius']};
19
+ background: ${theme.base.palette['secondary-background']};
20
+ overflow: hidden;
21
+ `);
22
+ StyledKanbanLane.defaultProps = defaultThemeProp;
23
+ export const StyledKanbanLaneHeader = styled.header(({ theme }) => css `
24
+ color: ${theme.base.palette['foreground-color']};
25
+ font-weight: ${theme.base['font-weight']['semi-bold']};
26
+
27
+ > :first-child {
28
+ min-inline-size: 0;
29
+ }
30
+ `);
31
+ StyledKanbanLaneHeader.defaultProps = defaultThemeProp;
32
+ export const StyledKanbanCards = styled.div `
33
+ position: relative;
34
+ flex: 1 1 auto;
35
+ min-block-size: 0;
36
+ display: flex;
37
+ overflow: auto;
38
+ `;
39
+ StyledKanbanCards.defaultProps = defaultThemeProp;
40
+ // Set minimum height of 5 rem for empty lane to avoid collapsing the lane when there are no cards.
41
+ export const StyledEmptyKanbanCards = styled(StyledKanbanCards)(({ theme }) => css `
42
+ min-block-size: calc(${theme.base.spacing} * 10);
43
+ `);
44
+ StyledEmptyKanbanCards.defaultProps = defaultThemeProp;
45
+ export const StyledKanbanCard = styled.div(({ theme }) => css `
46
+ box-sizing: border-box;
47
+ inline-size: 100%;
48
+ padding-inline: ${theme.base.spacing};
49
+ padding-block-end: ${theme.base.spacing};
50
+
51
+ ${StyledSelectionCard} {
52
+ inline-size: 100%;
53
+ max-inline-size: 100%;
54
+ min-inline-size: 0;
55
+ }
56
+ `);
57
+ StyledKanbanCard.defaultProps = defaultThemeProp;
58
+ //# sourceMappingURL=Kanban.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kanban.styles.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/Kanban.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2EAA2E,CAAC;AAGhH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAO5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAC7C,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;MAC3B,sBAAsB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;GAEjD,CACF,CAAC;AAEF,qBAAqB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CACzC,GAAG,EAAE,CAAC,GAAG,CAAA;;;;GAIR,CACF,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAC5C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;;qBAEC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;kBAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;;GAEzD,CACF,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CACjD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;aACP,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;mBAChC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;;;;;GAKtD,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;CAM1C,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElD,mGAAmG;AACnG,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAC7D,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;2BACO,KAAK,CAAC,IAAI,CAAC,OAAO;GAC1C,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CACxC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAA;;;sBAGE,KAAK,CAAC,IAAI,CAAC,OAAO;yBACf,KAAK,CAAC,IAAI,CAAC,OAAO;;MAErC,mBAAmB;;;;;GAKtB,CACF,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport { defaultThemeProp } from '@pega/cosmos-react-core';\nimport { StyledSelectionCard } from '@pega/cosmos-react-core/lib/components/SelectionCard/SelectionCard.styles';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport { generateRSHeightStyles } from '../../Utils/styles';\n\ninterface StyledKanbanContainerProps {\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n}\n\nexport const StyledKanbanContainer = styled.div<StyledKanbanContainerProps>(\n ({ view, isFullscreen }) => css`\n ${generateRSHeightStyles({ view, isFullscreen })}\n min-inline-size: 0;\n `\n);\n\nStyledKanbanContainer.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanBoard = styled.div(\n () => css`\n flex: 1 1 auto;\n min-block-size: 0;\n overflow: auto;\n `\n);\n\nStyledKanbanBoard.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanLane = styled.section(\n ({ theme }) => css`\n min-block-size: 0;\n border-radius: ${theme.base['border-radius']};\n background: ${theme.base.palette['secondary-background']};\n overflow: hidden;\n `\n);\n\nStyledKanbanLane.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanLaneHeader = styled.header(\n ({ theme }) => css`\n color: ${theme.base.palette['foreground-color']};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n\n > :first-child {\n min-inline-size: 0;\n }\n `\n);\n\nStyledKanbanLaneHeader.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanCards = styled.div`\n position: relative;\n flex: 1 1 auto;\n min-block-size: 0;\n display: flex;\n overflow: auto;\n`;\n\nStyledKanbanCards.defaultProps = defaultThemeProp;\n\n// Set minimum height of 5 rem for empty lane to avoid collapsing the lane when there are no cards.\nexport const StyledEmptyKanbanCards = styled(StyledKanbanCards)(\n ({ theme }) => css`\n min-block-size: calc(${theme.base.spacing} * 10);\n `\n);\n\nStyledEmptyKanbanCards.defaultProps = defaultThemeProp;\n\nexport const StyledKanbanCard = styled.div(\n ({ theme }) => css`\n box-sizing: border-box;\n inline-size: 100%;\n padding-inline: ${theme.base.spacing};\n padding-block-end: ${theme.base.spacing};\n\n ${StyledSelectionCard} {\n inline-size: 100%;\n max-inline-size: 100%;\n min-inline-size: 0;\n }\n `\n);\n\nStyledKanbanCard.defaultProps = defaultThemeProp;\n"]}
@@ -0,0 +1,10 @@
1
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
2
+ export interface KanbanCardProps {
3
+ row: RsCoreTypes.Row;
4
+ meta: RsCoreTypes.Meta;
5
+ visibleColumns: RsCoreTypes.Column[];
6
+ headerColumn?: RsCoreTypes.Column;
7
+ subHeadingsColumns?: RsCoreTypes.Column[];
8
+ dataIndex?: number;
9
+ }
10
+ //# sourceMappingURL=Kanban.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kanban.types.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/Kanban.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAClC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Kanban.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kanban.types.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/Kanban.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nexport interface KanbanCardProps {\n row: RsCoreTypes.Row;\n meta: RsCoreTypes.Meta;\n visibleColumns: RsCoreTypes.Column[];\n headerColumn?: RsCoreTypes.Column;\n subHeadingsColumns?: RsCoreTypes.Column[];\n dataIndex?: number;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { KanbanCardProps } from './Kanban.types';
2
+ declare const _default: import("react").MemoExoticComponent<{
3
+ ({ headerColumn, subHeadingsColumns, row, meta, visibleColumns, dataIndex }: KanbanCardProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ }>;
6
+ export default _default;
7
+ //# sourceMappingURL=KanbanCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanCard.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Kanban/KanbanCard.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;;iFASnD,eAAe;;;AAyClB,wBAAgC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { memo, useCallback } from 'react';
3
+ import { SelectionCardDisplay } from '@pega/cosmos-react-core';
4
+ import { getCardData, getCardUIProps } from '../../Components/Card';
5
+ import useTranslate from '../../Hooks/useTranslate';
6
+ import fetchRowActions from '../../Utils/fetchRowActions';
7
+ import { StyledKanbanCard } from './Kanban.styles';
8
+ const KanbanCard = ({ headerColumn, subHeadingsColumns, row, meta, visibleColumns, dataIndex }) => {
9
+ const { label, subheading, image, footer, fields, 'aria-label': ariaLabel } = getCardData({
10
+ row,
11
+ visibleColumns,
12
+ cardConfig: meta.cardConfig,
13
+ headerColumn,
14
+ subHeadingsColumns
15
+ });
16
+ const uiProps = getCardUIProps({ row });
17
+ const [translate] = useTranslate();
18
+ const fetchActions = useCallback(() => fetchRowActions({ getExecutionContext: row.getContext, meta, translate }), [meta, row, translate]);
19
+ return (_jsx(StyledKanbanCard, { "data-key": uiProps['data-key'], "data-index": dataIndex, children: _jsx(SelectionCardDisplay, { "aria-label": ariaLabel, label: label, subheading: subheading, headingTag: 'h3', image: image, fields: fields, actions: meta.editing || meta.deleting ? fetchActions : undefined, footer: footer, draggable: false }) }));
20
+ };
21
+ KanbanCard.displayName = 'KanbanCard';
22
+ export default memo(KanbanCard);
23
+ //# sourceMappingURL=KanbanCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanCard.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/KanbanCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,UAAU,GAAG,CAAC,EAClB,YAAY,EACZ,kBAAkB,EAClB,GAAG,EACH,IAAI,EACJ,cAAc,EACd,SAAS,EACO,EAAE,EAAE;IACpB,MAAM,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,YAAY,EAAE,SAAS,EACxB,GAAG,WAAW,CAAC;QACd,GAAG;QACH,cAAc;QACd,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY;QACZ,kBAAkB;KACnB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,WAAW,CAC9B,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/E,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CACvB,CAAC;IAEF,OAAO,CACL,KAAC,gBAAgB,gBAAW,OAAO,CAAC,UAAU,CAAC,gBAAc,SAAS,YACpE,KAAC,oBAAoB,kBACP,SAAS,EACrB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,UAAU,EAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACjE,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,KAAK,GAChB,GACe,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,eAAe,IAAI,CAAC,UAAU,CAAC,CAAC","sourcesContent":["import { memo, useCallback } from 'react';\n\nimport { SelectionCardDisplay } from '@pega/cosmos-react-core';\n\nimport { getCardData, getCardUIProps } from '../../Components/Card';\nimport useTranslate from '../../Hooks/useTranslate';\nimport fetchRowActions from '../../Utils/fetchRowActions';\n\nimport { StyledKanbanCard } from './Kanban.styles';\nimport type { KanbanCardProps } from './Kanban.types';\n\nconst KanbanCard = ({\n headerColumn,\n subHeadingsColumns,\n row,\n meta,\n visibleColumns,\n dataIndex\n}: KanbanCardProps) => {\n const {\n label,\n subheading,\n image,\n footer,\n fields,\n 'aria-label': ariaLabel\n } = getCardData({\n row,\n visibleColumns,\n cardConfig: meta.cardConfig,\n headerColumn,\n subHeadingsColumns\n });\n const uiProps = getCardUIProps({ row });\n const [translate] = useTranslate();\n const fetchActions = useCallback(\n () => fetchRowActions({ getExecutionContext: row.getContext, meta, translate }),\n [meta, row, translate]\n );\n\n return (\n <StyledKanbanCard data-key={uiProps['data-key']} data-index={dataIndex}>\n <SelectionCardDisplay\n aria-label={ariaLabel}\n label={label}\n subheading={subheading}\n headingTag='h3'\n image={image}\n fields={fields}\n actions={meta.editing || meta.deleting ? fetchActions : undefined}\n footer={footer}\n draggable={false}\n />\n </StyledKanbanCard>\n );\n};\n\nKanbanCard.displayName = 'KanbanCard';\n\nexport default memo(KanbanCard);\n"]}
@@ -0,0 +1,23 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { RsCoreTypes } from 'pega-repeating-structures-core';
3
+ interface KanbanLaneProps {
4
+ lane: RsCoreTypes.GroupGenerator;
5
+ laneColumn?: RsCoreTypes.Column;
6
+ meta: RsCoreTypes.Meta;
7
+ visibleColumns: RsCoreTypes.Column[];
8
+ headerColumn?: RsCoreTypes.Column;
9
+ subHeadingsColumns?: RsCoreTypes.Column[];
10
+ emptyState: ReactNode;
11
+ /** Stable identifier for the lane, used to scope the card virtualizer instance. */
12
+ laneId: string;
13
+ }
14
+ interface EmptyKanbanLaneProps {
15
+ emptyState: ReactNode;
16
+ }
17
+ declare function KanbanLane({ lane, laneColumn, meta, visibleColumns, headerColumn, subHeadingsColumns, emptyState, laneId }: KanbanLaneProps): import("react/jsx-runtime").JSX.Element;
18
+ declare namespace KanbanLane {
19
+ var displayName: string;
20
+ }
21
+ export declare const EmptyKanbanLane: ({ emptyState }: EmptyKanbanLaneProps) => import("react/jsx-runtime").JSX.Element;
22
+ export default KanbanLane;
23
+ //# sourceMappingURL=KanbanLane.d.ts.map