Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
75c446b
First draft new layout table page
PerIngeVaaje Mar 5, 2026
172e927
Sticky also for xlarge and xxlarge
PerIngeVaaje Mar 5, 2026
64bf8ec
Try to fix z-index problem
PerIngeVaaje Mar 5, 2026
ba6b413
refactor: New wrapper in TableViewer for handling centered main conte…
MikaelNordberg Mar 6, 2026
a72116b
Prettier code
MikaelNordberg Mar 6, 2026
65f17a9
fix: Adjust NavigationDrawer layout on medium devices
MikaelNordberg Mar 6, 2026
dea6a6a
Changed comment
MikaelNordberg Mar 6, 2026
bd93aea
Removed padding-top in main container to stabalize navigation drawer
MikaelNordberg Mar 6, 2026
87b6ac0
refactor: Simplify padding in NavigationDrawer and update Header comp…
MikaelNordberg Mar 9, 2026
4477751
Prettier code
MikaelNordberg Mar 9, 2026
a41218a
Remove page scrollbar when side sheet is open
PerIngeVaaje Mar 9, 2026
e2fa85e
feat: Enhance scrollbar management with new context properties for se…
SjurSutterudSagen Mar 10, 2026
7d9f42d
refactor: Adjust dimensions and background color in Navigation compon…
SjurSutterudSagen Mar 10, 2026
368bc43
Use simpler scrollToTop in footer on tableview
SjurSutterudSagen Mar 10, 2026
8edb248
Remove commented out code
SjurSutterudSagen Mar 10, 2026
83276f0
Make header sticy on large screens only
SjurSutterudSagen Mar 10, 2026
2e13ca2
fix: Remove unnecessary border-top from NavigationDrawer styles
SjurSutterudSagen Mar 10, 2026
b0d7642
Merge branch 'main' into feature/PXWEB-896-new-layout-table-page
Mar 10, 2026
0902f2b
Moved GlobalAlert from RootLayout to TableViewer and StartPage.
PerIngeVaaje Mar 11, 2026
0fe06ae
set position fixed for large breakpoint in NavigationDrawer
PerIngeVaaje Mar 11, 2026
fa829f3
feat: add sticky header offset to SkipToMain and update TableViewer i…
SjurSutterudSagen Mar 11, 2026
1c2c8e8
refactor: update refs in Footer, Presentation, and TableViewer compon…
SjurSutterudSagen Mar 11, 2026
a8f889c
hange base color in NavigationItem for NavBar
SjurSutterudSagen Mar 12, 2026
f8d267c
fix: increase padding-top in NavigationDrawer for improved layout
SjurSutterudSagen Mar 12, 2026
2045734
refactor: simplify media query breakpoints and remove unused small ta…
SjurSutterudSagen Mar 12, 2026
02f462c
fix: update max-width in contentAndFooterContainer for improved layout
SjurSutterudSagen Mar 12, 2026
fbe97ca
Merge branch 'main' into feature/PxWeb2-806-new-layout-with-virtualiz…
SjurSutterudSagen Mar 12, 2026
0891a1b
Add virtualized table with outer scroll
SjurSutterudSagen Mar 12, 2026
a06d25b
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
SjurSutterudSagen Mar 13, 2026
f944c24
refactor: update Table component virtualization to work at table leve…
MikaelNordberg Mar 16, 2026
590e5aa
Prettier code
MikaelNordberg Mar 16, 2026
201ed03
Merge branch 'feature/PxWeb2-896-new-layout-with-virtualized-table' o…
MikaelNordberg Mar 16, 2026
a8c4c8a
refactor: enhance table virtualization logic by separating window and…
MikaelNordberg Mar 17, 2026
674f3a9
Add comment about mobile performance
SjurSutterudSagen Mar 18, 2026
009c60e
refactor: enhance Table component with improved virtualization for mo…
SjurSutterudSagen Mar 18, 2026
18b34e6
refactor: split into virtualized table components for mobile and desk…
SjurSutterudSagen Mar 18, 2026
3e31807
-- BIG Refactoring of Table --
MikaelNordberg Mar 19, 2026
f9b08d4
Prettier code
MikaelNordberg Mar 19, 2026
38fff2b
refactor: remove unused MemoizedTable component code
MikaelNordberg Mar 19, 2026
7edfeda
fix: ensure overflow is hidden in SideSheet component
MikaelNordberg Mar 20, 2026
eca179f
fix: add mobile header id for second-last stub in Table component
MikaelNordberg Mar 20, 2026
3d5b80c
fix: update virtualization thresholds for desktop and row in Table co…
MikaelNordberg Mar 23, 2026
5a3ddcf
fix: remove play function from Default story and update pxTable testd…
MikaelNordberg Mar 23, 2026
69613b0
fix: remove unused import from Table stories and correct formatting i…
MikaelNordberg Mar 23, 2026
a8726e3
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg Mar 23, 2026
1c7eae6
feat: add tests for desktop and mobile virtualized table components
MikaelNordberg Mar 24, 2026
b8f2bc5
feat: Refactored useBodyRowVirtualizationWindow to improve Cognitive …
MikaelNordberg Mar 24, 2026
e5ac823
feat: rename padding properties in ColumnWindow to improve clarity fo…
SjurSutterudSagen Mar 26, 2026
4544ee4
fix: clean up Table types/interfaces and constants
SjurSutterudSagen Mar 26, 2026
028f489
feat: -- Another BIG refactoring of Table --
MikaelNordberg Mar 27, 2026
cdafdaa
feat: Commented code
MikaelNordberg Mar 27, 2026
84ff252
feat: Enhance desktop header layout with responsive text wrapping and…
MikaelNordberg Mar 30, 2026
a894027
fix: Remove debug console log from calculateHeadingLevelLines function
MikaelNordberg Mar 30, 2026
ea3272a
fix: Update MOBILE_ROW_OVERSCAN constant to improve virtualization pe…
MikaelNordberg Mar 31, 2026
974225a
fix: Update MOBILE_ROW_OVERSCAN constant to improve virtualization pe…
MikaelNordberg Mar 31, 2026
d2b767a
feat: Update mobile row overscan and enhance desktop header layout fo…
MikaelNordberg Apr 1, 2026
8fad2b3
Prettier code
MikaelNordberg Apr 1, 2026
6044207
fix: Adjust header line character threshold and enhance heading level…
MikaelNordberg Apr 2, 2026
fd17afc
fix: Update HEADER_LINE_CHAR_THRESHOLD to improve header text wrappin…
MikaelNordberg Apr 2, 2026
1bbfd0d
feat: Page scrollbar visibility is controlled by existance of backdrop
MikaelNordberg Apr 8, 2026
e4d5504
Prettier code
MikaelNordberg Apr 8, 2026
d5fa875
fix: Adjust text alignment for last header row in desktop view
MikaelNordberg Apr 8, 2026
90dc4a0
fix: Simplify body overflow handling for backdrop elements
MikaelNordberg Apr 9, 2026
bc5583b
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg Apr 10, 2026
f3f9e1e
refactor(Table): remove debug console log from calculateHeadingLevelL…
MikaelNordberg Apr 10, 2026
692f6a9
refactor(Table): Only apply long th and text styling for header cells…
MikaelNordberg Apr 17, 2026
6594dea
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg Apr 17, 2026
2aa0bfe
chore(package-lock): remove redundant 'libc' entries and update depen…
MikaelNordberg Apr 17, 2026
0abecbc
style(Table): update header cell styles for improved text handling an…
MikaelNordberg Apr 17, 2026
43cf311
Prettier code
MikaelNordberg Apr 17, 2026
d4acb52
fix(Table): adjust desktop column estimate size for improved layout
MikaelNordberg Apr 20, 2026
f8133aa
fix(Table): set min-width and max-width for row headers to maintain c…
MikaelNordberg Apr 21, 2026
6b31b07
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg Apr 22, 2026
78a43e6
fix(Table): Possible to have dynamic header cell width also when long…
MikaelNordberg Apr 22, 2026
092d7dd
Prettier code
MikaelNordberg Apr 22, 2026
75d3dc3
fix(Table): adjust header line character threshold and update max-wid…
MikaelNordberg Apr 22, 2026
ecd4746
fix(Table): update header line character threshold for text wrapping
MikaelNordberg Apr 22, 2026
73c0645
fix(Table): increase max-width for long text column span in desktop l…
MikaelNordberg Apr 23, 2026
81e7658
fix(Table): update desktop row estimate size for improved virtualization
MikaelNordberg Apr 23, 2026
1f15cf3
fix(Table): add support for few columns in desktop virtualization to …
MikaelNordberg Apr 23, 2026
b544d17
fix(Table): add error handling for data cell resolution in desktop bo…
MikaelNordberg Apr 23, 2026
cc286b5
fix(Table): Constant stub header width
MikaelNordberg Apr 23, 2026
b128340
fix(Table): Improved function for calculating number of lines to use …
MikaelNordberg Apr 24, 2026
d75ace7
fix(Table): add text overflow handling for long header cells in deskt…
MikaelNordberg Apr 27, 2026
e9e2a9e
fix(Table): update column widths for desktop virtualization and add s…
MikaelNordberg Apr 27, 2026
fd41023
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg Apr 27, 2026
101d5c6
feat(Table): Increased overscan to get smoother scroll experience. Fi…
MikaelNordberg Apr 28, 2026
bcad123
Prettier code
MikaelNordberg Apr 28, 2026
f2c6170
fix(Table): reduce overscan values for desktop and mobile virtualization
MikaelNordberg Apr 28, 2026
ce76d10
fix(Table): increase desktop column overscan value for improved scrol…
MikaelNordberg Apr 28, 2026
7b0b42f
fix(Table): update padding and width values from px to rem
MikaelNordberg Apr 30, 2026
ca809e5
fix(Table): replace padding-left and border-left with padding-inline-…
MikaelNordberg Apr 30, 2026
388aad4
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg Apr 30, 2026
dcdd1a3
fix(Table): update header line character threshold and improve overfl…
MikaelNordberg May 4, 2026
237166c
fix(Table): enable hyphenation for better text wrapping in header cells
MikaelNordberg May 5, 2026
87152f4
fix(Table): adjust header line character threshold for improved text …
MikaelNordberg May 6, 2026
55f8251
fix(Table): update header line character threshold for long text hand…
MikaelNordberg May 6, 2026
3e24c5d
prettier code
MikaelNordberg May 6, 2026
99a960a
feat(Table): add line-break opportunities in header labels for better…
MikaelNordberg May 6, 2026
d207fc3
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg May 7, 2026
03cf8b2
fix(Table): refactor moved width-styling from span to header cell
MikaelNordberg May 7, 2026
6c087b1
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg May 7, 2026
e8e6639
Merge branch 'main' into feature/PxWeb2-896-new-layout-with-virtualiz…
MikaelNordberg May 11, 2026
cda193f
Changes from code review
MikaelNordberg May 13, 2026
f4c7c01
Prettier code
MikaelNordberg May 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/pxweb2-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"author": "",
"license": "MIT",
"dependencies": {
"@tanstack/react-virtual": "^3.13.21",
"clsx": "^2.1.1",
"hast-util-to-jsx-runtime": "^2.3.6",
"motion": "^12.38.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export function BottomSheet({

return (
<dialog
data-px-overlay-backdrop="true"
onClick={(event) => handleClick(event)}
onKeyDown={handleKeyDown}
ref={bottomSheetRef}
Expand Down
11 changes: 7 additions & 4 deletions packages/pxweb2-ui/src/lib/components/Modal/Modal.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -160,22 +160,25 @@ describe('Modal', () => {
expect(onCloseMock).toHaveBeenCalledWith(true, 'Enter');
});

it('should update body overflow style when opening and closing', () => {
const { rerender } = render(
it('should expose overlay marker and toggle dialog visibility when opening and closing', () => {
const { rerender, container } = render(
<Modal isOpen={true}>
<span>test</span>
</Modal>,
);

expect(document.body.style.overflow).toBe('hidden');
const dialog = container.querySelector('dialog');

expect(dialog?.getAttribute('data-px-overlay-backdrop')).toBe('true');
expect(dialog?.style.display).toBe('block');

rerender(
<Modal isOpen={false}>
<span>test</span>
</Modal>,
);

expect(document.body.style.overflow).toBe('auto');
expect(dialog?.style.display).toBe('none');
});

it('should apply custom className when provided', () => {
Expand Down
12 changes: 1 addition & 11 deletions packages/pxweb2-ui/src/lib/components/Modal/Modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,21 +58,12 @@ export function Modal({
if (modalElement) {
if (isModalOpen) {
modalElement.showModal();
setWindowScroll(false);
} else {
modalElement.close();
setWindowScroll(true);
}
}
}, [isModalOpen]);

const setWindowScroll = (scroll: boolean) => {
const body = document.querySelector('body');
if (body) {
body.style.overflow = scroll ? 'auto' : 'hidden';
}
};

const handleCloseModal = useCallback(
(updated: boolean, event?: ReactKeyboardEvent | MouseEvent) => {
const handleKeyboardEvent = (
Expand All @@ -84,15 +75,13 @@ export function Modal({
keyPress === 'Enter' || keyPress === ' ' || keyPress === 'Escape';

if (onClose && isValidKeyPress) {
setWindowScroll(true);
onClose(updated, keyPress);
setIsModalOpen(false);
}
};

const handleMouseEvent = (updated: boolean) => {
if (onClose) {
setWindowScroll(true);
onClose(updated);
setIsModalOpen(false);
}
Expand Down Expand Up @@ -124,6 +113,7 @@ export function Modal({

return (
<dialog
data-px-overlay-backdrop="true"
ref={modalRef}
className={cl(classes.modal) + cssClasses}
aria-labelledby="px-modal-heading"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
padding: 0px 0px 0px 0px;
border-style: none;
max-height: 100vh; // Override default margins at top and bottom for <dialog>
overflow: hidden;
}

.sideSheet::backdrop {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ export function SideSheet({

return (
<dialog
data-px-overlay-backdrop="true"
onClick={(event) => handleClick(event)}
onKeyDown={handleKeyDown}
ref={sideSheetRef}
Expand Down
Loading
Loading