@pega/lists-react 9.0.0-build.2.9 → 9.0.0-build.20.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.
- package/README.md +1 -4
- package/lib/Core/Components/A11y/RepeatingStructureA11y.d.ts +10 -5
- package/lib/Core/Components/A11y/RepeatingStructureA11y.d.ts.map +1 -1
- package/lib/Core/Components/A11y/RepeatingStructureA11y.js +27 -2
- package/lib/Core/Components/A11y/RepeatingStructureA11y.js.map +1 -1
- package/lib/Core/Components/AggregateMenu.d.ts +1 -0
- package/lib/Core/Components/AggregateMenu.d.ts.map +1 -1
- package/lib/Core/Components/AggregateMenu.js +32 -18
- package/lib/Core/Components/AggregateMenu.js.map +1 -1
- package/lib/Core/Components/ContextMenu/ContextMenuContainer.d.ts +6 -15
- package/lib/Core/Components/ContextMenu/ContextMenuContainer.d.ts.map +1 -1
- package/lib/Core/Components/ContextMenu/ContextMenuContainer.js +91 -163
- package/lib/Core/Components/ContextMenu/ContextMenuContainer.js.map +1 -1
- package/lib/Core/Components/ContextMenu/QuickFilter.js +7 -7
- package/lib/Core/Components/ContextMenu/QuickFilter.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/CustomCellWrapper.d.ts +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/ColumnMergeTemplates/CustomCellWrapper.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.d.ts +2 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.js +9 -21
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowActionMenu.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowDragDropHandle.d.ts +2 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowDragDropHandle.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowDragDropHandle.js +4 -3
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowDragDropHandle.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowError.d.ts +2 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowError.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowError.js +4 -3
- package/lib/Core/Components/DefaultComponents/CellRenderers/RowError.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/index.d.ts +0 -2
- package/lib/Core/Components/DefaultComponents/CellRenderers/index.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/index.js +0 -2
- package/lib/Core/Components/DefaultComponents/CellRenderers/index.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts +5 -1
- package/lib/Core/Components/DefaultComponents/EmptyContainer.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/EmptyContainer.js +12 -5
- package/lib/Core/Components/DefaultComponents/EmptyContainer.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.d.ts +3 -2
- package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js +13 -26
- package/lib/Core/Components/DefaultComponents/PersonalizationCreateEdit.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.js +2 -2
- package/lib/Core/Components/DefaultComponents/PersonalizationDeleteConfirmation.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/PersonalizationSelector.d.ts +0 -2
- package/lib/Core/Components/DefaultComponents/PersonalizationSelector.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/PersonalizationSelector.js +11 -9
- package/lib/Core/Components/DefaultComponents/PersonalizationSelector.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.js +5 -0
- package/lib/Core/Components/DefaultComponents/SelectAllCheckbox.js.map +1 -1
- package/lib/Core/Components/DefaultComponents/index.d.ts +5 -3
- package/lib/Core/Components/DefaultComponents/index.d.ts.map +1 -1
- package/lib/Core/Components/DefaultComponents/index.js +0 -2
- package/lib/Core/Components/DefaultComponents/index.js.map +1 -1
- package/lib/Core/Components/Filters/CommonFilter.d.ts.map +1 -1
- package/lib/Core/Components/Filters/CommonFilter.js +2 -2
- package/lib/Core/Components/Filters/CommonFilter.js.map +1 -1
- package/lib/Core/Components/Filters/FilterType.js +5 -5
- package/lib/Core/Components/Filters/FilterType.js.map +1 -1
- package/lib/Core/Components/Filters/SelectFilter.d.ts.map +1 -1
- package/lib/Core/Components/Filters/SelectFilter.js +2 -2
- package/lib/Core/Components/Filters/SelectFilter.js.map +1 -1
- package/lib/Core/Components/Filters/styles.d.ts +1 -1
- package/lib/Core/Components/FooterAggregators.d.ts.map +1 -1
- package/lib/Core/Components/FooterAggregators.js +3 -2
- package/lib/Core/Components/FooterAggregators.js.map +1 -1
- package/lib/Core/Components/GroupRenderer/GroupAdditionalFieldDataModal.d.ts +12 -0
- package/lib/Core/Components/GroupRenderer/GroupAdditionalFieldDataModal.d.ts.map +1 -0
- package/lib/Core/Components/GroupRenderer/GroupAdditionalFieldDataModal.js +62 -0
- package/lib/Core/Components/GroupRenderer/GroupAdditionalFieldDataModal.js.map +1 -0
- package/lib/Core/Components/GroupRenderer/GroupAdditionalInfo.d.ts +33 -0
- package/lib/Core/Components/GroupRenderer/GroupAdditionalInfo.d.ts.map +1 -0
- package/lib/Core/Components/GroupRenderer/GroupAdditionalInfo.js +106 -0
- package/lib/Core/Components/GroupRenderer/GroupAdditionalInfo.js.map +1 -0
- package/lib/Core/Components/{GroupRenderer.d.ts → GroupRenderer/index.d.ts} +8 -1
- package/lib/Core/Components/GroupRenderer/index.d.ts.map +1 -0
- package/lib/Core/Components/GroupRenderer/index.js +367 -0
- package/lib/Core/Components/GroupRenderer/index.js.map +1 -0
- package/lib/Core/Components/Grouping/GroupingMenu.d.ts.map +1 -1
- package/lib/Core/Components/Grouping/GroupingMenu.js +6 -5
- package/lib/Core/Components/Grouping/GroupingMenu.js.map +1 -1
- package/lib/Core/Components/HeaderCell.d.ts.map +1 -1
- package/lib/Core/Components/HeaderCell.js +8 -5
- package/lib/Core/Components/HeaderCell.js.map +1 -1
- package/lib/Core/Components/HeaderMenu/actions.d.ts.map +1 -1
- package/lib/Core/Components/HeaderMenu/actions.js +3 -3
- package/lib/Core/Components/HeaderMenu/actions.js.map +1 -1
- package/lib/Core/Components/HeaderMenu/index.d.ts.map +1 -1
- package/lib/Core/Components/HeaderMenu/index.js +2 -2
- package/lib/Core/Components/HeaderMenu/index.js.map +1 -1
- package/lib/Core/Components/NotificationManager.js +1 -1
- package/lib/Core/Components/NotificationManager.js.map +1 -1
- package/lib/Core/Components/RSWrapper/HeaderBarGadget.d.ts.map +1 -1
- package/lib/Core/Components/RSWrapper/HeaderBarGadget.js +2 -1
- package/lib/Core/Components/RSWrapper/HeaderBarGadget.js.map +1 -1
- package/lib/Core/Components/RenderingEngine/RenderCell.d.ts +1 -1
- package/lib/Core/Components/RenderingEngine/RenderCell.d.ts.map +1 -1
- package/lib/Core/Components/RenderingEngine/RenderCell.js +2 -1
- package/lib/Core/Components/RenderingEngine/RenderCell.js.map +1 -1
- package/lib/Core/Components/TestIdConstants.d.ts +1 -0
- package/lib/Core/Components/TestIdConstants.js +2 -1
- package/lib/Core/Components/TestIdConstants.js.map +1 -1
- package/lib/Core/Components/Toolbar/AdvanceToolbar.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/AdvanceToolbar.js +9 -33
- package/lib/Core/Components/Toolbar/AdvanceToolbar.js.map +1 -1
- package/lib/Core/Components/Toolbar/AnnounceRowsCount.d.ts +1 -1
- package/lib/Core/Components/Toolbar/AnnounceRowsCount.js +1 -1
- package/lib/Core/Components/Toolbar/AnnounceRowsCount.js.map +1 -1
- package/lib/Core/Components/Toolbar/ColumnSelector.d.ts +20 -9
- package/lib/Core/Components/Toolbar/ColumnSelector.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/ColumnSelector.js +89 -65
- package/lib/Core/Components/Toolbar/ColumnSelector.js.map +1 -1
- package/lib/Core/Components/Toolbar/DebugInfo.d.ts +3 -5
- package/lib/Core/Components/Toolbar/DebugInfo.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/DebugInfo.js +3 -3
- package/lib/Core/Components/Toolbar/DebugInfo.js.map +1 -1
- package/lib/Core/Components/Toolbar/FieldSelector.d.ts +1 -0
- package/lib/Core/Components/Toolbar/FieldSelector.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/FieldSelector.js +3 -2
- package/lib/Core/Components/Toolbar/FieldSelector.js.map +1 -1
- package/lib/Core/Components/Toolbar/Grouping.types.d.ts +0 -6
- package/lib/Core/Components/Toolbar/Grouping.types.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/Grouping.types.js.map +1 -1
- package/lib/Core/Components/Toolbar/SimpleToolbar.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/SimpleToolbar.js +4 -3
- package/lib/Core/Components/Toolbar/SimpleToolbar.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts +14 -18
- package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js +15 -16
- package/lib/Core/Components/Toolbar/hooks/useGroup/DateFunctionSelector.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts +2 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js +10 -7
- package/lib/Core/Components/Toolbar/hooks/useGroup/GroupRenderer.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js +6 -3
- package/lib/Core/Components/Toolbar/hooks/useGroup/useGroup.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts +7 -2
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js +11 -3
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useMore.d.ts +1 -1
- package/lib/Core/Components/Toolbar/hooks/useMore.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useMore.js +81 -79
- package/lib/Core/Components/Toolbar/hooks/useMore.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts +8 -6
- package/lib/Core/Components/Toolbar/hooks/usePersonalization.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/usePersonalization.js +18 -3
- package/lib/Core/Components/Toolbar/hooks/usePersonalization.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSearch.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSearch.js +6 -9
- package/lib/Core/Components/Toolbar/hooks/useSearch.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts +4 -4
- package/lib/Core/Components/Toolbar/hooks/useSort/Row.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/Row.js +6 -6
- package/lib/Core/Components/Toolbar/hooks/useSort/Row.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts +2 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js +8 -2
- package/lib/Core/Components/Toolbar/hooks/useSort/SortRenderer.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/useSort.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js +2 -2
- package/lib/Core/Components/Toolbar/hooks/useSort/useSort.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useWrapAction.d.ts +6 -0
- package/lib/Core/Components/Toolbar/hooks/useWrapAction.d.ts.map +1 -0
- package/lib/Core/Components/Toolbar/hooks/useWrapAction.js +17 -0
- package/lib/Core/Components/Toolbar/hooks/useWrapAction.js.map +1 -0
- package/lib/Core/Components/Toolbar/utils/utils.d.ts +1 -1
- package/lib/Core/Components/Toolbar/utils/utils.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/utils/utils.js +2 -1
- package/lib/Core/Components/Toolbar/utils/utils.js.map +1 -1
- package/lib/Core/Components/Virtualise/Pagination.d.ts.map +1 -1
- package/lib/Core/Components/Virtualise/Pagination.js +2 -1
- package/lib/Core/Components/Virtualise/Pagination.js.map +1 -1
- package/lib/Core/Components/Virtualise/UseScroll.d.ts +4 -1
- package/lib/Core/Components/Virtualise/UseScroll.d.ts.map +1 -1
- package/lib/Core/Components/Virtualise/UseScroll.js +16 -3
- package/lib/Core/Components/Virtualise/UseScroll.js.map +1 -1
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.d.ts +97 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.d.ts.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js +251 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useChildrenHeightResizeObserver.d.ts +22 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useChildrenHeightResizeObserver.d.ts.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useChildrenHeightResizeObserver.js +38 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useChildrenHeightResizeObserver.js.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useLoaderPositioning.d.ts +22 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useLoaderPositioning.d.ts.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useLoaderPositioning.js +45 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useLoaderPositioning.js.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/usePagination.d.ts +49 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/usePagination.d.ts.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/usePagination.js +55 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/usePagination.js.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useScroll.d.ts +21 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useScroll.d.ts.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useScroll.js +39 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useScroll.js.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useVirtualizerItemCount.d.ts +38 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useVirtualizerItemCount.d.ts.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useVirtualizerItemCount.js +62 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/useVirtualizerItemCount.js.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.d.ts +112 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.d.ts.map +1 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.js +214 -0
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/utils.js.map +1 -0
- package/lib/Core/Components/Virtualise/VirtualizeInfinite.js +21 -8
- package/lib/Core/Components/Virtualise/VirtualizeInfinite.js.map +1 -1
- package/lib/Core/Components/Virtualise/index.js +21 -13
- package/lib/Core/Components/Virtualise/index.js.map +1 -1
- package/lib/Core/Components/Virtualise/utility.d.ts +1 -1
- package/lib/Core/Components/Virtualise/utility.d.ts.map +1 -1
- package/lib/Core/Components/Virtualise/utility.js +3 -2
- package/lib/Core/Components/Virtualise/utility.js.map +1 -1
- package/lib/Core/Context/LocalizationContext.d.ts +1 -1
- package/lib/Core/Context/LocalizationContext.d.ts.map +1 -1
- package/lib/Core/Context/LocalizationContext.js.map +1 -1
- package/lib/Core/Hooks/a11y/useAnnounce.d.ts +19 -0
- package/lib/Core/Hooks/a11y/useAnnounce.d.ts.map +1 -0
- package/lib/Core/Hooks/a11y/useAnnounce.js +49 -0
- package/lib/Core/Hooks/a11y/useAnnounce.js.map +1 -0
- package/lib/Core/Hooks/useDragDrop.d.ts.map +1 -1
- package/lib/Core/Hooks/useDragDrop.js +2 -0
- package/lib/Core/Hooks/useDragDrop.js.map +1 -1
- package/lib/Core/Hooks/useRepeat.d.ts.map +1 -1
- package/lib/Core/Hooks/useRepeat.js +20 -1
- package/lib/Core/Hooks/useRepeat.js.map +1 -1
- package/lib/Core/Localization/defaultTranslations.d.ts +16 -13
- package/lib/Core/Localization/defaultTranslations.d.ts.map +1 -1
- package/lib/Core/Localization/defaultTranslations.js +17 -14
- package/lib/Core/Localization/defaultTranslations.js.map +1 -1
- package/lib/Core/Test/JUnitMocks.d.ts +6 -617
- package/lib/Core/Test/JUnitMocks.d.ts.map +1 -1
- package/lib/Core/Test/JUnitMocks.js +5 -4
- package/lib/Core/Test/JUnitMocks.js.map +1 -1
- package/lib/Core/Utils/index.d.ts +11 -0
- package/lib/Core/Utils/index.d.ts.map +1 -1
- package/lib/Core/Utils/index.js +22 -8
- package/lib/Core/Utils/index.js.map +1 -1
- package/lib/Core/Utils/styles.d.ts +2 -2
- package/lib/Core/Utils/styles.d.ts.map +1 -1
- package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts +4 -0
- package/lib/Core/Views/Gallery/Components/GalleryCard.d.ts.map +1 -0
- package/lib/Core/Views/Gallery/Components/GalleryCard.js +18 -0
- package/lib/Core/Views/Gallery/Components/GalleryCard.js.map +1 -0
- package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.d.ts +8 -0
- package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.d.ts.map +1 -0
- package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.js +25 -0
- package/lib/Core/Views/Gallery/Components/GalleryCheckboxCard.js.map +1 -0
- package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts +8 -0
- package/lib/Core/Views/Gallery/Components/GalleryFieldValue.d.ts.map +1 -0
- package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js +8 -0
- package/lib/Core/Views/Gallery/Components/GalleryFieldValue.js.map +1 -0
- package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts +8 -0
- package/lib/Core/Views/Gallery/Components/GalleryHeader.d.ts.map +1 -0
- package/lib/Core/Views/Gallery/Components/GalleryHeader.js +15 -0
- package/lib/Core/Views/Gallery/Components/GalleryHeader.js.map +1 -0
- package/lib/Core/Views/Gallery/Gallery.types.d.ts +8 -0
- package/lib/Core/Views/Gallery/Gallery.types.d.ts.map +1 -0
- package/lib/Core/Views/Gallery/Gallery.types.js +2 -0
- package/lib/Core/Views/Gallery/Gallery.types.js.map +1 -0
- package/lib/Core/Views/Gallery/StyledGalleryContainer.d.ts +13 -1
- package/lib/Core/Views/Gallery/StyledGalleryContainer.d.ts.map +1 -1
- package/lib/Core/Views/Gallery/StyledGalleryContainer.js +30 -40
- package/lib/Core/Views/Gallery/StyledGalleryContainer.js.map +1 -1
- package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.js +1 -1
- package/lib/Core/Views/Gallery/_tests_/Samples/GalleryA11ySample.js.map +1 -1
- package/lib/Core/Views/Gallery/hooks/useRowActions.d.ts +9 -0
- package/lib/Core/Views/Gallery/hooks/useRowActions.d.ts.map +1 -0
- package/lib/Core/Views/Gallery/hooks/useRowActions.js +25 -0
- package/lib/Core/Views/Gallery/hooks/useRowActions.js.map +1 -0
- package/lib/Core/Views/Gallery/index.d.ts +4 -8
- package/lib/Core/Views/Gallery/index.d.ts.map +1 -1
- package/lib/Core/Views/Gallery/index.js +22 -62
- package/lib/Core/Views/Gallery/index.js.map +1 -1
- package/lib/Core/Views/Gallery/utils.d.ts +36 -0
- package/lib/Core/Views/Gallery/utils.d.ts.map +1 -0
- package/lib/Core/Views/Gallery/utils.js +91 -0
- package/lib/Core/Views/Gallery/utils.js.map +1 -0
- package/lib/Core/Views/Map/Map.styles.d.ts +190 -6
- package/lib/Core/Views/Map/Map.styles.d.ts.map +1 -1
- package/lib/Core/Views/Map/Map.styles.js.map +1 -1
- package/lib/Core/Views/Map/index.d.ts.map +1 -1
- package/lib/Core/Views/Map/index.js +10 -4
- package/lib/Core/Views/Map/index.js.map +1 -1
- package/lib/Core/Views/RsCardWrapper.js.map +1 -1
- package/lib/Core/Views/Table/CellWrapper.d.ts +1 -1
- package/lib/Core/Views/Table/CellWrapper.d.ts.map +1 -1
- package/lib/Core/Views/Table/CellWrapper.js +4 -2
- package/lib/Core/Views/Table/CellWrapper.js.map +1 -1
- package/lib/Core/Views/Table/HeaderWrapper.d.ts.map +1 -1
- package/lib/Core/Views/Table/HeaderWrapper.js +5 -5
- package/lib/Core/Views/Table/HeaderWrapper.js.map +1 -1
- package/lib/Core/Views/Table/Row.d.ts +3 -1
- package/lib/Core/Views/Table/Row.d.ts.map +1 -1
- package/lib/Core/Views/Table/Row.js +5 -3
- package/lib/Core/Views/Table/Row.js.map +1 -1
- package/lib/Core/Views/Table/SkeletonRows.d.ts +1 -1
- package/lib/Core/Views/Table/SkeletonRows.d.ts.map +1 -1
- package/lib/Core/Views/Table/StyledTableContainer.d.ts +3 -1
- package/lib/Core/Views/Table/StyledTableContainer.d.ts.map +1 -1
- package/lib/Core/Views/Table/StyledTableContainer.js +269 -158
- package/lib/Core/Views/Table/StyledTableContainer.js.map +1 -1
- package/lib/Core/Views/Table/TableA11y.d.ts +11 -0
- package/lib/Core/Views/Table/TableA11y.d.ts.map +1 -1
- package/lib/Core/Views/Table/TableA11y.js +207 -2
- package/lib/Core/Views/Table/TableA11y.js.map +1 -1
- package/lib/Core/Views/Table/VirtualizeWrapper.d.ts +5 -1
- package/lib/Core/Views/Table/VirtualizeWrapper.d.ts.map +1 -1
- package/lib/Core/Views/Table/VirtualizeWrapper.js +38 -15
- package/lib/Core/Views/Table/VirtualizeWrapper.js.map +1 -1
- package/lib/Core/Views/Table/index.d.ts.map +1 -1
- package/lib/Core/Views/Table/index.js +6 -4
- package/lib/Core/Views/Table/index.js.map +1 -1
- package/lib/Core/Views/Table/useCountChange.d.ts +10 -0
- package/lib/Core/Views/Table/useCountChange.d.ts.map +1 -0
- package/lib/Core/Views/Table/useCountChange.js +39 -0
- package/lib/Core/Views/Table/useCountChange.js.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.d.ts +5 -0
- package/lib/Core/Views/Timeline/Timeline.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.js +28 -0
- package/lib/Core/Views/Timeline/Timeline.js.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.styles.d.ts +393 -0
- package/lib/Core/Views/Timeline/Timeline.styles.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.styles.js +175 -0
- package/lib/Core/Views/Timeline/Timeline.styles.js.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.types.d.ts +48 -0
- package/lib/Core/Views/Timeline/Timeline.types.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.types.js +2 -0
- package/lib/Core/Views/Timeline/Timeline.types.js.map +1 -0
- package/lib/Core/Views/Timeline/TimelineItem.d.ts +12 -0
- package/lib/Core/Views/Timeline/TimelineItem.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/TimelineItem.js +43 -0
- package/lib/Core/Views/Timeline/TimelineItem.js.map +1 -0
- package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.d.ts +4 -0
- package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.js +141 -0
- package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.js.map +1 -0
- package/lib/Core/Views/Timeline/index.d.ts.map +1 -1
- package/lib/Core/Views/Timeline/index.js +14 -8
- package/lib/Core/Views/Timeline/index.js.map +1 -1
- package/lib/Core/Views/Timeline/utils.d.ts +10 -0
- package/lib/Core/Views/Timeline/utils.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/utils.js +144 -0
- package/lib/Core/Views/Timeline/utils.js.map +1 -0
- package/lib/Core/Views/rs-styles.d.ts +1 -1
- package/lib/Core/constants.d.ts.map +1 -1
- package/lib/Core/constants.js +1 -0
- package/lib/Core/constants.js.map +1 -1
- package/lib/Core/templateFeatureSupport.d.ts +17 -0
- package/lib/Core/templateFeatureSupport.d.ts.map +1 -0
- package/lib/Core/templateFeatureSupport.js +30 -0
- package/lib/Core/templateFeatureSupport.js.map +1 -0
- package/lib/types.d.ts +2 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/package.json +11 -12
- package/lib/Core/Components/DefaultComponents/CardItem.d.ts +0 -3
- package/lib/Core/Components/DefaultComponents/CardItem.d.ts.map +0 -1
- package/lib/Core/Components/DefaultComponents/CardItem.js +0 -78
- package/lib/Core/Components/DefaultComponents/CardItem.js.map +0 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.d.ts +0 -12
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.d.ts.map +0 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.js +0 -35
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/DateTime.js.map +0 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.d.ts +0 -15
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.d.ts.map +0 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.js +0 -49
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/Radio.js.map +0 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.d.ts +0 -12
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.d.ts.map +0 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.js +0 -44
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/TextInput.js.map +0 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.d.ts +0 -16
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.d.ts.map +0 -1
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.js +0 -63
- package/lib/Core/Components/DefaultComponents/CellRenderers/EditComponents/index.js.map +0 -1
- package/lib/Core/Components/EmptyContainer.d.ts +0 -5
- package/lib/Core/Components/EmptyContainer.d.ts.map +0 -1
- package/lib/Core/Components/EmptyContainer.js +0 -12
- package/lib/Core/Components/EmptyContainer.js.map +0 -1
- package/lib/Core/Components/GroupRenderer.d.ts.map +0 -1
- package/lib/Core/Components/GroupRenderer.js +0 -240
- package/lib/Core/Components/GroupRenderer.js.map +0 -1
- package/lib/Core/Components/Toolbar/KeyboardInstructions.d.ts +0 -6
- package/lib/Core/Components/Toolbar/KeyboardInstructions.d.ts.map +0 -1
- package/lib/Core/Components/Toolbar/KeyboardInstructions.js +0 -32
- package/lib/Core/Components/Toolbar/KeyboardInstructions.js.map +0 -1
- package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts +0 -8
- package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts.map +0 -1
- package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js +0 -61
- package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js.map +0 -1
- package/lib/Core/Hooks/useSelect.d.ts +0 -9
- package/lib/Core/Hooks/useSelect.d.ts.map +0 -1
- package/lib/Core/Hooks/useSelect.js +0 -24
- package/lib/Core/Hooks/useSelect.js.map +0 -1
- package/lib/Core/Views/Gallery/ItemWrapper.d.ts +0 -19
- package/lib/Core/Views/Gallery/ItemWrapper.d.ts.map +0 -1
- package/lib/Core/Views/Gallery/ItemWrapper.js +0 -34
- package/lib/Core/Views/Gallery/ItemWrapper.js.map +0 -1
- package/lib/Core/Views/Timeline/utility.d.ts +0 -8
- package/lib/Core/Views/Timeline/utility.d.ts.map +0 -1
- package/lib/Core/Views/Timeline/utility.js +0 -120
- package/lib/Core/Views/Timeline/utility.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableA11y.js","sourceRoot":"","sources":["../../../../Core/Views/Table/TableA11y.js"],"names":[],"mappings":"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","sourcesContent":["import { BaseA11y, rowErrorColumnMeta } from 'pega-repeating-structures-core';\n\nconst sortOrder = {\n row: 'aria-rowindex',\n column: 'aria-colindex'\n};\n\nconst TAB_INDEX = 'tabindex';\nconst DATA_INDEX = 'data-index';\nconst HEADER_MENU = '.header-menu';\nconst HEADER = 'header';\nconst ARIA_DESCRIBEDBY = 'aria-describedby';\n\nfunction gainFocus(element) {\n element.setAttribute(TAB_INDEX, 0);\n element.focus();\n}\n\nfunction getHeaderColumnToFocusOnCtrlHome(columns) {\n return columns.find(column => {\n return !!column.querySelector(HEADER_MENU);\n });\n}\n\nfunction setFocusToFocusableElementOrCell(focusableElements, cell) {\n if (focusableElements.length === 1) focusableElements[0].focus();\n else gainFocus(cell);\n}\n\nclass TableA11y extends BaseA11y {\n constructor(\n selectors,\n focusableSelectors,\n // eslint-disable-next-line default-param-last\n customKeys = {},\n container,\n announcePolite,\n translate,\n actionableSelectors,\n ariaLabel\n ) {\n super(selectors, focusableSelectors, customKeys, container, actionableSelectors, ariaLabel);\n this.nextRowIndex = null;\n this.nextColumnIndex = null;\n this.targetIndex = -2;\n this.ctrlHomeKeyPressed = false;\n this.announcePolite = announcePolite;\n this.translate = translate;\n this.isTableLoaderFocussed = false;\n this.dataEntryMode = false;\n }\n\n reset() {\n this.nextRowIndex = null;\n this.nextColumnIndex = null;\n }\n\n getFocusableElementsInCell(column, isCalledFromEsc = false) {\n if (column) {\n const scalarListTag = '.scalarlist-component';\n const scalarListComponent = column.querySelector(scalarListTag);\n if (scalarListComponent) return [scalarListComponent];\n const elementsInColumn = column.querySelectorAll(\n this.focusableSelectors.concat(this.actionableSelectors).join(',')\n );\n if (!isCalledFromEsc && elementsInColumn.length > 1) {\n return [];\n }\n return column.querySelectorAll(this.focusableSelectors.join(','));\n }\n }\n\n getActionableElementsInCell(column) {\n return column.querySelectorAll(this.actionableSelectors.join(','));\n }\n\n getSortedColumns(row) {\n return [...row.querySelectorAll(this.selectors.focusElementSelector)].sort(\n (colA, colB) => colA.getAttribute(sortOrder.column) - colB.getAttribute(sortOrder.column)\n );\n }\n\n handleRightKeyPressForExpandCollapseAll(selectAllSelector) {\n const row = this.container.querySelector(this.selectors.parentElementSelector);\n let firstActionMenuSelector;\n if (row) {\n const sortedColumns = this.getSortedColumns(row);\n if (sortedColumns.length > 0) {\n const firstSortedColumnSelector = sortedColumns[0];\n firstActionMenuSelector = this.getFocusableElementsInCell(firstSortedColumnSelector);\n if (firstActionMenuSelector.length > 0) {\n return gainFocus(firstActionMenuSelector[0]);\n }\n const selectAllCheckboxSelector = this.container.querySelectorAll(selectAllSelector);\n if (selectAllCheckboxSelector.length === 0 && firstActionMenuSelector.length === 0) {\n return gainFocus(firstSortedColumnSelector);\n }\n }\n }\n return null;\n }\n\n // Below method is added to handle key events for expand and collapse all button\n handleExpandCollapseAllEvents(event, selectAllSelector) {\n const { keyCode, shiftKey } = event;\n switch (keyCode) {\n case this.keys.RIGHT: {\n event.preventDefault();\n this.handleRightKeyPressForExpandCollapseAll(selectAllSelector);\n break;\n }\n case this.keys.DOWN: {\n event.preventDefault();\n const stickyCells = this.container.querySelector(this.selectors.stickyGroupHeaderSelector);\n const nextfirstCell = stickyCells;\n const nextfirstCellChild = nextfirstCell.nextSibling;\n gainFocus(nextfirstCellChild);\n break;\n }\n case this.keys.UP:\n case this.keys.LEFT:\n event.preventDefault();\n break;\n case this.keys.TAB: {\n const currentCol = this.container\n .getRootNode()\n .activeElement.closest(this.selectors.focusElementSelector);\n this.containerTabHandler(event, currentCol, shiftKey);\n break;\n }\n default:\n break;\n }\n }\n\n // Below method is added to add/remove aria-label for rows with errors. Aria-label is added on first focus and removed if traversing in the same row\n handleAnnouncementForErrors(nextItem, currentCol, keyCode) {\n let elementWithErrorMessage = currentCol.querySelector('[data-error-message-set]');\n elementWithErrorMessage = currentCol.dataset.errorMessageSet\n ? currentCol\n : elementWithErrorMessage;\n const ARIA_LABEL = 'aria-label';\n if (elementWithErrorMessage) {\n const { ariaLabel: previousAriaLabel } = elementWithErrorMessage.dataset ?? {};\n if (previousAriaLabel) elementWithErrorMessage.setAttribute(ARIA_LABEL, previousAriaLabel);\n else elementWithErrorMessage.removeAttribute(ARIA_LABEL);\n }\n\n if (\n (keyCode !== this.keys.UP && keyCode !== this.keys.DOWN) ||\n nextItem\n .closest(this.selectors.focusElementSelector)\n ?.classList.contains(rowErrorColumnMeta.options.classList[0])\n )\n return;\n\n let errorMessage = nextItem.closest(this.selectors.parentElementSelector)?.dataset.errorMessage;\n if (errorMessage) {\n if (!nextItem.classList.contains(this.selectors.focusElementSelector.split('.')[1])) {\n if (nextItem.hasAttribute(ARIA_LABEL)) {\n errorMessage += `, ${nextItem.getAttribute(ARIA_LABEL)}`;\n nextItem.dataset.ariaLabel = nextItem.getAttribute(ARIA_LABEL);\n } else errorMessage += `, ${nextItem.textContent}`;\n }\n nextItem.setAttribute(ARIA_LABEL, errorMessage);\n nextItem.dataset.errorMessageSet = true;\n }\n }\n\n // Below method is added to set the focus on expand and collapse all button if left arrow key is pressed from actions button or select all checkbox\n handleKeyleftForButtonMoreSelectAll(event, selectAllSelector) {\n const { keyCode } = event;\n const row = this.container.querySelector(this.selectors.parentElementSelector);\n let firstActionMenuSelector;\n if (row) {\n const sortedColumns = this.getSortedColumns(row);\n if (sortedColumns.length > 0) {\n const firstSortedColumnSelector = sortedColumns[0];\n firstActionMenuSelector = this.getFocusableElementsInCell(firstSortedColumnSelector);\n const selectAllCheckboxSelector = this.container.querySelectorAll(selectAllSelector);\n if (\n ((firstActionMenuSelector.length > 0 && event.target === firstActionMenuSelector[0]) ||\n (selectAllCheckboxSelector.length === 0 &&\n firstActionMenuSelector.length === 0 &&\n event.target === firstSortedColumnSelector)) &&\n keyCode === this.keys.LEFT &&\n this.container.querySelector(this.selectors.expandCollpaseAll)\n ) {\n const expandCollapseSelector = this.container.querySelector(\n this.selectors.expandCollpaseAll\n );\n const expandCollapseButton = this.getFocusableElementsInCell(expandCollapseSelector);\n gainFocus(expandCollapseButton[0]);\n return true;\n }\n }\n }\n return false;\n }\n\n handleScrollOnUpArrowForGroupHeaders(event, pContainerSelector) {\n const pContainer = this.container.querySelector(pContainerSelector);\n if (\n pContainer &&\n event.keyCode === this.keys.UP &&\n event.target.getBoundingClientRect().y -\n (pContainer.firstChild.getBoundingClientRect().y +\n pContainer.firstChild.getBoundingClientRect().height) <\n event.target.getBoundingClientRect().height * 2\n ) {\n pContainer.scrollTop -= event.target.getBoundingClientRect().height * 2;\n }\n }\n\n // Used to update this.targetIndex on keydown which is later used by handleGroupHeaderEvents\n updateTargetColumnIndexForGroupHeader(event) {\n const { target, keyCode } = event;\n if (\n this.targetIndex === null ||\n this.targetIndex === -1 ||\n keyCode === this.keys.UP ||\n keyCode === this.keys.DOWN\n ) {\n if (target.closest(this.selectors.expandCollpaseAll)) {\n this.targetIndex = -1;\n return;\n }\n const cell = target.closest(this.selectors.focusElementSelector);\n let row = target.closest(this.selectors.parentElementSelector);\n row = this.getSortedColumns(row);\n\n this.targetIndex = [...row].indexOf(cell);\n }\n }\n\n handleUpDownKeyPressForGroupHeader(keyCode, target, cellToFocus, event) {\n // If the group header is at the last row and DOWN key is press then\n if (\n keyCode === this.keys.DOWN &&\n target.closest(this.selectors.parentElementSelector).nextElementSibling === null\n ) {\n // if footer exists\n const footer = this.container.querySelector(this.selectors.footer);\n const index = this.targetIndex < 0 ? 0 : this.targetIndex;\n if (footer) {\n const cell = this.getSortedColumns(\n footer.querySelector(this.selectors.parentElementSelector)\n )[index];\n setFocusToFocusableElementOrCell(this.getFocusableElementsInCell(cell), cell);\n }\n return true;\n }\n // If the focus came to the group header from the expand all button\n if (keyCode === this.keys.UP && this.targetIndex === -1) {\n this.container.querySelector(this.selectors.expandCollpaseAll).children[0].focus();\n } else {\n event.preventDefault();\n // If initially the group header is clicked and the keyboard is used\n if (cellToFocus && !cellToFocus.hasAttribute('tabindex')) {\n cellToFocus.setAttribute('tabindex', -1);\n }\n // Flushing the -1 index\n if (keyCode === this.keys.DOWN && this.targetIndex === -1) {\n this.targetIndex = 0;\n }\n if (cellToFocus) {\n cellToFocus.focus();\n }\n }\n return true;\n }\n\n handleLeftRightKeyPressForGroupHeader(keyCode, target, cellToFocus) {\n if (cellToFocus && !cellToFocus.hasAttribute('tabindex')) {\n cellToFocus.setAttribute('tabindex', -1);\n }\n\n if (!this.targetIndex) this.targetIndex = 0;\n if (cellToFocus) {\n setFocusToFocusableElementOrCell(this.getFocusableElementsInCell(cellToFocus), cellToFocus);\n }\n }\n\n handleGroupHeaderEvents(event) {\n const { keyCode, target, ctrlKey } = event;\n const index = this.targetIndex < 0 ? 0 : this.targetIndex;\n const cellToFocus = this.getSortedColumns(target.closest(this.selectors.parentElementSelector))[\n index\n ];\n\n switch (keyCode) {\n case this.keys.UP:\n case this.keys.DOWN: {\n return this.handleUpDownKeyPressForGroupHeader(keyCode, target, cellToFocus, event);\n }\n case this.keys.RIGHT:\n {\n // To Prevent Scrolling\n event.preventDefault();\n const row = target.closest(this.selectors.parentElementSelector);\n if (row.querySelector('.aggregate-button')) {\n const firstFocusableElementInRow = this.getSortedColumns(row)[0];\n this.handleLeftRightKeyPressForGroupHeader(keyCode, target, firstFocusableElementInRow);\n return false;\n }\n }\n break;\n case this.keys.TAB:\n if (cellToFocus) {\n cellToFocus.focus();\n }\n break;\n case this.keys.HOME:\n if (ctrlKey) {\n this.handleCtrlHomeKeypress();\n }\n break;\n default:\n break;\n }\n return true;\n }\n\n checkEventsForGroupHeader(event) {\n if (\n event.target &&\n (event.target.closest(this.selectors.focusElementSelector) ||\n event.target.closest(this.selectors.expandCollpaseAll))\n ) {\n this.updateTargetColumnIndexForGroupHeader(event);\n } else if (event.target && event.target.closest(this.selectors.stickyGroupHeaderSelector)) {\n return this.handleGroupHeaderEvents(event);\n }\n return true;\n }\n\n stopEventHandler(event) {\n return (\n (!event.target.closest(this.selectors.stickyGroupHeaderSelector) &&\n event.target.getAttribute('aria-expanded')) === 'true' ||\n event.target.closest('.popper') ||\n !Object.values(this.keys).includes(event.keyCode)\n );\n }\n\n handleLeftKeyPressOnAggregateCells(target, aggregateCell) {\n const firstCell = this.getSortedColumns(\n target.closest(this.selectors.parentElementSelector)\n )[0];\n if (firstCell === target.closest(aggregateCell)) {\n const groupHeaderButton = target\n .closest(this.selectors.parentElementSelector)\n ?.querySelector('.stickyGroupHeader > button');\n groupHeaderButton.focus();\n return false;\n }\n return true;\n }\n\n // eslint-disable-next-line class-methods-use-this\n isAccessibleElement(element) {\n return (\n !(element.hasAttribute('aria-hidden') && element.getAttribute('aria-hidden') === 'true') &&\n !(element.hasAttribute(TAB_INDEX) && element.getAttribute(TAB_INDEX) === '-1')\n );\n }\n\n getNextAccessibleElement(cellInputableElements, shiftKey = false, currentElementIndex = -1) {\n if (shiftKey) {\n cellInputableElements = [...cellInputableElements]\n .reverse()\n .slice(\n currentElementIndex !== -1 ? cellInputableElements.length - currentElementIndex : 0,\n cellInputableElements.length\n );\n } else {\n cellInputableElements = [...cellInputableElements].slice(\n currentElementIndex + 1,\n cellInputableElements.length\n );\n }\n return cellInputableElements.find(element => this.isAccessibleElement(element));\n }\n\n getAdjacentColumnCell(\n shiftKey,\n currentColumnIndex,\n currentEleParentIndex,\n sortedColumns,\n parentElements,\n currentCol\n ) {\n let nextColumnCell = null;\n if (shiftKey) {\n if (currentColumnIndex - 1 >= 0) {\n nextColumnCell = sortedColumns[sortedColumns.indexOf(currentCol) - 1];\n } else if (currentEleParentIndex - 1 >= 0) {\n sortedColumns = [\n ...parentElements[currentEleParentIndex - 1].querySelectorAll(\n this.selectors.focusElementSelector\n )\n ];\n currentEleParentIndex -= 1;\n nextColumnCell = sortedColumns[sortedColumns.length - 1];\n }\n } else if (currentColumnIndex + 1 < sortedColumns.length) {\n nextColumnCell = sortedColumns[sortedColumns.indexOf(currentCol) + 1];\n } else if (currentEleParentIndex + 1 < parentElements.length) {\n sortedColumns = [\n ...parentElements[currentEleParentIndex + 1].querySelectorAll(\n this.selectors.focusElementSelector\n )\n ];\n currentEleParentIndex += 1;\n\n nextColumnCell = sortedColumns[0];\n }\n return [nextColumnCell, sortedColumns, currentEleParentIndex];\n }\n\n // This method is to recursively find the next column cell with actionable or focusable elements and skip any empty cells\n getNextColumnCellInTaborder(\n sortedColumns,\n currentCol,\n shiftKey,\n parentElements,\n currentEleParentIndex\n ) {\n if (!currentCol) {\n return null;\n }\n let nextColumnCell = null;\n const currentColumnIndex = sortedColumns.indexOf(currentCol);\n [nextColumnCell, sortedColumns, currentEleParentIndex] = this.getAdjacentColumnCell(\n shiftKey,\n currentColumnIndex,\n currentEleParentIndex,\n sortedColumns,\n parentElements,\n currentCol\n );\n const elements =\n nextColumnCell &&\n nextColumnCell.querySelectorAll(\n [...this.actionableSelectors, ...this.focusableSelectors].join(',')\n );\n if (elements?.length) {\n return nextColumnCell;\n }\n return this.getNextColumnCellInTaborder(\n sortedColumns,\n nextColumnCell,\n shiftKey,\n parentElements,\n currentEleParentIndex\n );\n }\n\n isFocusableElement(element) {\n const colItem = element?.closest(this.selectors.focusElementSelector);\n if (!colItem) return false;\n return [...colItem.querySelectorAll(this.focusableSelectors.join(','))].includes(element);\n }\n\n handleTabKey(shiftKey) {\n const parentElements = this.container.querySelectorAll(this.selectors.parentElementSelector);\n const rootNode = this.container.getRootNode();\n const currentCol = rootNode.activeElement?.closest(this.selectors.focusElementSelector);\n const currentEleParentIndex = [...parentElements].indexOf(\n currentCol.closest(this.selectors.parentElementSelector)\n );\n const currentColumnElements = Array.from(\n currentCol.querySelectorAll(\n [...this.actionableSelectors, ...this.focusableSelectors].join(',')\n )\n );\n const currentEleIndex = currentColumnElements.indexOf(rootNode.activeElement);\n\n const sortedColumns = this.getSortedColumns(\n currentCol.closest(this.selectors.parentElementSelector)\n );\n\n const nextColumnCell = this.getNextColumnCellInTaborder(\n sortedColumns,\n currentCol,\n shiftKey,\n parentElements,\n currentEleParentIndex\n );\n\n if (\n (!shiftKey && currentEleIndex + 1 < currentColumnElements.length) ||\n (shiftKey && currentEleIndex - 1 >= 0)\n ) {\n return false;\n }\n if (nextColumnCell) {\n const nextColumnCellElements = nextColumnCell.querySelectorAll(\n [...this.actionableSelectors, ...this.focusableSelectors].join(',')\n );\n if (nextColumnCellElements.length !== 0) return false;\n }\n this.updateDataEntry();\n return true;\n }\n\n updateDataEntry(updateForHandler, focusElements, nextFocusElement) {\n switch (updateForHandler) {\n case 'click':\n if (focusElements.length === 1) {\n const hasFocusableElement = Array.from(focusElements).some(element =>\n this.focusableSelectors.some(selector => element.matches(selector))\n );\n this.dataEntryMode = !hasFocusableElement;\n } else if (nextFocusElement) {\n this.dataEntryMode = true;\n } else {\n this.dataEntryMode = false;\n }\n break;\n\n case 'enter':\n this.dataEntryMode = true;\n break;\n\n default:\n this.dataEntryMode = false;\n }\n }\n\n clickHandler(event) {\n const cell = event?.target?.closest(this.selectors.focusElementSelector);\n if (cell && cell !== event.target) {\n const focusElements = cell.querySelectorAll(\n this.focusableSelectors.concat(this.actionableSelectors).join(',')\n );\n const nextFocusElement = this.getNextAccessibleElement(focusElements);\n this.updateDataEntry('click', focusElements, nextFocusElement);\n } else {\n this.updateDataEntry();\n }\n }\n\n handleEnterKey(target) {\n const focusElements = target.querySelectorAll(\n this.focusableSelectors.concat(this.actionableSelectors).join(',')\n );\n const nextFocusElement = this.getNextAccessibleElement(focusElements);\n // register escape event for RTE to support event bubbling\n if (nextFocusElement?.nodeName === 'IFRAME') {\n this.registerEscapeEventForRTE(nextFocusElement);\n target.tabIndex = -1;\n } else if (nextFocusElement) {\n this.updateDataEntry('enter');\n gainFocus(nextFocusElement);\n target.tabIndex = -1;\n }\n }\n\n handleEscapeKey(target) {\n const cell = target.closest(this.selectors.focusElementSelector);\n if (\n cell &&\n (this.getFocusableElementsInCell(cell, true).length > 1 ||\n this.getActionableElementsInCell(cell).length >= 1)\n ) {\n this.updateDataEntry();\n gainFocus(cell);\n }\n if (this.getFocusableElementsInCell(cell, true).length === 1) {\n this.updateDataEntry();\n }\n\n return !cell;\n }\n\n registerEscapeEventForRTE(target) {\n const iframeContent = target.contentWindow || target.contentDocument;\n if (iframeContent?.document) {\n this.updateDataEntry('enter');\n iframeContent.document.querySelector(\"[contenteditable='true']\").focus();\n if (!iframeContent.document.escapeKeyHandlerInjected) {\n iframeContent.document.addEventListener('keydown', event => {\n if (event.keyCode === this.keys.ESCAPE) {\n const escapeEvent = new KeyboardEvent('keydown', {\n key: 'Escape',\n code: 'Escape',\n keyCode: this.keys.ESCAPE,\n bubbles: true\n });\n target.dispatchEvent(escapeEvent);\n }\n });\n }\n iframeContent.document.escapeKeyHandlerInjected = true;\n }\n }\n\n tableLoaderHandler(event) {\n const { keyCode } = event;\n switch (keyCode) {\n case this.keys.LEFT:\n case this.keys.RIGHT:\n case this.keys.UP:\n case this.keys.DOWN: {\n event.preventDefault();\n break;\n }\n case this.keys.TAB: {\n this.tabHandler(event);\n this.isTableLoaderFocussed = false;\n break;\n }\n default:\n break;\n }\n }\n\n // Below method is overridden to handle key events for expand and collapse all button, group headers\n a11yHandler(event) {\n const buttonMoreSelector = '.button-more';\n const selectAllSelector = '.select-all-checkbox';\n const selectHeaderWithoutCheckbox = '.row-select-handle';\n const pContainerSelector = '.pContainer';\n const aggregateCell = '.aggregateCell';\n const rootNode = this.container.getRootNode();\n let shouldCallSuper = true;\n const tableLoader = this.container.querySelector(this.selectors.tableLoader);\n const currentCol = rootNode.activeElement.closest(this.selectors.focusElementSelector);\n\n // Handling the key handling events for Loading indicator\n if (tableLoader && tableLoader === event.target) {\n this.tableLoaderHandler(event);\n return;\n }\n\n // Handling events related to group header\n if (this.container.querySelector(this.selectors.stickyGroupHeaderSelector)) {\n shouldCallSuper = this.checkEventsForGroupHeader(event);\n }\n\n // To handle left click from first aggregate cell\n if (event.target && event.target.closest(aggregateCell) && event.keyCode === this.keys.LEFT) {\n shouldCallSuper = this.handleLeftKeyPressOnAggregateCells(event.target, aggregateCell);\n }\n\n // Arrow key handlers restriction for data entry mode\n if (\n event.target &&\n this.dataEntryMode &&\n currentCol !== rootNode.activeElement &&\n (event.keyCode === this.keys.RIGHT ||\n event.keyCode === this.keys.LEFT ||\n event.keyCode === this.keys.UP ||\n event.keyCode === this.keys.DOWN)\n ) {\n return;\n }\n // Enter key handler\n if (event.target && event.keyCode === this.keys.ENTER) {\n this.handleEnterKey(event.target);\n }\n\n // Escape key handler\n if (event.target && event.keyCode === this.keys.ESCAPE) {\n this.handleEscapeKey(event.target);\n }\n\n // Tab key handler\n if (\n event.target &&\n event.keyCode === this.keys.TAB &&\n this.dataEntryMode &&\n currentCol !== rootNode.activeElement\n ) {\n shouldCallSuper = this.handleTabKey(event.shiftKey);\n }\n\n if (!shouldCallSuper) return;\n\n // Handling events for expand and collapse all button & handling scrolling for group header\n if (event.target && event.target.closest(this.selectors.expandCollpaseAll)) {\n this.handleExpandCollapseAllEvents(event, selectAllSelector);\n return;\n }\n if (event.target && event.target.closest(this.selectors.stickyGroupHeaderSelector)) {\n this.handleScrollOnUpArrowForGroupHeaders(event, pContainerSelector);\n }\n if (\n event.target &&\n (event.target.closest(buttonMoreSelector) ||\n event.target.closest(selectAllSelector) ||\n event.target.closest(selectHeaderWithoutCheckbox))\n ) {\n if (!this.handleKeyleftForButtonMoreSelectAll(event, selectAllSelector)) {\n // if focus is not handed in handleKeyLeftForButtonMoreSelectAll then invoke super.a11yHandler\n super.a11yHandler(event);\n }\n return;\n }\n super.a11yHandler(event);\n }\n\n // Below method is overridden to set the focus on expand and collapse all button if grouping is applied, to set the focus on table loader if navigated from toolbar by pressing tab key\n focusFirstElement() {\n if (this.container.querySelector(this.selectors.tableLoader)) {\n const tableLoadingIndicator = this.container.querySelector(this.selectors.tableLoader);\n tableLoadingIndicator.focus();\n this.isTableLoaderFocussed = true;\n return;\n }\n if (this.container.querySelector(this.selectors.expandCollpaseAll)) {\n const expandCollapseSelector = this.container.querySelector(this.selectors.expandCollpaseAll);\n const expandCollapseButton = this.getFocusableElementsInCell(expandCollapseSelector);\n gainFocus(expandCollapseButton[0]);\n return;\n }\n super.focusFirstElement();\n }\n\n setFocusOnLoader(loader, currentCol) {\n super.setFocusOnLoader(loader, currentCol);\n const nextRowIndexDirection = loader.classList.contains(this.selectors.aboveLoader.substr(1))\n ? -1\n : 1;\n this.nextColumnIndex = currentCol.getAttribute(sortOrder.column);\n this.nextRowIndex =\n parseInt(\n currentCol.closest(this.selectors.parentElementSelector).getAttribute(sortOrder.row),\n 10\n ) + nextRowIndexDirection;\n }\n\n dynamicLoadersKeyDownHandler(event) {\n if (super.dynamicLoadersKeyDownHandler(event)) {\n this.reset();\n }\n }\n\n itemsLoadedCallback() {\n if (this.ctrlHomeKeyPressed) {\n // ctrl+Home keypress happens on any cell but when initial rows are not present in container fetch happens for those rows\n // on rerender of the container focus the row1 data col1 of the table\n this.ctrlHomeKeyPressed = false;\n this.handleCtrlHomeKeypress();\n }\n // Below if condition is written to announce Loading completed once the table loader is hidden and we are also shifting the\n // focus on firstfocusableelement once the table Loader is hidden\n if (this.isTableLoaderFocussed && !this.container.querySelector(this.selectors.tableLoader)) {\n this.announcePolite({\n message: this.translate('Loading completed'),\n type: 'info'\n });\n this.focusFirstElement();\n this.isTableLoaderFocussed = false;\n }\n if (this.nextRowIndex && this.nextColumnIndex) {\n const row = this.container.querySelector(`[${sortOrder.row}='${this.nextRowIndex}']`);\n if (row) {\n const column = row.querySelector(`[${sortOrder.column}='${this.nextColumnIndex}']`);\n const restoreFocusRef = {\n columnIndex: [\n ...this.container.querySelectorAll(this.selectors.focusElementSelector)\n ].indexOf(column)\n };\n this.reset();\n this.setFocusToCell(restoreFocusRef);\n }\n }\n }\n\n isFirstDataRowInDOM() {\n return !!this.container.querySelector(`[${DATA_INDEX}='0']`);\n }\n\n getFocusableElementOnCtrlHome() {\n if (this.isFirstDataRowInDOM() && this.selectors.parentElementSelector) {\n const firstRow = this.container.querySelector(this.selectors.parentElementSelector);\n const sortedColumns = this.getSortedColumns(firstRow);\n if (firstRow.classList.contains(HEADER)) {\n // when header row is present focus first data column in the header\n return getHeaderColumnToFocusOnCtrlHome(sortedColumns);\n }\n // when there's no header focus row2 col1 element\n return sortedColumns[0];\n }\n // fetch 1st set of rows by setting scrollTop to 0 & then focus (handled in itemsLoadedCallback)\n this.ctrlHomeKeyPressed = true;\n return null;\n }\n\n toggleStyleFormatAriaDescription(nextCol, currentCol) {\n const nextColFocusableElements = this.getFocusableElementsInCell(nextCol);\n const currentColFocusableElements = this.getFocusableElementsInCell(currentCol);\n\n if (nextColFocusableElements.length === 1) {\n const nextFocusableElement = nextColFocusableElements[0];\n const nextElementAriaDescribedby = nextFocusableElement.getAttribute(ARIA_DESCRIBEDBY);\n\n const styleFormatId = nextCol.getAttribute('data-style-format');\n if (styleFormatId) {\n const combinedAriaDescribedby = [styleFormatId, nextElementAriaDescribedby]\n .filter(Boolean)\n .join(' ');\n nextFocusableElement.setAttribute(ARIA_DESCRIBEDBY, combinedAriaDescribedby);\n }\n }\n\n if (currentColFocusableElements.length === 1) {\n const currentFocusableElement = currentColFocusableElements[0];\n\n let originalAriaDescribedby = [];\n const currentAriaDescribedby = currentFocusableElement.getAttribute(ARIA_DESCRIBEDBY);\n if (currentAriaDescribedby) {\n originalAriaDescribedby = currentAriaDescribedby\n .split(' ')\n .filter(\n ariaDescribedby => ariaDescribedby !== currentCol.getAttribute('data-style-format')\n )\n .filter(Boolean);\n }\n\n if (originalAriaDescribedby.length) {\n currentFocusableElement.setAttribute(ARIA_DESCRIBEDBY, originalAriaDescribedby.join(' '));\n } else {\n currentFocusableElement.removeAttribute(ARIA_DESCRIBEDBY);\n }\n }\n }\n}\n\nexport default TableA11y;\n"]}
|
|
1
|
+
{"version":3,"file":"TableA11y.js","sourceRoot":"","sources":["../../../../Core/Views/Table/TableA11y.js"],"names":[],"mappings":"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","sourcesContent":["import { BaseA11y, rowErrorColumnMeta } from 'pega-repeating-structures-core';\n\nconst sortOrder = {\n row: 'aria-rowindex',\n column: 'aria-colindex'\n};\n\nconst TAB_INDEX = 'tabindex';\nconst DATA_INDEX = 'data-index';\nconst DATA_KEY = 'data-key';\nconst HEADER_MENU = '.header-menu';\nconst HEADER = 'header';\nconst ARIA_DESCRIBEDBY = 'aria-describedby';\n\nfunction gainFocus(element) {\n element.setAttribute(TAB_INDEX, 0);\n element.focus();\n element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n}\n\nfunction getHeaderColumnToFocusOnCtrlHome(columns) {\n return columns.find(column => {\n return !!column.querySelector(HEADER_MENU);\n });\n}\n\nfunction setFocusToFocusableElementOrCell(focusableElements, cell) {\n if (focusableElements.length === 1) focusableElements[0].focus();\n else gainFocus(cell);\n}\n\nclass TableA11y extends BaseA11y {\n constructor(\n selectors,\n focusableSelectors,\n // eslint-disable-next-line default-param-last\n customKeys = {},\n container,\n announcePolite,\n translate,\n actionableSelectors,\n ariaLabel\n ) {\n super(selectors, focusableSelectors, customKeys, container, actionableSelectors, ariaLabel);\n this.nextRowIndex = null;\n this.nextColumnIndex = null;\n this.targetIndex = -2;\n this.ctrlHomeKeyPressed = false;\n this.announcePolite = announcePolite;\n this.translate = translate;\n this.isTableLoaderFocussed = false;\n this.dataEntryMode = false;\n this.focusRestoreRafId = undefined;\n }\n\n reset() {\n this.nextRowIndex = null;\n this.nextColumnIndex = null;\n }\n\n getFocusableElementsInCell(column, isCalledFromEsc = false) {\n if (column) {\n const scalarListTag = '.scalarlist-component';\n const scalarListComponent = column.querySelector(scalarListTag);\n if (scalarListComponent) return [scalarListComponent];\n const elementsInColumn = column.querySelectorAll(\n this.focusableSelectors.concat(this.actionableSelectors).join(',')\n );\n if (!isCalledFromEsc && elementsInColumn.length > 1) {\n return [];\n }\n return column.querySelectorAll(this.focusableSelectors.join(','));\n }\n }\n\n getActionableElementsInCell(column) {\n return column.querySelectorAll(this.actionableSelectors.join(','));\n }\n\n getSortedColumns(row) {\n return [...row.querySelectorAll(this.selectors.focusElementSelector)].sort(\n (colA, colB) => colA.getAttribute(sortOrder.column) - colB.getAttribute(sortOrder.column)\n );\n }\n\n handleRightKeyPressForExpandCollapseAll(selectAllSelector) {\n const row = this.container.querySelector(this.selectors.parentElementSelector);\n let firstActionMenuSelector;\n if (row) {\n const sortedColumns = this.getSortedColumns(row);\n if (sortedColumns.length > 0) {\n const firstSortedColumnSelector = sortedColumns[0];\n firstActionMenuSelector = this.getFocusableElementsInCell(firstSortedColumnSelector);\n if (firstActionMenuSelector.length > 0) {\n return gainFocus(firstActionMenuSelector[0]);\n }\n const selectAllCheckboxSelector = this.container.querySelectorAll(selectAllSelector);\n if (selectAllCheckboxSelector.length === 0 && firstActionMenuSelector.length === 0) {\n return gainFocus(firstSortedColumnSelector);\n }\n }\n }\n return null;\n }\n\n // Below method is added to handle key events for expand and collapse all button\n handleExpandCollapseAllEvents(event, selectAllSelector) {\n const { keyCode, shiftKey } = event;\n switch (keyCode) {\n case this.keys.RIGHT: {\n event.preventDefault();\n this.handleRightKeyPressForExpandCollapseAll(selectAllSelector);\n break;\n }\n case this.keys.DOWN: {\n event.preventDefault();\n const stickyCells = this.container.querySelector(this.selectors.stickyGroupHeaderSelector);\n const nextfirstCell = stickyCells;\n const nextfirstCellChild = nextfirstCell.nextSibling;\n gainFocus(nextfirstCellChild);\n break;\n }\n case this.keys.UP:\n case this.keys.LEFT:\n event.preventDefault();\n break;\n case this.keys.TAB: {\n const currentCol = this.container\n .getRootNode()\n .activeElement.closest(this.selectors.focusElementSelector);\n this.containerTabHandler(event, currentCol, shiftKey);\n break;\n }\n default:\n break;\n }\n }\n\n // Below method is added to add/remove aria-label for rows with errors. Aria-label is added on first focus and removed if traversing in the same row\n handleAnnouncementForErrors(nextItem, currentCol, keyCode) {\n let elementWithErrorMessage = currentCol.querySelector('[data-error-message-set]');\n elementWithErrorMessage = currentCol.dataset.errorMessageSet\n ? currentCol\n : elementWithErrorMessage;\n const ARIA_LABEL = 'aria-label';\n if (elementWithErrorMessage) {\n const { ariaLabel: previousAriaLabel } = elementWithErrorMessage.dataset ?? {};\n if (previousAriaLabel) elementWithErrorMessage.setAttribute(ARIA_LABEL, previousAriaLabel);\n else elementWithErrorMessage.removeAttribute(ARIA_LABEL);\n }\n\n if (\n (keyCode !== this.keys.UP && keyCode !== this.keys.DOWN) ||\n nextItem\n .closest(this.selectors.focusElementSelector)\n ?.classList.contains(rowErrorColumnMeta.options.classList[0])\n )\n return;\n\n let errorMessage = nextItem.closest(this.selectors.parentElementSelector)?.dataset.errorMessage;\n if (errorMessage) {\n if (!nextItem.classList.contains(this.selectors.focusElementSelector.split('.')[1])) {\n if (nextItem.hasAttribute(ARIA_LABEL)) {\n errorMessage += `, ${nextItem.getAttribute(ARIA_LABEL)}`;\n nextItem.dataset.ariaLabel = nextItem.getAttribute(ARIA_LABEL);\n } else errorMessage += `, ${nextItem.textContent}`;\n }\n nextItem.setAttribute(ARIA_LABEL, errorMessage);\n nextItem.dataset.errorMessageSet = true;\n }\n }\n\n // Below method is added to set the focus on expand and collapse all button if left arrow key is pressed from actions button or select all checkbox\n handleKeyleftForButtonMoreSelectAll(event, selectAllSelector) {\n const { keyCode } = event;\n const row = this.container.querySelector(this.selectors.parentElementSelector);\n let firstActionMenuSelector;\n if (row) {\n const sortedColumns = this.getSortedColumns(row);\n if (sortedColumns.length > 0) {\n const firstSortedColumnSelector = sortedColumns[0];\n firstActionMenuSelector = this.getFocusableElementsInCell(firstSortedColumnSelector);\n const selectAllCheckboxSelector = this.container.querySelectorAll(selectAllSelector);\n if (\n ((firstActionMenuSelector.length > 0 && event.target === firstActionMenuSelector[0]) ||\n (selectAllCheckboxSelector.length === 0 &&\n firstActionMenuSelector.length === 0 &&\n event.target === firstSortedColumnSelector)) &&\n keyCode === this.keys.LEFT &&\n this.container.querySelector(this.selectors.expandCollpaseAll)\n ) {\n const expandCollapseSelector = this.container.querySelector(\n this.selectors.expandCollpaseAll\n );\n const expandCollapseButton = this.getFocusableElementsInCell(expandCollapseSelector);\n gainFocus(expandCollapseButton[0]);\n return true;\n }\n }\n }\n return false;\n }\n\n handleScrollOnUpArrowForGroupHeaders(event, pContainerSelector) {\n const pContainer = this.container.querySelector(pContainerSelector);\n if (\n pContainer &&\n event.keyCode === this.keys.UP &&\n event.target.getBoundingClientRect().y -\n (pContainer.firstChild.getBoundingClientRect().y +\n pContainer.firstChild.getBoundingClientRect().height) <\n event.target.getBoundingClientRect().height * 2\n ) {\n pContainer.scrollTop -= event.target.getBoundingClientRect().height * 2;\n }\n }\n\n // Used to update this.targetIndex on keydown which is later used by handleGroupHeaderEvents\n updateTargetColumnIndexForGroupHeader(event) {\n const { target, keyCode } = event;\n if (\n this.targetIndex === null ||\n this.targetIndex === -1 ||\n keyCode === this.keys.UP ||\n keyCode === this.keys.DOWN\n ) {\n if (target.closest(this.selectors.expandCollpaseAll)) {\n this.targetIndex = -1;\n return;\n }\n const cell = target.closest(this.selectors.focusElementSelector);\n let row = target.closest(this.selectors.parentElementSelector);\n row = this.getSortedColumns(row);\n\n this.targetIndex = [...row].indexOf(cell);\n }\n }\n\n handleUpDownKeyPressForGroupHeader(keyCode, target, cellToFocus, event) {\n // If the group header is at the last row and DOWN key is press then\n if (\n keyCode === this.keys.DOWN &&\n target.closest(this.selectors.parentElementSelector).nextElementSibling === null\n ) {\n // if footer exists\n const footer = this.container.querySelector(this.selectors.footer);\n const index = this.targetIndex < 0 ? 0 : this.targetIndex;\n if (footer) {\n const cell = this.getSortedColumns(\n footer.querySelector(this.selectors.parentElementSelector)\n )[index];\n setFocusToFocusableElementOrCell(this.getFocusableElementsInCell(cell), cell);\n }\n return true;\n }\n // If the focus came to the group header from the expand all button\n if (keyCode === this.keys.UP && this.targetIndex === -1) {\n this.container.querySelector(this.selectors.expandCollpaseAll).children[0].focus();\n } else {\n event.preventDefault();\n // If initially the group header is clicked and the keyboard is used\n if (cellToFocus && !cellToFocus.hasAttribute('tabindex')) {\n cellToFocus.setAttribute('tabindex', -1);\n }\n // Flushing the -1 index\n if (keyCode === this.keys.DOWN && this.targetIndex === -1) {\n this.targetIndex = 0;\n }\n if (cellToFocus) {\n cellToFocus.focus();\n }\n }\n return true;\n }\n\n handleLeftRightKeyPressForGroupHeader(keyCode, target, cellToFocus) {\n if (cellToFocus && !cellToFocus.hasAttribute('tabindex')) {\n cellToFocus.setAttribute('tabindex', -1);\n }\n\n if (!this.targetIndex) this.targetIndex = 0;\n if (cellToFocus) {\n setFocusToFocusableElementOrCell(this.getFocusableElementsInCell(cellToFocus), cellToFocus);\n }\n }\n\n handleGroupHeaderEvents(event) {\n const { keyCode, target, ctrlKey } = event;\n const index = this.targetIndex < 0 ? 0 : this.targetIndex;\n const cellToFocus = this.getSortedColumns(target.closest(this.selectors.parentElementSelector))[\n index\n ];\n\n switch (keyCode) {\n case this.keys.UP:\n case this.keys.DOWN: {\n return this.handleUpDownKeyPressForGroupHeader(keyCode, target, cellToFocus, event);\n }\n case this.keys.RIGHT:\n {\n // To Prevent Scrolling\n event.preventDefault();\n const row = target.closest(this.selectors.parentElementSelector);\n if (row.querySelector('.aggregate-button')) {\n const firstFocusableElementInRow = this.getSortedColumns(row)[0];\n this.handleLeftRightKeyPressForGroupHeader(keyCode, target, firstFocusableElementInRow);\n return false;\n }\n }\n break;\n case this.keys.TAB:\n if (cellToFocus) {\n cellToFocus.focus();\n }\n break;\n case this.keys.HOME:\n if (ctrlKey) {\n this.handleCtrlHomeKeypress();\n }\n break;\n default:\n break;\n }\n return true;\n }\n\n checkEventsForGroupHeader(event) {\n if (\n event.target &&\n (event.target.closest(this.selectors.focusElementSelector) ||\n event.target.closest(this.selectors.expandCollpaseAll))\n ) {\n this.updateTargetColumnIndexForGroupHeader(event);\n } else if (event.target && event.target.closest(this.selectors.stickyGroupHeaderSelector)) {\n return this.handleGroupHeaderEvents(event);\n }\n return true;\n }\n\n stopEventHandler(event) {\n return (\n event.target.getAttribute('data-context-menu-active') === 'true' ||\n (!event.target.closest(this.selectors.stickyGroupHeaderSelector) &&\n event.target.getAttribute('aria-expanded')) === 'true' ||\n event.target.closest('.popper') ||\n !Object.values(this.keys).includes(event.keyCode)\n );\n }\n\n handleLeftKeyPressOnAggregateCells(target, aggregateCell) {\n const firstCell = this.getSortedColumns(\n target.closest(this.selectors.parentElementSelector)\n )[0];\n if (firstCell === target.closest(aggregateCell)) {\n const groupHeaderButton = target\n .closest(this.selectors.parentElementSelector)\n ?.querySelector('.stickyGroupHeader > button');\n groupHeaderButton.focus();\n return false;\n }\n return true;\n }\n\n // eslint-disable-next-line class-methods-use-this\n isAccessibleElement(element) {\n return (\n !(element.hasAttribute('aria-hidden') && element.getAttribute('aria-hidden') === 'true') &&\n !(element.hasAttribute(TAB_INDEX) && element.getAttribute(TAB_INDEX) === '-1')\n );\n }\n\n getNextAccessibleElement(cellInputableElements, shiftKey = false, currentElementIndex = -1) {\n if (shiftKey) {\n cellInputableElements = [...cellInputableElements]\n .reverse()\n .slice(\n currentElementIndex !== -1 ? cellInputableElements.length - currentElementIndex : 0,\n cellInputableElements.length\n );\n } else {\n cellInputableElements = [...cellInputableElements].slice(\n currentElementIndex + 1,\n cellInputableElements.length\n );\n }\n return cellInputableElements.find(element => this.isAccessibleElement(element));\n }\n\n getAdjacentColumnCell(\n shiftKey,\n currentColumnIndex,\n currentEleParentIndex,\n sortedColumns,\n parentElements,\n currentCol\n ) {\n let nextColumnCell = null;\n if (shiftKey) {\n if (currentColumnIndex - 1 >= 0) {\n nextColumnCell = sortedColumns[sortedColumns.indexOf(currentCol) - 1];\n } else if (currentEleParentIndex - 1 >= 0) {\n sortedColumns = [\n ...parentElements[currentEleParentIndex - 1].querySelectorAll(\n this.selectors.focusElementSelector\n )\n ];\n currentEleParentIndex -= 1;\n nextColumnCell = sortedColumns[sortedColumns.length - 1];\n }\n } else if (currentColumnIndex + 1 < sortedColumns.length) {\n nextColumnCell = sortedColumns[sortedColumns.indexOf(currentCol) + 1];\n } else if (currentEleParentIndex + 1 < parentElements.length) {\n sortedColumns = [\n ...parentElements[currentEleParentIndex + 1].querySelectorAll(\n this.selectors.focusElementSelector\n )\n ];\n currentEleParentIndex += 1;\n\n nextColumnCell = sortedColumns[0];\n }\n return [nextColumnCell, sortedColumns, currentEleParentIndex];\n }\n\n // This method is to recursively find the next column cell with actionable or focusable elements and skip any empty cells\n getNextColumnCellInTaborder(\n sortedColumns,\n currentCol,\n shiftKey,\n parentElements,\n currentEleParentIndex\n ) {\n if (!currentCol) {\n return null;\n }\n let nextColumnCell = null;\n const currentColumnIndex = sortedColumns.indexOf(currentCol);\n [nextColumnCell, sortedColumns, currentEleParentIndex] = this.getAdjacentColumnCell(\n shiftKey,\n currentColumnIndex,\n currentEleParentIndex,\n sortedColumns,\n parentElements,\n currentCol\n );\n const elements =\n nextColumnCell &&\n nextColumnCell.querySelectorAll(\n [...this.actionableSelectors, ...this.focusableSelectors].join(',')\n );\n if (elements?.length) {\n return nextColumnCell;\n }\n return this.getNextColumnCellInTaborder(\n sortedColumns,\n nextColumnCell,\n shiftKey,\n parentElements,\n currentEleParentIndex\n );\n }\n\n isFocusableElement(element) {\n const colItem = element?.closest(this.selectors.focusElementSelector);\n if (!colItem) return false;\n return [...colItem.querySelectorAll(this.focusableSelectors.join(','))].includes(element);\n }\n\n handleTabKey(shiftKey) {\n const parentElements = this.container.querySelectorAll(this.selectors.parentElementSelector);\n const rootNode = this.container.getRootNode();\n const currentCol = rootNode.activeElement?.closest(this.selectors.focusElementSelector);\n const currentEleParentIndex = [...parentElements].indexOf(\n currentCol.closest(this.selectors.parentElementSelector)\n );\n const currentColumnElements = Array.from(\n currentCol.querySelectorAll(\n [...this.actionableSelectors, ...this.focusableSelectors].join(',')\n )\n );\n const currentEleIndex = currentColumnElements.indexOf(rootNode.activeElement);\n\n const sortedColumns = this.getSortedColumns(\n currentCol.closest(this.selectors.parentElementSelector)\n );\n\n const nextColumnCell = this.getNextColumnCellInTaborder(\n sortedColumns,\n currentCol,\n shiftKey,\n parentElements,\n currentEleParentIndex\n );\n\n if (\n (!shiftKey && currentEleIndex + 1 < currentColumnElements.length) ||\n (shiftKey && currentEleIndex - 1 >= 0)\n ) {\n return false;\n }\n if (nextColumnCell) {\n const nextColumnCellElements = nextColumnCell.querySelectorAll(\n [...this.actionableSelectors, ...this.focusableSelectors].join(',')\n );\n if (nextColumnCellElements.length !== 0) return false;\n }\n this.updateDataEntry();\n return true;\n }\n\n updateDataEntry(updateForHandler, focusElements, nextFocusElement) {\n switch (updateForHandler) {\n case 'click':\n if (focusElements.length === 1) {\n const hasFocusableElement = Array.from(focusElements).some(element =>\n this.focusableSelectors.some(selector => element.matches(selector))\n );\n this.dataEntryMode = !hasFocusableElement;\n } else if (nextFocusElement) {\n this.dataEntryMode = true;\n } else {\n this.dataEntryMode = false;\n }\n break;\n\n case 'enter':\n this.dataEntryMode = true;\n break;\n\n default:\n this.dataEntryMode = false;\n }\n }\n\n clickHandler(event) {\n const cell = event?.target?.closest(this.selectors.focusElementSelector);\n if (cell && cell !== event.target) {\n const focusElements = cell.querySelectorAll(\n this.focusableSelectors.concat(this.actionableSelectors).join(',')\n );\n const nextFocusElement = this.getNextAccessibleElement(focusElements);\n this.updateDataEntry('click', focusElements, nextFocusElement);\n } else {\n this.updateDataEntry();\n }\n }\n\n handleEnterKey(target) {\n const focusElements = target.querySelectorAll(\n this.focusableSelectors.concat(this.actionableSelectors).join(',')\n );\n const nextFocusElement = this.getNextAccessibleElement(focusElements);\n // register escape event for RTE to support event bubbling\n if (nextFocusElement?.nodeName === 'IFRAME') {\n this.registerEscapeEventForRTE(nextFocusElement);\n target.tabIndex = -1;\n } else if (nextFocusElement) {\n this.updateDataEntry('enter');\n gainFocus(nextFocusElement);\n target.tabIndex = -1;\n }\n }\n\n handleEscapeKey(target) {\n const cell = target.closest(this.selectors.focusElementSelector);\n if (\n cell &&\n (this.getFocusableElementsInCell(cell, true).length > 1 ||\n this.getActionableElementsInCell(cell).length >= 1)\n ) {\n this.updateDataEntry();\n gainFocus(cell);\n }\n if (this.getFocusableElementsInCell(cell, true).length === 1) {\n this.updateDataEntry();\n }\n\n return !cell;\n }\n\n registerEscapeEventForRTE(target) {\n const iframeContent = target.contentWindow || target.contentDocument;\n if (iframeContent?.document) {\n this.updateDataEntry('enter');\n iframeContent.document.querySelector(\"[contenteditable='true']\").focus();\n if (!iframeContent.document.escapeKeyHandlerInjected) {\n iframeContent.document.addEventListener('keydown', event => {\n if (event.keyCode === this.keys.ESCAPE) {\n const escapeEvent = new KeyboardEvent('keydown', {\n key: 'Escape',\n code: 'Escape',\n keyCode: this.keys.ESCAPE,\n bubbles: true\n });\n target.dispatchEvent(escapeEvent);\n }\n });\n }\n iframeContent.document.escapeKeyHandlerInjected = true;\n }\n }\n\n tableLoaderHandler(event) {\n const { keyCode } = event;\n switch (keyCode) {\n case this.keys.LEFT:\n case this.keys.RIGHT:\n case this.keys.UP:\n case this.keys.DOWN: {\n event.preventDefault();\n break;\n }\n case this.keys.TAB: {\n this.tabHandler(event);\n this.isTableLoaderFocussed = false;\n break;\n }\n default:\n break;\n }\n }\n\n // Below method is overridden to handle key events for expand and collapse all button, group headers\n a11yHandler(event) {\n const buttonMoreSelector = '.button-more';\n const selectAllSelector = '.select-all-checkbox';\n const selectHeaderWithoutCheckbox = '.row-select-handle';\n const pContainerSelector = '.pContainer';\n const aggregateCell = '.aggregateCell';\n const rootNode = this.container.getRootNode();\n let shouldCallSuper = true;\n const tableLoader = this.container.querySelector(this.selectors.tableLoader);\n const currentCol = rootNode.activeElement.closest(this.selectors.focusElementSelector);\n\n // Handling the key handling events for Loading indicator\n if (tableLoader && tableLoader === event.target) {\n this.tableLoaderHandler(event);\n return;\n }\n\n // Handling events related to group header\n if (this.container.querySelector(this.selectors.stickyGroupHeaderSelector)) {\n shouldCallSuper = this.checkEventsForGroupHeader(event);\n }\n\n // To handle left click from first aggregate cell\n if (event.target && event.target.closest(aggregateCell) && event.keyCode === this.keys.LEFT) {\n shouldCallSuper = this.handleLeftKeyPressOnAggregateCells(event.target, aggregateCell);\n }\n\n // Arrow key handlers restriction for data entry mode\n if (\n event.target &&\n this.dataEntryMode &&\n currentCol !== rootNode.activeElement &&\n (event.keyCode === this.keys.RIGHT ||\n event.keyCode === this.keys.LEFT ||\n event.keyCode === this.keys.UP ||\n event.keyCode === this.keys.DOWN)\n ) {\n return;\n }\n // Enter key handler\n if (event.target && event.keyCode === this.keys.ENTER) {\n this.handleEnterKey(event.target);\n }\n\n // Escape key handler\n if (event.target && event.keyCode === this.keys.ESCAPE) {\n this.handleEscapeKey(event.target);\n }\n\n // Tab key handler\n if (\n event.target &&\n event.keyCode === this.keys.TAB &&\n this.dataEntryMode &&\n currentCol !== rootNode.activeElement\n ) {\n shouldCallSuper = this.handleTabKey(event.shiftKey);\n }\n\n if (!shouldCallSuper) return;\n\n // Handling events for expand and collapse all button & handling scrolling for group header\n if (event.target && event.target.closest(this.selectors.expandCollpaseAll)) {\n this.handleExpandCollapseAllEvents(event, selectAllSelector);\n return;\n }\n if (event.target && event.target.closest(this.selectors.stickyGroupHeaderSelector)) {\n this.handleScrollOnUpArrowForGroupHeaders(event, pContainerSelector);\n }\n if (\n event.target &&\n (event.target.closest(buttonMoreSelector) ||\n event.target.closest(selectAllSelector) ||\n event.target.closest(selectHeaderWithoutCheckbox))\n ) {\n if (!this.handleKeyleftForButtonMoreSelectAll(event, selectAllSelector)) {\n // if focus is not handed in handleKeyLeftForButtonMoreSelectAll then invoke super.a11yHandler\n super.a11yHandler(event);\n }\n return;\n }\n super.a11yHandler(event);\n }\n\n // Below method is overridden to set the focus on expand and collapse all button if grouping is applied, to set the focus on table loader if navigated from toolbar by pressing tab key\n focusFirstElement() {\n if (this.container.querySelector(this.selectors.tableLoader)) {\n const tableLoadingIndicator = this.container.querySelector(this.selectors.tableLoader);\n tableLoadingIndicator.focus();\n this.isTableLoaderFocussed = true;\n return;\n }\n if (this.container.querySelector(this.selectors.expandCollpaseAll)) {\n const expandCollapseSelector = this.container.querySelector(this.selectors.expandCollpaseAll);\n const expandCollapseButton = this.getFocusableElementsInCell(expandCollapseSelector);\n gainFocus(expandCollapseButton[0]);\n return;\n }\n super.focusFirstElement();\n }\n\n setFocusOnLoader(loader, currentCol) {\n super.setFocusOnLoader(loader, currentCol);\n const nextRowIndexDirection = loader.classList.contains(this.selectors.aboveLoader.substr(1))\n ? -1\n : 1;\n this.nextColumnIndex = currentCol.getAttribute(sortOrder.column);\n this.nextRowIndex =\n parseInt(\n currentCol.closest(this.selectors.parentElementSelector).getAttribute(sortOrder.row),\n 10\n ) + nextRowIndexDirection;\n }\n\n dynamicLoadersKeyDownHandler(event) {\n if (super.dynamicLoadersKeyDownHandler(event)) {\n this.reset();\n }\n }\n\n /**\n * Finds the target row for focus restoration using a three-level fallback strategy.\n *\n * Note: This method is only called when focus was on a data row (rowIndex is defined).\n * Header row focus is handled separately in #performFocusRestoration.\n *\n * This method attempts to locate a row in the following order:\n * 1. By row key (data-key) - handles cases where row moved but wasn't deleted (e.g., moved between groups)\n * 2. By row index (data-index) - handles same position restoration when row at that position exists\n * 3. Last available row - handles last row deletion by falling back to the new last row (data or header)\n *\n * @param {number} rowIndex - The 0-based index of the row from focus snapshot (always defined when called).\n * @param {string | undefined} rowKey - The unique key of the row from focus snapshot (may be undefined for grouped rows).\n * @returns {HTMLElement | null} The target row element, or null if no rows exist in the table.\n * @private\n */\n #findTargetRowForRestoration(rowIndex, rowKey) {\n let targetRow = null;\n // If row key exists, it wasn't removed but position might be changed.(e.g. row moved from 1 group to another after edit operation)\n if (rowKey) {\n targetRow = this.container.querySelector(`[${DATA_KEY}=\"${rowKey}\"]`);\n }\n\n // Try to find the row at the same position.\n if (!targetRow) {\n targetRow = this.container.querySelector(`[${DATA_INDEX}=\"${rowIndex}\"]`);\n }\n\n // Fall back to the new last available row(it can be header row also if there is no data row)\n if (!targetRow) {\n const allRows = this.container.querySelectorAll(this.selectors.parentElementSelector);\n targetRow = allRows[allRows.length - 1];\n }\n\n return targetRow;\n }\n\n /**\n * Extracts a focusable element from the given element or returns the element itself.\n *\n * If the element contains exactly one focusable element, returns that element.\n * Otherwise, returns the element itself for keyboard navigation.\n *\n * @param {HTMLElement | null} element - The element to extract focusable element from.\n * @returns {HTMLElement | null} The focusable element if exactly one exists, otherwise the element itself, or null if element is null.\n * @private\n */\n #getFocusableOrElement(element) {\n if (!element) return null;\n\n const focusables = this.getFocusableElementsInCell(element);\n return focusables.length === 1 ? focusables[0] : element;\n }\n\n /**\n * Finds the target cell within a given row.\n *\n * This method handles three types of rows:\n * 1. Header rows - always focuses the first cell (colIndex 1)\n * 2. Grouped rows - focuses the sticky group header element\n * 3. Data rows - focuses the cell at the specified column index\n *\n * @param {HTMLElement} targetRow - The row element to find the cell within.\n * @param {number} [colIndex=1] - The 1-based column index. Defaults to 1 for first column.\n * @returns {HTMLElement | null} The focusable element within the target cell, or null if not found.\n * @private\n */\n #findTargetCell(targetRow, colIndex = 1) {\n // 1. If it's a header row\n if (TableA11y.isHeaderRow(targetRow)) {\n // If its header row, always move to first cell\n colIndex = 1;\n }\n\n // 2. Try group header first, then fallback to column cell with colIndex.\n const targetElement =\n targetRow.querySelector(this.selectors.stickyGroupHeaderSelector) ||\n targetRow.querySelector(`[aria-colindex=\"${colIndex}\"]`);\n\n return this.#getFocusableOrElement(targetElement);\n }\n\n /**\n * Checks if the given element is a header row.\n *\n * @param {HTMLElement} element - The element to check.\n * @returns {boolean} True if the element is a header row, false otherwise.\n * @static\n */\n static isHeaderRow(element) {\n return element.classList.contains(HEADER);\n }\n\n /**\n * Gets the add button element from the table container.\n *\n * @returns {HTMLElement | null} The add button element, or null if not found.\n * @private\n */\n #getAddButton() {\n // TODO: Embedded Data add button should be handled via this logic only. Currently being rendered outside of table.\n return this.selectors.addActionSelector\n ? this.container.parentElement.querySelector(this.selectors.addActionSelector)\n : null;\n }\n\n /**\n * Restores focus using the captured focus snapshot.\n *\n * Attempts to restore focus to the most appropriate location:\n * - For header rows: Restores focus to the same column in the header\n * - For empty tables (header only): Focuses the add button if available, otherwise the header\n * - For tables with data: Focuses the same or nearest row and column from the snapshot\n *\n * @private\n */\n #performFocusRestoration() {\n const { rowIndex, colIndex, rowKey } = this.focusState.focusSnapshot;\n const wasHeaderRow = rowIndex === undefined;\n\n // Early exit: if focus was on header row, restore to same column in header\n if (wasHeaderRow) {\n const cell = this.container.querySelector(`.${HEADER} [aria-colindex=\"${colIndex ?? 1}\"]`);\n const focusTarget = this.#getFocusableOrElement(cell);\n if (focusTarget) {\n gainFocus(focusTarget);\n return;\n }\n }\n\n // Handle data rows restoration with multiple fallbacks.\n const targetRow = this.#findTargetRowForRestoration(rowIndex, rowKey);\n if (!targetRow) return;\n\n // If targetRow is headerRow that means no data records available, check for Add action first to set the focus to add action.\n let focusTarget = null;\n if (TableA11y.isHeaderRow(targetRow)) {\n focusTarget = this.#getAddButton();\n }\n\n // Fallback to cell restoration if no add button was found.\n if (!focusTarget) {\n focusTarget = this.#findTargetCell(targetRow, colIndex);\n }\n\n if (focusTarget) {\n gainFocus(focusTarget);\n }\n }\n\n itemsLoadedCallback() {\n // Handle ctrl+Home restoration (highest priority)\n if (this.ctrlHomeKeyPressed) {\n // ctrl+Home keypress happens on any cell but when initial rows are not present in container fetch happens for those rows\n // on rerender of the container focus the row1 data col1 of the table\n this.ctrlHomeKeyPressed = false;\n this.handleCtrlHomeKeypress();\n return;\n }\n\n // Below if condition is written to announce Loading completed once the table loader is hidden and we are also shifting the\n // focus on firstfocusableelement once the table Loader is hidden\n if (this.isTableLoaderFocussed && !this.container.querySelector(this.selectors.tableLoader)) {\n this.announcePolite({\n message: this.translate('Loading completed'),\n type: 'info'\n });\n this.focusFirstElement();\n this.isTableLoaderFocussed = false;\n return;\n }\n\n // Handle dynamic loader restoration (second priority)\n if (this.nextRowIndex && this.nextColumnIndex) {\n const row = this.container.querySelector(`[${sortOrder.row}='${this.nextRowIndex}']`);\n if (row) {\n const column = row.querySelector(`[${sortOrder.column}='${this.nextColumnIndex}']`);\n const restoreFocusRef = {\n columnIndex: [\n ...this.container.querySelectorAll(this.selectors.focusElementSelector)\n ].indexOf(column)\n };\n this.reset();\n this.setFocusToCell(restoreFocusRef);\n return;\n }\n }\n\n if (!this.focusState || !this.focusState.hadFocus) {\n return;\n }\n\n // Cancel any previously scheduled restoration frame to avoid stacking callbacks.\n if (this.focusRestoreRafId !== undefined) {\n cancelAnimationFrame(this.focusRestoreRafId);\n }\n\n // Defer until after paint: during re-render focus moves to <body> (relatedTarget is null),\n // so we wait one frame for React to flush and the DOM to settle before restoring.\n this.focusRestoreRafId = requestAnimationFrame(() => {\n const rootNode = this.container.getRootNode();\n const focusOutsideContainer = !this.container.contains(rootNode.activeElement);\n const isFocusLost = focusOutsideContainer && this.focusState.hadFocus;\n if (isFocusLost) {\n this.#performFocusRestoration();\n }\n this.focusRestoreRafId = undefined;\n });\n }\n\n isFirstDataRowInDOM() {\n return !!this.container.querySelector(`[${DATA_INDEX}='0']`);\n }\n\n getFocusableElementOnCtrlHome() {\n if (this.isFirstDataRowInDOM() && this.selectors.parentElementSelector) {\n const firstRow = this.container.querySelector(this.selectors.parentElementSelector);\n const sortedColumns = this.getSortedColumns(firstRow);\n if (firstRow.classList.contains(HEADER)) {\n // when header row is present focus first data column in the header\n return getHeaderColumnToFocusOnCtrlHome(sortedColumns);\n }\n // when there's no header focus row2 col1 element\n return sortedColumns[0];\n }\n // fetch 1st set of rows by setting scrollTop to 0 & then focus (handled in itemsLoadedCallback)\n this.ctrlHomeKeyPressed = true;\n return null;\n }\n\n toggleStyleFormatAriaDescription(nextCol, currentCol) {\n const nextColFocusableElements = this.getFocusableElementsInCell(nextCol);\n const currentColFocusableElements = this.getFocusableElementsInCell(currentCol);\n\n if (nextColFocusableElements.length === 1) {\n const nextFocusableElement = nextColFocusableElements[0];\n const nextElementAriaDescribedby = nextFocusableElement.getAttribute(ARIA_DESCRIBEDBY);\n\n const styleFormatId = nextCol.getAttribute('data-style-format');\n if (styleFormatId) {\n const combinedAriaDescribedby = [styleFormatId, nextElementAriaDescribedby]\n .filter(Boolean)\n .join(' ');\n nextFocusableElement.setAttribute(ARIA_DESCRIBEDBY, combinedAriaDescribedby);\n }\n }\n\n if (currentColFocusableElements.length === 1) {\n const currentFocusableElement = currentColFocusableElements[0];\n\n let originalAriaDescribedby = [];\n const currentAriaDescribedby = currentFocusableElement.getAttribute(ARIA_DESCRIBEDBY);\n if (currentAriaDescribedby) {\n originalAriaDescribedby = currentAriaDescribedby\n .split(' ')\n .filter(\n ariaDescribedby => ariaDescribedby !== currentCol.getAttribute('data-style-format')\n )\n .filter(Boolean);\n }\n\n if (originalAriaDescribedby.length) {\n currentFocusableElement.setAttribute(ARIA_DESCRIBEDBY, originalAriaDescribedby.join(' '));\n } else {\n currentFocusableElement.removeAttribute(ARIA_DESCRIBEDBY);\n }\n }\n }\n\n onFocusHandler() {\n // Update focus snapshot on every on focus event.\n super.onFocusHandler();\n const rootNode = this.container.getRootNode();\n if (rootNode instanceof Document || rootNode instanceof ShadowRoot) {\n const activeElement = rootNode.activeElement;\n const currentCol = activeElement?.closest(this.selectors.focusElementSelector);\n const currentRow = activeElement?.closest(this.selectors.parentElementSelector);\n // Ignoring header row. Capture snapshot for data rows only as of now.\n if (currentRow) {\n this.focusState.focusSnapshot.rowIndex = currentRow.getAttribute('data-index')\n ? parseInt(currentRow.getAttribute('data-index'), 10)\n : undefined;\n this.focusState.focusSnapshot.rowKey = currentRow.getAttribute('data-key') ?? undefined;\n }\n // Column may not be captured on every focus so preserve the last captured column.\n if (currentCol) {\n this.focusState.focusSnapshot.colIndex = parseInt(\n currentCol.getAttribute('aria-colindex'),\n 10\n );\n }\n }\n }\n\n onBlurHandler(event) {\n const relatedTarget = event.relatedTarget;\n\n // If focus left the document entirely (e.g., moved to <body> during re-render), no loader\n // can be the destination — skip the DOM queries and delegate immediately.\n if (!relatedTarget) {\n super.onBlurHandler(event);\n return;\n }\n\n // If focus moved to a loader, preserve hadFocus for restoration after loader completes.\n // relatedTarget is guaranteed non-null here, so no null guard needed on the loaders.\n const tableLoader = this.container.querySelector(this.selectors.tableLoader);\n const aboveLoader = this.container.querySelector(this.selectors.aboveLoader);\n const belowLoader = this.container.querySelector(this.selectors.belowLoader);\n\n if (\n relatedTarget === tableLoader ||\n relatedTarget === aboveLoader ||\n relatedTarget === belowLoader\n ) {\n return;\n }\n\n // Delegate to base class for standard blur handling (contains check and hadFocus update)\n super.onBlurHandler(event);\n }\n}\n\nexport default TableA11y;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare function VirtualizeWrapper({ view, children, id, renderHeader, rowContainerClass, renderFooter, isFullscreen }: {
|
|
1
|
+
declare function VirtualizeWrapper({ view, children, id, renderHeader, rowContainerClass, renderFooter, isFullscreen, useVariableRowHeightVirtualization, bufferMultiplier }: {
|
|
2
2
|
view: any;
|
|
3
3
|
children: any;
|
|
4
4
|
id: any;
|
|
@@ -6,6 +6,8 @@ declare function VirtualizeWrapper({ view, children, id, renderHeader, rowContai
|
|
|
6
6
|
rowContainerClass?: string | undefined;
|
|
7
7
|
renderFooter?: null | undefined;
|
|
8
8
|
isFullscreen?: boolean | undefined;
|
|
9
|
+
useVariableRowHeightVirtualization?: boolean | undefined;
|
|
10
|
+
bufferMultiplier: any;
|
|
9
11
|
}): import("react/jsx-runtime").JSX.Element;
|
|
10
12
|
declare namespace VirtualizeWrapper {
|
|
11
13
|
namespace propTypes {
|
|
@@ -18,6 +20,8 @@ declare namespace VirtualizeWrapper {
|
|
|
18
20
|
[x: string]: any;
|
|
19
21
|
}>;
|
|
20
22
|
let isFullscreen: PropTypes.Requireable<boolean>;
|
|
23
|
+
let useVariableRowHeightVirtualization: PropTypes.Requireable<boolean>;
|
|
24
|
+
let bufferMultiplier: PropTypes.Requireable<number>;
|
|
21
25
|
}
|
|
22
26
|
}
|
|
23
27
|
export default VirtualizeWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizeWrapper.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Table/VirtualizeWrapper.jsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VirtualizeWrapper.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Table/VirtualizeWrapper.jsx"],"names":[],"mappings":"AAiBA;;;;;;;;;;4CA4JC;;;;;;;;;;;;;;;;;sBA7KqB,YAAY"}
|
|
@@ -1,26 +1,38 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';
|
|
5
|
+
import { usePrevious } from '@pega/cosmos-react-core';
|
|
5
6
|
import Virtualize from '../../Components/Virtualise';
|
|
6
7
|
import VirtualizeInfinite from '../../Components/Virtualise/VirtualizeInfinite';
|
|
8
|
+
import VariableHeightVirtualizer from '../../Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer';
|
|
7
9
|
import { isPaginationRequestCompleted } from '../../Components/Virtualise/utility';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
import { isFilterApplied } from '../../Utils';
|
|
11
|
+
import EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';
|
|
12
|
+
import useTranslate from '../../Hooks/useTranslate';
|
|
13
|
+
import Row from './Row';
|
|
14
|
+
import useCountChange from './useCountChange';
|
|
15
|
+
export default function VirtualizeWrapper({ view, children, id, renderHeader = null, rowContainerClass = '', renderFooter = null, isFullscreen = false,
|
|
16
|
+
// TODO: Remove this prop and deprecate older virtualizers once we fully migrate to variable row height virtualizer for gallery and grouped list views
|
|
17
|
+
useVariableRowHeightVirtualization = false, bufferMultiplier }) {
|
|
18
|
+
const { state, meta } = view;
|
|
19
|
+
const { filterExpression, searchText, externalState } = state;
|
|
20
|
+
const [translate] = useTranslate();
|
|
10
21
|
const paginationPayload = useRef({});
|
|
11
22
|
const [isFetching, setIsFetching] = useState(false);
|
|
12
23
|
const [hasMoreResults, setHasMoreResults] = useState(false);
|
|
13
|
-
const
|
|
14
|
-
? false
|
|
15
|
-
: !view.state?.groups?.length && isEmpty(view.resultsCount);
|
|
16
|
-
if (!infiniteModeTable && !isProgressiveVirtualizerEverLoaded.current) {
|
|
17
|
-
isProgressiveVirtualizerEverLoaded.current = true;
|
|
18
|
-
}
|
|
24
|
+
const previousTotalItemCount = usePrevious(view.totalItemCount);
|
|
19
25
|
const paginationCallback = useCallback((payload, payloadMeta) => {
|
|
20
|
-
|
|
26
|
+
const updatedPayload = meta.template === REPEATING_STRUCTURE_TEMPLATES.GALLERY
|
|
27
|
+
? { ...payload, startIndex: 0 }
|
|
28
|
+
: payload;
|
|
29
|
+
paginationPayload.current = updatedPayload;
|
|
21
30
|
setIsFetching(true);
|
|
22
|
-
view.type.onPaginate(
|
|
31
|
+
view.type.onPaginate(updatedPayload, payloadMeta);
|
|
23
32
|
}, [view.type.onPaginate]);
|
|
33
|
+
const renderEmptyRecords = useCallback(() => (_jsx(EmptyContainer, { message: isFilterApplied({ filterExpression, searchText, externalState }, meta.externalFilters)
|
|
34
|
+
? translate('No records found')
|
|
35
|
+
: translate('No records'), shouldAnnounce: previousTotalItemCount > 0 && view.totalItemCount === 0, domContainer: view.getDomContainer() })), [filterExpression, searchText, externalState, meta.externalFilters, view.totalItemCount]);
|
|
24
36
|
useEffect(() => {
|
|
25
37
|
if (view.isInstantRender)
|
|
26
38
|
return;
|
|
@@ -33,16 +45,25 @@ export default function VirtualizeWrapper({ view, children, id, renderHeader = n
|
|
|
33
45
|
const requestedRows = paginationPayload.current.endIndex - paginationPayload.current.startIndex + 1;
|
|
34
46
|
setHasMoreResults(view.rows?.length === requestedRows);
|
|
35
47
|
}, [view.isInstantRender, view.state?.paginationOptions?.[id]]);
|
|
36
|
-
|
|
48
|
+
useCountChange(view, isFetching, view.getVirtualizeElement?.(id)?.notifyCountChange);
|
|
49
|
+
if (useVariableRowHeightVirtualization) {
|
|
50
|
+
const paginationStartIndex = view?.state?.paginationOptions?.rootVirtualiser?.startIndex || 0;
|
|
51
|
+
return (_jsx(VariableHeightVirtualizer, { id: id, totalItemCount: view.totalItemCount, isDataFetching: isFetching, loadedDataRange: view?.state?.paginationOptions?.[id] || {}, apiCallback: paginationCallback, defaultItemHeight: 40, maxItemsToPaint: 5000, renderHeader: renderHeader, renderFooter: renderFooter, renderEmptyRecords: renderEmptyRecords, itemContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, ref: r => {
|
|
52
|
+
view.putVirtualizeElement(id, r);
|
|
53
|
+
view.setScrollNode(r?.getBufferContainer());
|
|
54
|
+
}, viewMaxHeight: isFullscreen ? null : view.bodyHeight, minHeightWhenNoItemsRendered: '100px', children: view?.groupHeaders?.[0]?.getRows()?.map((row, index) => (_jsx(Row, { row: row, columns: view.columns, level: 0, dataIndex: paginationStartIndex + index }, row.reactKey))) }));
|
|
55
|
+
}
|
|
56
|
+
if (meta.template === REPEATING_STRUCTURE_TEMPLATES.GALLERY) {
|
|
37
57
|
return (_jsx(VirtualizeInfinite, { id: id, viewMaxHeight: isFullscreen ? null : view.bodyHeight, itemHeight: view.rowHeight, callback: paginationCallback, isFetching: isFetching, hasMoreResults: hasMoreResults, renderHeader: renderHeader, renderFooter: renderFooter, ref: r => {
|
|
38
58
|
view.putVirtualizeElement(id, r);
|
|
39
59
|
view.setScrollNode(r && r.vi && r.vi.bContainer);
|
|
40
|
-
}, rowContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, state: view.state?.paginationOptions?.[id], resetCount: view.isCountUpdateRequired, showLoadingIndicator:
|
|
60
|
+
}, rowContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, state: view.state?.paginationOptions?.[id], resetCount: view.isCountUpdateRequired, showLoadingIndicator: true, renderEmptyRecords: renderEmptyRecords, bufferMultiplier: bufferMultiplier, children: children }));
|
|
41
61
|
}
|
|
62
|
+
// Only used for grouped table
|
|
42
63
|
return (_jsx(Virtualize, { id: id, viewMaxHeight: isFullscreen ? null : view.bodyHeight, totalRecordCount: view.totalItemCount, itemHeight: view.rowHeight, callback: paginationCallback, isFetching: isFetching, renderHeader: renderHeader, renderFooter: renderFooter, ref: r => {
|
|
43
64
|
view.putVirtualizeElement(id, r);
|
|
44
65
|
view.setScrollNode(r && r.vi && r.vi.bContainer);
|
|
45
|
-
}, rowContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, state: view.state?.paginationOptions?.[id], showLoadingIndicator:
|
|
66
|
+
}, rowContainerClass: `${rowContainerClass} ${view.rowHeightClass}`, state: view.state?.paginationOptions?.[id], showLoadingIndicator: true, renderEmptyRecords: renderEmptyRecords, bufferMultiplier: bufferMultiplier, children: children }));
|
|
46
67
|
}
|
|
47
68
|
VirtualizeWrapper.propTypes = {
|
|
48
69
|
children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,
|
|
@@ -51,6 +72,8 @@ VirtualizeWrapper.propTypes = {
|
|
|
51
72
|
renderFooter: PropTypes.func,
|
|
52
73
|
rowContainerClass: PropTypes.string,
|
|
53
74
|
view: PropTypes.objectOf(PropTypes.any).isRequired,
|
|
54
|
-
isFullscreen: PropTypes.bool
|
|
75
|
+
isFullscreen: PropTypes.bool,
|
|
76
|
+
useVariableRowHeightVirtualization: PropTypes.bool,
|
|
77
|
+
bufferMultiplier: PropTypes.number
|
|
55
78
|
};
|
|
56
79
|
//# sourceMappingURL=VirtualizeWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizeWrapper.js","sourceRoot":"","sources":["../../../../Core/Views/Table/VirtualizeWrapper.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { isEmpty, REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';\n\nimport Virtualize from '../../Components/Virtualise';\nimport VirtualizeInfinite from '../../Components/Virtualise/VirtualizeInfinite';\nimport { isPaginationRequestCompleted } from '../../Components/Virtualise/utility';\n\nexport default function VirtualizeWrapper({\n view,\n children,\n id,\n renderHeader = null,\n rowContainerClass = '',\n renderFooter = null,\n isFullscreen = false\n}) {\n const isProgressiveVirtualizerEverLoaded = useRef(false);\n const paginationPayload = useRef({});\n\n const [isFetching, setIsFetching] = useState(false);\n const [hasMoreResults, setHasMoreResults] = useState(false);\n\n const infiniteModeTable = isProgressiveVirtualizerEverLoaded.current\n ? false\n : !view.state?.groups?.length && isEmpty(view.resultsCount);\n\n if (!infiniteModeTable && !isProgressiveVirtualizerEverLoaded.current) {\n isProgressiveVirtualizerEverLoaded.current = true;\n }\n\n const paginationCallback = useCallback(\n (payload, payloadMeta) => {\n paginationPayload.current = payload;\n setIsFetching(true);\n view.type.onPaginate(payload, payloadMeta);\n },\n [view.type.onPaginate]\n );\n\n useEffect(() => {\n if (view.isInstantRender) return;\n\n const isRequestComplete = isPaginationRequestCompleted(\n paginationPayload.current,\n view.state?.paginationOptions?.[id]\n );\n setIsFetching(!isRequestComplete);\n }, [view.isInstantRender, view.state?.paginationOptions?.[id]]);\n\n useEffect(() => {\n if (view.isInstantRender || !paginationPayload.current) return;\n\n const requestedRows =\n paginationPayload.current.endIndex - paginationPayload.current.startIndex + 1;\n setHasMoreResults(view.rows?.length === requestedRows);\n }, [view.isInstantRender, view.state?.paginationOptions?.[id]]);\n\n if (infiniteModeTable) {\n return (\n <VirtualizeInfinite\n id={id}\n viewMaxHeight={isFullscreen ? null : view.bodyHeight}\n itemHeight={view.rowHeight}\n callback={paginationCallback}\n isFetching={isFetching}\n hasMoreResults={hasMoreResults}\n renderHeader={renderHeader}\n renderFooter={renderFooter}\n ref={r => {\n view.putVirtualizeElement(id, r);\n view.setScrollNode(r && r.vi && r.vi.bContainer);\n }}\n rowContainerClass={`${rowContainerClass} ${view.rowHeightClass}`}\n state={view.state?.paginationOptions?.[id]}\n resetCount={view.isCountUpdateRequired}\n showLoadingIndicator={view.meta.template === REPEATING_STRUCTURE_TEMPLATES.TABLE}\n >\n {children}\n </VirtualizeInfinite>\n );\n }\n\n return (\n <Virtualize\n id={id}\n viewMaxHeight={isFullscreen ? null : view.bodyHeight}\n totalRecordCount={view.totalItemCount}\n itemHeight={view.rowHeight}\n callback={paginationCallback}\n isFetching={isFetching}\n renderHeader={renderHeader}\n renderFooter={renderFooter}\n ref={r => {\n view.putVirtualizeElement(id, r);\n view.setScrollNode(r && r.vi && r.vi.bContainer);\n }}\n rowContainerClass={`${rowContainerClass} ${view.rowHeightClass}`}\n state={view.state?.paginationOptions?.[id]}\n showLoadingIndicator={view.meta.template === REPEATING_STRUCTURE_TEMPLATES.TABLE}\n >\n {children}\n </Virtualize>\n );\n}\n\nVirtualizeWrapper.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n renderHeader: PropTypes.func,\n renderFooter: PropTypes.func,\n rowContainerClass: PropTypes.string,\n view: PropTypes.objectOf(PropTypes.any).isRequired,\n isFullscreen: PropTypes.bool\n};\n"]}
|
|
1
|
+
{"version":3,"file":"VirtualizeWrapper.js","sourceRoot":"","sources":["../../../../Core/Views/Table/VirtualizeWrapper.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { REPEATING_STRUCTURE_TEMPLATES } from 'pega-repeating-structures-core';\nimport { usePrevious } from '@pega/cosmos-react-core';\n\nimport Virtualize from '../../Components/Virtualise';\nimport VirtualizeInfinite from '../../Components/Virtualise/VirtualizeInfinite';\nimport VariableHeightVirtualizer from '../../Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer';\nimport { isPaginationRequestCompleted } from '../../Components/Virtualise/utility';\nimport { isFilterApplied } from '../../Utils';\nimport EmptyContainer from '../../Components/DefaultComponents/EmptyContainer';\nimport useTranslate from '../../Hooks/useTranslate';\n\nimport Row from './Row';\nimport useCountChange from './useCountChange';\n\nexport default function VirtualizeWrapper({\n view,\n children,\n id,\n renderHeader = null,\n rowContainerClass = '',\n renderFooter = null,\n isFullscreen = false,\n // TODO: Remove this prop and deprecate older virtualizers once we fully migrate to variable row height virtualizer for gallery and grouped list views\n useVariableRowHeightVirtualization = false,\n bufferMultiplier\n}) {\n const { state, meta } = view;\n const { filterExpression, searchText, externalState } = state;\n const [translate] = useTranslate();\n const paginationPayload = useRef({});\n\n const [isFetching, setIsFetching] = useState(false);\n const [hasMoreResults, setHasMoreResults] = useState(false);\n const previousTotalItemCount = usePrevious(view.totalItemCount);\n\n const paginationCallback = useCallback(\n (payload, payloadMeta) => {\n const updatedPayload =\n meta.template === REPEATING_STRUCTURE_TEMPLATES.GALLERY\n ? { ...payload, startIndex: 0 }\n : payload;\n\n paginationPayload.current = updatedPayload;\n setIsFetching(true);\n view.type.onPaginate(updatedPayload, payloadMeta);\n },\n [view.type.onPaginate]\n );\n\n const renderEmptyRecords = useCallback(\n () => (\n <EmptyContainer\n message={\n isFilterApplied({ filterExpression, searchText, externalState }, meta.externalFilters)\n ? translate('No records found')\n : translate('No records')\n }\n shouldAnnounce={previousTotalItemCount > 0 && view.totalItemCount === 0}\n domContainer={view.getDomContainer()}\n />\n ),\n [filterExpression, searchText, externalState, meta.externalFilters, view.totalItemCount]\n );\n\n useEffect(() => {\n if (view.isInstantRender) return;\n\n const isRequestComplete = isPaginationRequestCompleted(\n paginationPayload.current,\n view.state?.paginationOptions?.[id]\n );\n setIsFetching(!isRequestComplete);\n }, [view.isInstantRender, view.state?.paginationOptions?.[id]]);\n\n useEffect(() => {\n if (view.isInstantRender || !paginationPayload.current) return;\n\n const requestedRows =\n paginationPayload.current.endIndex - paginationPayload.current.startIndex + 1;\n setHasMoreResults(view.rows?.length === requestedRows);\n }, [view.isInstantRender, view.state?.paginationOptions?.[id]]);\n\n useCountChange(view, isFetching, view.getVirtualizeElement?.(id)?.notifyCountChange);\n\n if (useVariableRowHeightVirtualization) {\n const paginationStartIndex = view?.state?.paginationOptions?.rootVirtualiser?.startIndex || 0;\n return (\n <VariableHeightVirtualizer\n id={id}\n totalItemCount={view.totalItemCount}\n isDataFetching={isFetching}\n loadedDataRange={view?.state?.paginationOptions?.[id] || {}}\n apiCallback={paginationCallback}\n defaultItemHeight={40}\n maxItemsToPaint={5000}\n renderHeader={renderHeader}\n renderFooter={renderFooter}\n renderEmptyRecords={renderEmptyRecords}\n itemContainerClass={`${rowContainerClass} ${view.rowHeightClass}`}\n ref={r => {\n view.putVirtualizeElement(id, r);\n view.setScrollNode(r?.getBufferContainer());\n }}\n viewMaxHeight={isFullscreen ? null : view.bodyHeight}\n minHeightWhenNoItemsRendered='100px'\n >\n {view?.groupHeaders?.[0]?.getRows()?.map((row, index) => (\n <Row\n key={row.reactKey}\n row={row}\n columns={view.columns}\n level={0}\n dataIndex={paginationStartIndex + index}\n />\n ))}\n </VariableHeightVirtualizer>\n );\n }\n\n if (meta.template === REPEATING_STRUCTURE_TEMPLATES.GALLERY) {\n return (\n <VirtualizeInfinite\n id={id}\n viewMaxHeight={isFullscreen ? null : view.bodyHeight}\n itemHeight={view.rowHeight}\n callback={paginationCallback}\n isFetching={isFetching}\n hasMoreResults={hasMoreResults}\n renderHeader={renderHeader}\n renderFooter={renderFooter}\n ref={r => {\n view.putVirtualizeElement(id, r);\n view.setScrollNode(r && r.vi && r.vi.bContainer);\n }}\n rowContainerClass={`${rowContainerClass} ${view.rowHeightClass}`}\n state={view.state?.paginationOptions?.[id]}\n resetCount={view.isCountUpdateRequired}\n showLoadingIndicator\n renderEmptyRecords={renderEmptyRecords}\n bufferMultiplier={bufferMultiplier}\n >\n {children}\n </VirtualizeInfinite>\n );\n }\n\n // Only used for grouped table\n return (\n <Virtualize\n id={id}\n viewMaxHeight={isFullscreen ? null : view.bodyHeight}\n totalRecordCount={view.totalItemCount}\n itemHeight={view.rowHeight}\n callback={paginationCallback}\n isFetching={isFetching}\n renderHeader={renderHeader}\n renderFooter={renderFooter}\n ref={r => {\n view.putVirtualizeElement(id, r);\n view.setScrollNode(r && r.vi && r.vi.bContainer);\n }}\n rowContainerClass={`${rowContainerClass} ${view.rowHeightClass}`}\n state={view.state?.paginationOptions?.[id]}\n showLoadingIndicator\n renderEmptyRecords={renderEmptyRecords}\n bufferMultiplier={bufferMultiplier}\n >\n {children}\n </Virtualize>\n );\n}\n\nVirtualizeWrapper.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n renderHeader: PropTypes.func,\n renderFooter: PropTypes.func,\n rowContainerClass: PropTypes.string,\n view: PropTypes.objectOf(PropTypes.any).isRequired,\n isFullscreen: PropTypes.bool,\n useVariableRowHeightVirtualization: PropTypes.bool,\n bufferMultiplier: PropTypes.number\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Table/index.jsx"],"names":[],"mappings":";AA4BA;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Table/index.jsx"],"names":[],"mappings":";AA4BA;;4CA8IC;;;;;;;;sBA1KqB,YAAY"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useCallback, useRef, useEffect } from 'react';
|
|
4
4
|
import { useLiveLog } from '@pega/cosmos-react-core/lib/hooks';
|
|
@@ -24,7 +24,7 @@ import Headers from './Headers';
|
|
|
24
24
|
const contextMenuSelector = { query: '.cell:not([role="columnheader"])' };
|
|
25
25
|
function StyledTable({ view }) {
|
|
26
26
|
const isFullscreen = !!useFullscreenContext()?.[0];
|
|
27
|
-
const { columns, rows, groupHeaders } = view;
|
|
27
|
+
const { columns, rows, groupHeaders, meta: { toolbarActions } = {} } = view;
|
|
28
28
|
const rowHeight = 40;
|
|
29
29
|
const footerHeight = 57;
|
|
30
30
|
const isSmallOrAbove = view?.state?.responsive?.sm;
|
|
@@ -38,6 +38,7 @@ function StyledTable({ view }) {
|
|
|
38
38
|
};
|
|
39
39
|
const renderHeader = useCallback(() => _jsx(Headers, { ref: view.setItemElement, columns: columns, isVisible: !!rows }), [columns, rows, view]);
|
|
40
40
|
const renderFooter = useCallback(() => _jsx(TableFooter, { view: view }), [view]);
|
|
41
|
+
const addAction = toolbarActions?.find(action => action.id === 'Add_Record');
|
|
41
42
|
const theme = useTheme();
|
|
42
43
|
const containerRef = useRef(null);
|
|
43
44
|
const { announcePolite } = useLiveLog();
|
|
@@ -52,7 +53,8 @@ function StyledTable({ view }) {
|
|
|
52
53
|
expandCollpaseAll: '.expand-collapse-all',
|
|
53
54
|
stickyGroupHeaderSelector: '.stickyGroupHeader',
|
|
54
55
|
tableLoader: '.table-loader',
|
|
55
|
-
footer: '.footer'
|
|
56
|
+
footer: '.footer',
|
|
57
|
+
addActionSelector: addAction ? `[aria-label="${addAction.text}"]` : undefined
|
|
56
58
|
}, FOCUSABLE_SELECTORS, {
|
|
57
59
|
TAB: 9,
|
|
58
60
|
LEFT: 37,
|
|
@@ -83,7 +85,7 @@ function StyledTable({ view }) {
|
|
|
83
85
|
'show-expand-collapse-all': view.showGroupingExpandCollapseAll
|
|
84
86
|
}), theme: theme, view: view, isFullscreen: isFullscreen, children: [_jsx(Toolbar, { view: view }), _jsx(RenderView, { type: EXTERNAL_FILTERS, view: view }), _jsx(NotificationManager, { view: view }), _jsx(RepeatingStructureA11y, { view: view, a11yRef: a11yRef, children: _jsxs("div", { className: cx('container', view.className, {
|
|
85
87
|
'small-screen-table': !isSmallOrAbove
|
|
86
|
-
}), ref: containerRef, ...view.getUIProps(), onClick: onClickHandler, onKeyDown: keyDownHandler, children: [_jsx(GroupingHeaderCell, { ...view.groupingHeaderCellProps }), _jsx(Virtualiser, { id: 'rootVirtualiser', view: view, renderHeader: renderHeader, renderFooter: renderFooter, isFullscreen: isFullscreen, children: _jsx(Body, { groupHeaders: groupHeaders, columns: columns, hierarchicalGroupEnabled: view.hierarchicalGroupEnabled }) }), _jsx(LoadingIndicator, { view: view, show: !rows || !!view.isLoading }), _jsx(ContextMenuContainer, { view: view, selector: contextMenuSelector })] }) })] }) }));
|
|
88
|
+
}), ref: containerRef, ...view.getUIProps(), onClick: onClickHandler, onKeyDown: keyDownHandler, onFocusCapture: e => a11yRef.current.onFocusHandler(e), onBlurCapture: e => a11yRef.current.onBlurHandler(e), children: [view.state?.groups?.length ? (_jsxs(_Fragment, { children: [_jsx(GroupingHeaderCell, { ...view.groupingHeaderCellProps }), _jsx(Virtualiser, { id: 'rootVirtualiser', view: view, renderHeader: renderHeader, renderFooter: renderFooter, isFullscreen: isFullscreen, children: _jsx(Body, { groupHeaders: groupHeaders, columns: columns, hierarchicalGroupEnabled: view.hierarchicalGroupEnabled }) })] })) : (_jsx(Virtualiser, { id: 'rootVirtualiser', view: view, renderHeader: renderHeader, renderFooter: renderFooter, isFullscreen: isFullscreen, useVariableRowHeightVirtualization: true })), _jsx(LoadingIndicator, { view: view, show: !rows || !!view.isLoading }), _jsx(ContextMenuContainer, { view: view, selector: contextMenuSelector })] }) })] }) }));
|
|
87
89
|
}
|
|
88
90
|
StyledTable.propTypes = {
|
|
89
91
|
view: PropTypes.objectOf(PropTypes.any).isRequired
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Table/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useRef, useEffect } from 'react';\n\nimport { useLiveLog } from '@pega/cosmos-react-core/lib/hooks';\nimport { useFullscreenContext, useTheme } from '@pega/cosmos-react-core';\nimport { expandCollapseAllMeta } from 'pega-repeating-structures-core';\n\nimport { createClassName as cx } from '../../Utils';\nimport NotificationManager from '../../Components/NotificationManager';\nimport Toolbar from '../../Components/Toolbar';\nimport ContextMenuContainer from '../../Components/ContextMenu/ContextMenuContainer';\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport TableFooter from '../../Components/Footer';\nimport RepeatingStructureA11y from '../../Components/A11y/RepeatingStructureA11y';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS, FOCUSABLE_SELECTORS, ACTIONABLE_SELECTORS } from '../../constants';\nimport useTranslate from '../../Hooks/useTranslate';\nimport RsCardWrapper from '../RsCardWrapper';\n\nimport GroupingHeaderCell from './GroupingHeaderCell';\nimport StyledTableContainer from './StyledTableContainer';\nimport TableA11y from './TableA11y';\nimport Body from './Body';\nimport Virtualiser from './VirtualizeWrapper';\nimport Headers from './Headers';\n\nconst contextMenuSelector = { query: '.cell:not([role=\"columnheader\"])' };\n\nfunction StyledTable({ view }) {\n const isFullscreen = !!useFullscreenContext()?.[0];\n const { columns, rows, groupHeaders } = view;\n const rowHeight = 40;\n const footerHeight = 57;\n const isSmallOrAbove = view?.state?.responsive?.sm;\n const expandCollapseAllWidth = view.showGroupingExpandCollapseAll\n ? expandCollapseAllMeta.width\n : 0;\n\n const containerStyles = {\n '--row-height': `${rowHeight}px`,\n '--footer-height': `${footerHeight}px`,\n '--expand-collapse-all-width': `${expandCollapseAllWidth}px`\n };\n const renderHeader = useCallback(\n () => <Headers ref={view.setItemElement} columns={columns} isVisible={!!rows} />,\n [columns, rows, view]\n );\n const renderFooter = useCallback(() => <TableFooter view={view} />, [view]);\n\n const theme = useTheme();\n const containerRef = useRef(null);\n const { announcePolite } = useLiveLog();\n const [translate] = useTranslate();\n const a11yRef = useRef(\n new TableA11y(\n {\n topFocusRef: '.top',\n bottomFocusRef: '.bottom',\n focusElementSelector: '.cell',\n parentElementSelector: '.row',\n aboveLoader: '.above-loader',\n belowLoader: '.below-loader',\n expandCollpaseAll: '.expand-collapse-all',\n stickyGroupHeaderSelector: '.stickyGroupHeader',\n tableLoader: '.table-loader',\n footer: '.footer'\n },\n FOCUSABLE_SELECTORS,\n {\n TAB: 9,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n },\n null,\n announcePolite,\n translate,\n ACTIONABLE_SELECTORS,\n translate('Interactive content')\n )\n );\n\n useEffect(() => {\n a11yRef.current.setContainer(containerRef.current);\n\n return () => {\n containerRef.current = null;\n a11yRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n a11yRef.current.itemsLoadedCallback();\n });\n\n const keyDownHandler = useCallback(e => {\n a11yRef.current.a11yHandler(e);\n }, []);\n\n const onClickHandler = useCallback(e => {\n const pointerType = e.nativeEvent.pointerType;\n if (pointerType) {\n a11yRef.current.clickHandler(e);\n }\n }, []);\n\n return (\n <RsCardWrapper>\n <StyledTableContainer\n style={containerStyles}\n data-test-id='table'\n className={cx('t-container', {\n 'show-expand-collapse-all': view.showGroupingExpandCollapseAll\n })}\n theme={theme}\n view={view}\n isFullscreen={isFullscreen}\n >\n <Toolbar view={view} />\n <RenderView type={EXTERNAL_FILTERS} view={view} />\n <NotificationManager view={view} />\n <RepeatingStructureA11y view={view} a11yRef={a11yRef}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n className={cx('container', view.className, {\n 'small-screen-table': !isSmallOrAbove\n })}\n ref={containerRef}\n {...view.getUIProps()}\n onClick={onClickHandler}\n onKeyDown={keyDownHandler}\n >\n <GroupingHeaderCell {...view.groupingHeaderCellProps} />\n <Virtualiser\n id='rootVirtualiser'\n view={view}\n renderHeader={renderHeader}\n renderFooter={renderFooter}\n isFullscreen={isFullscreen}\n >\n <Body\n groupHeaders={groupHeaders}\n columns={columns}\n hierarchicalGroupEnabled={view.hierarchicalGroupEnabled}\n />\n </Virtualiser>\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n <ContextMenuContainer view={view} selector={contextMenuSelector} />\n </div>\n </RepeatingStructureA11y>\n </StyledTableContainer>\n </RsCardWrapper>\n );\n}\n\nStyledTable.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n\nexport default StyledTable;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Table/index.jsx"],"names":[],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useRef, useEffect } from 'react';\n\nimport { useLiveLog } from '@pega/cosmos-react-core/lib/hooks';\nimport { useFullscreenContext, useTheme } from '@pega/cosmos-react-core';\nimport { expandCollapseAllMeta } from 'pega-repeating-structures-core';\n\nimport { createClassName as cx } from '../../Utils';\nimport NotificationManager from '../../Components/NotificationManager';\nimport Toolbar from '../../Components/Toolbar';\nimport ContextMenuContainer from '../../Components/ContextMenu/ContextMenuContainer';\nimport LoadingIndicator from '../../Components/LoadingIndicator';\nimport TableFooter from '../../Components/Footer';\nimport RepeatingStructureA11y from '../../Components/A11y/RepeatingStructureA11y';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport { EXTERNAL_FILTERS, FOCUSABLE_SELECTORS, ACTIONABLE_SELECTORS } from '../../constants';\nimport useTranslate from '../../Hooks/useTranslate';\nimport RsCardWrapper from '../RsCardWrapper';\n\nimport GroupingHeaderCell from './GroupingHeaderCell';\nimport StyledTableContainer from './StyledTableContainer';\nimport TableA11y from './TableA11y';\nimport Body from './Body';\nimport Virtualiser from './VirtualizeWrapper';\nimport Headers from './Headers';\n\nconst contextMenuSelector = { query: '.cell:not([role=\"columnheader\"])' };\n\nfunction StyledTable({ view }) {\n const isFullscreen = !!useFullscreenContext()?.[0];\n const { columns, rows, groupHeaders, meta: { toolbarActions } = {} } = view;\n const rowHeight = 40;\n const footerHeight = 57;\n const isSmallOrAbove = view?.state?.responsive?.sm;\n const expandCollapseAllWidth = view.showGroupingExpandCollapseAll\n ? expandCollapseAllMeta.width\n : 0;\n\n const containerStyles = {\n '--row-height': `${rowHeight}px`,\n '--footer-height': `${footerHeight}px`,\n '--expand-collapse-all-width': `${expandCollapseAllWidth}px`\n };\n const renderHeader = useCallback(\n () => <Headers ref={view.setItemElement} columns={columns} isVisible={!!rows} />,\n [columns, rows, view]\n );\n const renderFooter = useCallback(() => <TableFooter view={view} />, [view]);\n const addAction = toolbarActions?.find(action => action.id === 'Add_Record');\n const theme = useTheme();\n const containerRef = useRef(null);\n const { announcePolite } = useLiveLog();\n const [translate] = useTranslate();\n const a11yRef = useRef(\n new TableA11y(\n {\n topFocusRef: '.top',\n bottomFocusRef: '.bottom',\n focusElementSelector: '.cell',\n parentElementSelector: '.row',\n aboveLoader: '.above-loader',\n belowLoader: '.below-loader',\n expandCollpaseAll: '.expand-collapse-all',\n stickyGroupHeaderSelector: '.stickyGroupHeader',\n tableLoader: '.table-loader',\n footer: '.footer',\n addActionSelector: addAction ? `[aria-label=\"${addAction.text}\"]` : undefined\n },\n FOCUSABLE_SELECTORS,\n {\n TAB: 9,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n },\n null,\n announcePolite,\n translate,\n ACTIONABLE_SELECTORS,\n translate('Interactive content')\n )\n );\n\n useEffect(() => {\n a11yRef.current.setContainer(containerRef.current);\n\n return () => {\n containerRef.current = null;\n a11yRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n a11yRef.current.itemsLoadedCallback();\n });\n\n const keyDownHandler = useCallback(e => {\n a11yRef.current.a11yHandler(e);\n }, []);\n\n const onClickHandler = useCallback(e => {\n const pointerType = e.nativeEvent.pointerType;\n if (pointerType) {\n a11yRef.current.clickHandler(e);\n }\n }, []);\n\n return (\n <RsCardWrapper>\n <StyledTableContainer\n style={containerStyles}\n data-test-id='table'\n className={cx('t-container', {\n 'show-expand-collapse-all': view.showGroupingExpandCollapseAll\n })}\n theme={theme}\n view={view}\n isFullscreen={isFullscreen}\n >\n <Toolbar view={view} />\n <RenderView type={EXTERNAL_FILTERS} view={view} />\n <NotificationManager view={view} />\n <RepeatingStructureA11y view={view} a11yRef={a11yRef}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n className={cx('container', view.className, {\n 'small-screen-table': !isSmallOrAbove\n })}\n ref={containerRef}\n {...view.getUIProps()}\n onClick={onClickHandler}\n onKeyDown={keyDownHandler}\n onFocusCapture={e => a11yRef.current.onFocusHandler(e)}\n onBlurCapture={e => a11yRef.current.onBlurHandler(e)}\n >\n {view.state?.groups?.length ? (\n <>\n <GroupingHeaderCell {...view.groupingHeaderCellProps} />\n <Virtualiser\n id='rootVirtualiser'\n view={view}\n renderHeader={renderHeader}\n renderFooter={renderFooter}\n isFullscreen={isFullscreen}\n >\n <Body\n groupHeaders={groupHeaders}\n columns={columns}\n hierarchicalGroupEnabled={view.hierarchicalGroupEnabled}\n />\n </Virtualiser>\n </>\n ) : (\n <Virtualiser\n id='rootVirtualiser'\n view={view}\n renderHeader={renderHeader}\n renderFooter={renderFooter}\n isFullscreen={isFullscreen}\n useVariableRowHeightVirtualization\n />\n )}\n <LoadingIndicator view={view} show={!rows || !!view.isLoading} />\n <ContextMenuContainer view={view} selector={contextMenuSelector} />\n </div>\n </RepeatingStructureA11y>\n </StyledTableContainer>\n </RsCardWrapper>\n );\n}\n\nStyledTable.propTypes = {\n view: PropTypes.objectOf(PropTypes.any).isRequired\n};\n\nexport default StyledTable;\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RsCoreTypes } from 'pega-repeating-structures-core';
|
|
2
|
+
/**
|
|
3
|
+
* Detects changes in specific properties of a view's state as those can impact the count across renders.
|
|
4
|
+
*
|
|
5
|
+
* @param view - The view object containing state and metadata to monitor for changes.
|
|
6
|
+
* @param isDataFetching - A boolean flag indicating if data is currently being fetched.
|
|
7
|
+
* @param onCountChange - Callback to run when properties impacting the count change.
|
|
8
|
+
*/
|
|
9
|
+
export default function useCountChange(view: RsCoreTypes.View, isDataFetching: boolean, onCountChange: () => void): void;
|
|
10
|
+
//# sourceMappingURL=useCountChange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCountChange.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Table/useCountChange.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,IAAI,EAAE,WAAW,CAAC,IAAI,EACtB,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,MAAM,IAAI,QAoC1B"}
|