@pega/lists-react 10.0.0-build.4.15 → 10.0.0-build.4.16

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 (68) hide show
  1. package/lib/Core/Components/Card/CardHeader.d.ts +2 -1
  2. package/lib/Core/Components/Card/CardHeader.d.ts.map +1 -1
  3. package/lib/Core/Components/Card/CardHeader.js +2 -1
  4. package/lib/Core/Components/Card/CardHeader.js.map +1 -1
  5. package/lib/Core/Components/Card/CardSubHeading.d.ts +10 -0
  6. package/lib/Core/Components/Card/CardSubHeading.d.ts.map +1 -0
  7. package/lib/Core/Components/Card/CardSubHeading.js +9 -0
  8. package/lib/Core/Components/Card/CardSubHeading.js.map +1 -0
  9. package/lib/Core/Components/Card/cardData.d.ts +11 -1
  10. package/lib/Core/Components/Card/cardData.d.ts.map +1 -1
  11. package/lib/Core/Components/Card/cardData.js +21 -3
  12. package/lib/Core/Components/Card/cardData.js.map +1 -1
  13. package/lib/Core/Components/Card/index.d.ts +1 -1
  14. package/lib/Core/Components/Card/index.d.ts.map +1 -1
  15. package/lib/Core/Components/Card/index.js +1 -1
  16. package/lib/Core/Components/Card/index.js.map +1 -1
  17. package/lib/Core/Components/Toolbar/AdvanceToolbar.d.ts.map +1 -1
  18. package/lib/Core/Components/Toolbar/AdvanceToolbar.js +5 -2
  19. package/lib/Core/Components/Toolbar/AdvanceToolbar.js.map +1 -1
  20. package/lib/Core/Components/Toolbar/RefreshBanner.d.ts +5 -1
  21. package/lib/Core/Components/Toolbar/RefreshBanner.d.ts.map +1 -1
  22. package/lib/Core/Components/Toolbar/RefreshBanner.js +22 -6
  23. package/lib/Core/Components/Toolbar/RefreshBanner.js.map +1 -1
  24. package/lib/Core/Components/Toolbar/SimpleToolbar.d.ts.map +1 -1
  25. package/lib/Core/Components/Toolbar/SimpleToolbar.js +2 -2
  26. package/lib/Core/Components/Toolbar/SimpleToolbar.js.map +1 -1
  27. package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts +1 -1
  28. package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts.map +1 -1
  29. package/lib/Core/Views/Gallery/Components/GalleryCard.js +5 -4
  30. package/lib/Core/Views/Gallery/Components/GalleryCard.js.map +1 -1
  31. package/lib/Core/Views/Gallery/Gallery.types.d.ts +1 -0
  32. package/lib/Core/Views/Gallery/Gallery.types.d.ts.map +1 -1
  33. package/lib/Core/Views/Gallery/Gallery.types.js.map +1 -1
  34. package/lib/Core/Views/Gallery/index.d.ts +1 -1
  35. package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
  36. package/lib/Core/Views/Gallery/index.js +4 -9
  37. package/lib/Core/Views/Gallery/index.js.map +1 -1
  38. package/lib/Core/Views/Kanban/Kanban.styles.d.ts.map +1 -1
  39. package/lib/Core/Views/Kanban/Kanban.styles.js +18 -12
  40. package/lib/Core/Views/Kanban/Kanban.styles.js.map +1 -1
  41. package/lib/Core/Views/Kanban/Kanban.types.d.ts +2 -0
  42. package/lib/Core/Views/Kanban/Kanban.types.d.ts.map +1 -1
  43. package/lib/Core/Views/Kanban/Kanban.types.js.map +1 -1
  44. package/lib/Core/Views/Kanban/KanbanCard.d.ts +5 -2
  45. package/lib/Core/Views/Kanban/KanbanCard.d.ts.map +1 -1
  46. package/lib/Core/Views/Kanban/KanbanCard.js +7 -6
  47. package/lib/Core/Views/Kanban/KanbanCard.js.map +1 -1
  48. package/lib/Core/Views/Kanban/KanbanLane.d.ts +4 -1
  49. package/lib/Core/Views/Kanban/KanbanLane.d.ts.map +1 -1
  50. package/lib/Core/Views/Kanban/KanbanLane.js +3 -5
  51. package/lib/Core/Views/Kanban/KanbanLane.js.map +1 -1
  52. package/lib/Core/Views/Kanban/KanbanLaneHeader.d.ts +2 -1
  53. package/lib/Core/Views/Kanban/KanbanLaneHeader.d.ts.map +1 -1
  54. package/lib/Core/Views/Kanban/KanbanLaneHeader.js +2 -1
  55. package/lib/Core/Views/Kanban/KanbanLaneHeader.js.map +1 -1
  56. package/lib/Core/Views/Kanban/KanbanLaneVirtualizer.d.ts +20 -0
  57. package/lib/Core/Views/Kanban/KanbanLaneVirtualizer.d.ts.map +1 -0
  58. package/lib/Core/Views/Kanban/KanbanLaneVirtualizer.js +37 -0
  59. package/lib/Core/Views/Kanban/KanbanLaneVirtualizer.js.map +1 -0
  60. package/lib/Core/Views/Kanban/hooks/useKanbanLanesVirtualization.d.ts +19 -0
  61. package/lib/Core/Views/Kanban/hooks/useKanbanLanesVirtualization.d.ts.map +1 -0
  62. package/lib/Core/Views/Kanban/hooks/useKanbanLanesVirtualization.js +32 -0
  63. package/lib/Core/Views/Kanban/hooks/useKanbanLanesVirtualization.js.map +1 -0
  64. package/lib/Core/Views/Kanban/index.d.ts.map +1 -1
  65. package/lib/Core/Views/Kanban/index.js +12 -12
  66. package/lib/Core/Views/Kanban/index.js.map +1 -1
  67. package/lib/Core/Views/Timeline/Timeline.styles.d.ts +2 -2
  68. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,IAAI,EACJ,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAoB,MAAM,gCAAgC,CAAC;AAE1F,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,UAAU,MAAM,6CAA6C,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,UAAU,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,SAAS,SAAS,CAChB,UAA0C,EAC1C,KAAyC;IAEzC,OAAO,GAAG,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED,SAAS,MAAM,CAAC,EAAE,IAAI,EAA8B;IAClD,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAC7D,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IACjF,MAAM,YAAY,GAAG,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,CAAC;IAEnC,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrF,CAAC,OAAO,EAAE,SAAS,CAAC,CACrB,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAEzD,yGAAyG;IACzG,MAAM,WAAW,GACf,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,EAAE,OAAO,KAAK,EAAE,IAAI,gBAAgB,CAAC,KAAK,KAAK,CAAC,CAAC;IAChG,MAAM,qBAAqB,GAAG,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC;IAEzD,4HAA4H;IAC5H,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,aAAa,GAAG,CAAC,CAAC,gBAAgB,EAAE,OAAO,IAAI,gBAAgB,CAAC,OAAO,KAAK,YAAY,CAAC;IAC/F,MAAM,KAAK,GAAG,oBAAoB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,4BAA4B;IAC5B,MAAM,sBAAsB,GAAG,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,eAAe,CAClC,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,EAC/C,IAAI,CAAC,eAAe,CACrB;QACC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/B,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5B,MAAM,mBAAmB,GAAG,CAAC,sBAAsB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,CACjB,KAAC,cAAc,IACb,OAAO,EAAE,YAAY,EACrB,cAAc,EAAE,mBAAmB,EACnC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,EACpC,WAAW,SACX,CACH,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,CAAC,GAAG,OAAO,CAAC;aAChB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,iBAAiB,CAAC;aAC5E,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC;QACvD,OAAO,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE9C,OAAO,CACL,KAAC,aAAa,cACZ,MAAC,qBAAqB,mBAAa,QAAQ,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,aAChF,KAAC,aAAa,IAAC,eAAe,EAAE,IAAI,CAAC,eAAe,GAAI,EACxD,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,GAAI,EACvB,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,GAAI,EAClD,MAAC,IAAI,IACH,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAC,MAAM,gBACC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EACnC,SAAS,EAAE;wBACT,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAE,cAAc,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,eAAe;wBACrE,GAAG,EAAE,GAAG;wBACR,GAAG,EAAE,GAAG;qBACT,aAEA,CAAC,qBAAqB;4BACrB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAChB,KAAC,UAAU,IAET,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,IANjB,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAOrC,CACH,CAAC,EACH,qBAAqB,IAAI,KAAC,eAAe,IAAC,UAAU,EAAE,UAAU,GAAI,EACrE,KAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,GAAI,IAC5D,IACe,GACV,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,eAAe,MAAM,CAAC","sourcesContent":["import { useMemo } from 'react';\n\nimport {\n usePrevious,\n useFullscreenContext,\n useTheme,\n Grid,\n isInstance\n} from '@pega/cosmos-react-core';\nimport { FieldType, getGroupKey, type RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport Toolbar from '../../Components/Toolbar';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS } from '../../constants';\nimport EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';\nimport RsCardWrapper from '../RsCardWrapper';\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport WarningBanner from '../../Components/WarningBanner';\nimport useTranslate from '../../Hooks/useTranslate';\nimport { isFilterApplied } from '../../Utils';\n\nimport KanbanLane, { EmptyKanbanLane } from './KanbanLane';\nimport { StyledKanbanBoard, StyledKanbanContainer } from './Kanban.styles';\n\nfunction getLaneId(\n laneColumn: RsCoreTypes.Column | undefined,\n value: RsCoreTypes.GroupGenerator['name']\n): string {\n return `${laneColumn?.field.id ?? ''}:${isInstance(value, Date) ? value.toISOString() : String(value)}`;\n}\n\nfunction Kanban({ view }: { view: RsCoreTypes.View }) {\n const { columns = [], groupHeaders = [], meta, rows } = view;\n const { filterExpression, searchText, externalState, groups } = view.state ?? {};\n const isFullscreen = !!useFullscreenContext()?.[0];\n const theme = useTheme();\n const [translate] = useTranslate();\n\n // Lane configuration\n const firstGroupHeader = groupHeaders[0];\n const laneGroup = groups?.[0];\n const laneColumn = useMemo(\n () => columns.find(column => String(column.field.id) === String(laneGroup?.columnId)),\n [columns, laneGroup]\n );\n const hasLaneConfiguration = !!(laneColumn && laneGroup);\n\n // RsCore returns empty groupHeader with groupBy = '' and count = 0 when there are no records to display.\n const isEmptyLane =\n groupHeaders.length === 1 && firstGroupHeader?.groupBy === '' && firstGroupHeader.count === 0;\n const shouldRenderEmptyLane = !!laneGroup && isEmptyLane;\n\n // With instantRender from RSCore, state can contain the new groupBy while groupHeaders still reflect the previous grouping.\n const laneGroupKey = laneGroup ? getGroupKey(laneGroup) : undefined;\n const hasStaleLanes = !!firstGroupHeader?.groupBy && firstGroupHeader.groupBy !== laneGroupKey;\n const lanes = hasLaneConfiguration && !hasStaleLanes ? groupHeaders : [];\n\n // Empty state configuration\n const previousTotalItemCount = usePrevious(view.totalItemCount);\n const emptyMessage = isFilterApplied(\n { filterExpression, searchText, externalState },\n meta.externalFilters\n )\n ? translate('No records found')\n : translate('No records');\n const shouldAnnounceEmpty = (previousTotalItemCount ?? 0) > 0 && view.totalItemCount === 0;\n const emptyState = (\n <EmptyContainer\n message={emptyMessage}\n shouldAnnounce={shouldAnnounceEmpty}\n domContainer={view.getDomContainer()}\n transparent\n />\n );\n\n const visibleColumns = useMemo(() => {\n return [...columns]\n .filter(col => !col.hidden && col.field.type !== FieldType.ACTION_FIELD_TYPE)\n .sort((colA, colB) => (colA.order ?? 0) - (colB.order ?? 0));\n }, [columns]);\n\n const headerColumn = useMemo(() => {\n const cardHeaderField = meta.cardConfig?.header?.field;\n return cardHeaderField ? columns.find(col => col.field.id === cardHeaderField) : undefined;\n }, [meta.cardConfig?.header?.field, columns]);\n\n return (\n <RsCardWrapper>\n <StyledKanbanContainer data-testid='kanban' view={view} isFullscreen={isFullscreen}>\n <WarningBanner warningMessages={view.warningMessages} />\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <Grid\n as={StyledKanbanBoard}\n role='list'\n aria-label={meta.title ?? meta.name}\n container={{\n autoFlow: 'column',\n autoCols: `minmax(min(${theme.base['content-width'].sm}, 100%), 1fr)`,\n gap: 1.5,\n pad: 0.5\n }}\n >\n {!shouldRenderEmptyLane &&\n lanes.map(lane => (\n <KanbanLane\n key={getLaneId(laneColumn, lane.name)}\n lane={lane}\n laneColumn={laneColumn}\n meta={meta}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n emptyState={emptyState}\n />\n ))}\n {shouldRenderEmptyLane && <EmptyKanbanLane emptyState={emptyState} />}\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n </Grid>\n </StyledKanbanContainer>\n </RsCardWrapper>\n );\n}\n\nKanban.displayName = 'Kanban';\n\nexport default Kanban;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Kanban/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\n\nimport {\n usePrevious,\n useFullscreenContext,\n useTheme,\n Grid,\n isInstance\n} from '@pega/cosmos-react-core';\nimport { getGroupKey, type RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport Toolbar from '../../Components/Toolbar';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS } from '../../constants';\nimport EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';\nimport RsCardWrapper from '../RsCardWrapper';\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport WarningBanner from '../../Components/WarningBanner';\nimport useTranslate from '../../Hooks/useTranslate';\nimport { isFilterApplied } from '../../Utils';\nimport { getCardColumns } from '../../Components/Card';\n\nimport KanbanLane, { EmptyKanbanLane } from './KanbanLane';\nimport { StyledKanbanBoard, StyledKanbanContainer } from './Kanban.styles';\nimport useKanbanLanesVirtualization from './hooks/useKanbanLanesVirtualization';\n\nfunction getLaneId(\n laneColumn: RsCoreTypes.Column | undefined,\n value: RsCoreTypes.GroupGenerator['name']\n): string {\n return `${laneColumn?.field.id ?? ''}:${isInstance(value, Date) ? value.toISOString() : String(value)}`;\n}\n\nfunction Kanban({ view }: { view: RsCoreTypes.View }) {\n const { columns = [], groupHeaders = [], meta, rows } = view;\n const { filterExpression, searchText, externalState, groups } = view.state ?? {};\n const isFullscreen = !!useFullscreenContext()?.[0];\n const theme = useTheme();\n const [translate] = useTranslate();\n\n // Lane configuration\n const firstGroupHeader = groupHeaders[0];\n const laneGroup = groups?.[0];\n const laneColumn = useMemo(\n () => columns.find(column => String(column.field.id) === String(laneGroup?.columnId)),\n [columns, laneGroup]\n );\n const hasLaneConfiguration = !!(laneColumn && laneGroup);\n\n // RsCore returns empty groupHeader with groupBy = '' and count = 0 when there are no records to display.\n const isEmptyLane =\n groupHeaders.length === 1 && firstGroupHeader?.groupBy === '' && firstGroupHeader.count === 0;\n const shouldRenderEmptyLane = !!laneGroup && isEmptyLane;\n\n // With instantRender from RSCore, state can contain the new groupBy while groupHeaders still reflect the previous grouping.\n const laneGroupKey = laneGroup ? getGroupKey(laneGroup) : undefined;\n const hasStaleLanes = !!firstGroupHeader?.groupBy && firstGroupHeader.groupBy !== laneGroupKey;\n const lanes = hasLaneConfiguration && !hasStaleLanes ? groupHeaders : [];\n const laneSourceKey = laneGroup ? `${laneGroupKey}:${laneGroup.order}` : undefined;\n\n // Lanes virtualization\n const { boardRef, visibleLanes } = useKanbanLanesVirtualization({\n groupKey: laneSourceKey,\n lanes\n });\n\n // Empty state configuration\n const previousTotalItemCount = usePrevious(view.totalItemCount);\n const emptyMessage = isFilterApplied(\n { filterExpression, searchText, externalState },\n meta.externalFilters\n )\n ? translate('No records found')\n : translate('No records');\n const shouldAnnounceEmpty = (previousTotalItemCount ?? 0) > 0 && view.totalItemCount === 0;\n const emptyState = (\n <EmptyContainer\n message={emptyMessage}\n shouldAnnounce={shouldAnnounceEmpty}\n domContainer={view.getDomContainer()}\n transparent\n />\n );\n\n const { visibleColumns, headerColumn, subHeadingsColumns } = useMemo(\n () => getCardColumns(columns, meta.cardConfig ?? {}),\n [columns, meta.cardConfig]\n );\n\n return (\n <RsCardWrapper>\n <StyledKanbanContainer data-testid='kanban' view={view} isFullscreen={isFullscreen}>\n <WarningBanner warningMessages={view.warningMessages} />\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n <Grid\n as={StyledKanbanBoard}\n ref={boardRef}\n role='list'\n aria-label={meta.title ?? meta.name}\n container={{\n autoFlow: 'column',\n autoCols: `minmax(min(${theme.base['content-width'].sm}, 100%), 1fr)`,\n gap: 1.5,\n pad: 0.5\n }}\n >\n {!shouldRenderEmptyLane &&\n visibleLanes.map(lane => (\n <KanbanLane\n key={getLaneId(laneColumn, lane.name)}\n laneId={getLaneId(laneColumn, lane.name)}\n lane={lane}\n laneColumn={laneColumn}\n meta={meta}\n visibleColumns={visibleColumns}\n headerColumn={headerColumn}\n subHeadingsColumns={subHeadingsColumns}\n emptyState={emptyState}\n />\n ))}\n {shouldRenderEmptyLane && <EmptyKanbanLane emptyState={emptyState} />}\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n </Grid>\n </StyledKanbanContainer>\n </RsCardWrapper>\n );\n}\n\nKanban.displayName = 'Kanban';\n\nexport default Kanban;\n"]}
@@ -380,8 +380,8 @@ export declare const StyledGroupContentList: import("styled-components/dist/type
380
380
  export declare const StyledTimelineListItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, never>> & string;
381
381
  export declare const StyledTimelineEndMarker: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, never>> & string;
382
382
  export declare const StyledTimeline: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, never>> & string;
383
- export declare const StyledTime: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<import("@pega/cosmos-react-core").DateTimeDisplayProps, "ref"> & import("react").RefAttributes<HTMLSpanElement> & import("@pega/cosmos-react-core").ForwardProps, "ref"> & {
384
- ref?: ((instance: HTMLSpanElement | 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<HTMLSpanElement> | null | undefined;
383
+ export declare const StyledTime: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<import("@pega/cosmos-react-core").DateTimeDisplayProps, "ref"> & import("react").RefAttributes<HTMLTimeElement> & import("@pega/cosmos-react-core").ForwardProps, "ref"> & {
384
+ ref?: ((instance: HTMLTimeElement | 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<HTMLTimeElement> | null | undefined;
385
385
  }, never>> & string & Omit<import("@pega/cosmos-react-core").ForwardRefForwardPropsComponent<import("@pega/cosmos-react-core").DateTimeDisplayProps>, keyof import("react").Component<any, {}, any>>;
386
386
  export declare const StyledLoadingCell: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
387
387
  export declare const timelineItemsGridProps: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/lists-react",
3
- "version": "10.0.0-build.4.15",
3
+ "version": "10.0.0-build.4.16",
4
4
  "description": "Repeating view structures such as Table, Gallery(Repeating layouts), Kanban etc.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Pegasystems",
@@ -14,17 +14,17 @@
14
14
  "build": "tsc -b tsconfig.build.json"
15
15
  },
16
16
  "dependencies": {
17
- "@pega/cosmos-react-condition-builder": "10.0.0-build.4.15",
18
- "@pega/cosmos-react-core": "10.0.0-build.4.15",
19
- "@pega/cosmos-react-rte": "10.0.0-build.4.15",
17
+ "@pega/cosmos-react-condition-builder": "10.0.0-build.4.16",
18
+ "@pega/cosmos-react-core": "10.0.0-build.4.16",
19
+ "@pega/cosmos-react-rte": "10.0.0-build.4.16",
20
20
  "@types/lodash-es": "^4.17.12",
21
21
  "@types/react": "^17.0.62 || ^18.3.3",
22
22
  "@types/react-dom": "^17.0.20 || ^18.3.0",
23
23
  "dayjs": "^1.11.13",
24
24
  "fast-deep-equal": "^3.1.3",
25
25
  "lodash-es": "^4.18.1",
26
- "pega-repeating-structures-core": "npm:@pega/lists-core@10.0.0-build.4.15",
27
- "pega-ui-list-data-apis": "npm:@pega/lists-core-utils@10.0.0-build.4.15",
26
+ "pega-repeating-structures-core": "npm:@pega/lists-core@10.0.0-build.4.16",
27
+ "pega-ui-list-data-apis": "npm:@pega/lists-core-utils@10.0.0-build.4.16",
28
28
  "polished": "^4.1.0",
29
29
  "prop-types": "^15.8.1",
30
30
  "react": "^17.0.0 || ^18.0.0",
@@ -42,7 +42,7 @@
42
42
  "@testing-library/react": "^16.0.0",
43
43
  "@testing-library/user-event": "^14.6.1",
44
44
  "jest-axe": "^8.0.0",
45
- "srs-utils": "10.0.0-build.4.15",
45
+ "srs-utils": "10.0.0-build.4.16",
46
46
  "typescript": "~6.0.3"
47
47
  }
48
48
  }