Skip to content

feat(#3347): add goa-scroll-panel and goa-workspace-layout#3933

Open
vanessatran-ddi wants to merge 4 commits into
devfrom
vanessa/3347-sticky-header-footer
Open

feat(#3347): add goa-scroll-panel and goa-workspace-layout#3933
vanessatran-ddi wants to merge 4 commits into
devfrom
vanessa/3347-sticky-header-footer

Conversation

@vanessatran-ddi

@vanessatran-ddi vanessatran-ddi commented May 12, 2026

Copy link
Copy Markdown
Collaborator

@vanessatran-ddi vanessatran-ddi self-assigned this May 12, 2026
@vanessatran-ddi vanessatran-ddi marked this pull request as draft May 12, 2026 17:03
@vanessatran-ddi vanessatran-ddi linked an issue May 12, 2026 that may be closed by this pull request
@vanessatran-ddi vanessatran-ddi force-pushed the vanessa/3347-sticky-header-footer branch 2 times, most recently from a536960 to b2f5b69 Compare May 12, 2026 17:30
@chrisolsen

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 7.2.0-dev.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@chrisolsen

Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 5.2.0-dev.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

@vanessatran-ddi vanessatran-ddi force-pushed the vanessa/3347-sticky-header-footer branch from c85adcb to 5d075a5 Compare May 12, 2026 19:04
@vanessatran-ddi vanessatran-ddi changed the base branch from main to dev May 12, 2026 19:04
@github-actions

github-actions Bot commented May 12, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://GovAlta.github.io/ui-components/pr-preview-angular/pr-3933/

Built to branch gh-pages at 2026-06-19 23:01 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@github-actions

github-actions Bot commented May 12, 2026

Copy link
Copy Markdown

Preview links

Target URL
Docs https://govalta.github.io/ui-components/pr-preview/pr-3933/
React playground https://govalta.github.io/ui-components/pr-preview-react/pr-3933/
Angular playground https://govalta.github.io/ui-components/pr-preview-angular/pr-3933/

Built from commit 285b578. Previews are removed automatically when this PR closes.

@vanessatran-ddi vanessatran-ddi changed the title Vanessa/3347 sticky header footer feat(#3347): add goa-scroll-panel and goa-workspace-layout May 14, 2026
@vanessatran-ddi vanessatran-ddi force-pushed the vanessa/3347-sticky-header-footer branch 2 times, most recently from d288449 to e4ad4d2 Compare May 19, 2026 22:28
@vanessatran-ddi vanessatran-ddi force-pushed the vanessa/3347-sticky-header-footer branch 5 times, most recently from ac9d303 to 38c4fdb Compare May 28, 2026 23:04
@vanessatran-ddi vanessatran-ddi marked this pull request as ready for review May 28, 2026 23:04
@Spark450

Spark450 commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

Here is some feedback on the docs pages, thanks for sharing @twjeffery:
Workspace example

Screenshot 2026-06-04 at 10 09 39 AM

Workspace layout

  • On the workspace layout page, when talking about the push drawer I think the point of emphasis we should make about it vs the modal drawer is that the user can still interact with the page content when the drawer is open. something like: (...so users can still interact with the main page content.)
  • For the considerations Assuming we update the our React and Angular examples would it make sense to add a point that lets the user know if they use the template as a starting point it comes included with the base functionality wired up? This may be super obvious and not worth mentioning though...

@vanessatran-ddi vanessatran-ddi force-pushed the vanessa/3347-sticky-header-footer branch 3 times, most recently from b57fbc8 to c9de01b Compare June 16, 2026 23:33
@vanessatran-ddi vanessatran-ddi force-pushed the vanessa/3347-sticky-header-footer branch from c9de01b to aa138b4 Compare June 17, 2026 00:25
@vanessatran-ddi vanessatran-ddi requested review from ArakTaiRoth, bdfranck and willcodeforcoffee and removed request for willcodeforcoffee June 17, 2026 15:13
margin: var(--goa-modal-content-margin, 0 -2rem);
padding: var(--goa-modal-content-padding, 0);
margin: 0;
padding: 0 var(--goa-modal-scrollable-padding-desktop, var(--goa-space-l));

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@twjeffery and @bdfranck I also have a PR on https://github.com/GovAlta/design-tokens/pull/162/commits
Since I replace the goa-scroll to goa-scroll-panel, I need to adjust the padding og the modal action to make it better, example below: https://govalta.github.io/ui-components/pr-preview-react/pr-3933/features/3347

Image

overflow:hidden clips any side bleed at the edge. */
.scroll-panel-header--shadow {
border-bottom-color: var(
--goa-scroll-panel-header-scroll-border,

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have this PR GovAlta/design-tokens@78c5311 to support those tokens

@ArakTaiRoth

Copy link
Copy Markdown
Collaborator

@vanessatran-ddi @twjeffery I noticed that there's no component documentation for Workspace Layout. There's an example, but nothing in components. This could be an issue:

  1. It is a component, people are going to look for it in Components
  2. The MCP won't be able to give proper advice on how to use it as there's no properties or anything, as there's no component level documentation

@ArakTaiRoth

Copy link
Copy Markdown
Collaborator

@vanessatran-ddi @twjeffery There's no image for the Scroll Panel in the All Components page.
image

// Hooks
// *****
onMount(() => {
if (!isValidDimension(height)) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a potential problem here, in the docs it says height can be "Any valid CSS height value (e.g. "400px", "100%", "100vh")". This statement is incorrect. The function isValidDimension fails to account for calc(), dvh, lvh, or svh, min(), or clamp(). If I use a technical valid value out of that list, it does actually still work, but states a console error incorrectly. I don't think the option is to allow those values in isValidDimension, because that would require far more testing wherever that function is used, but maybe we be more clear about what values are allowed in the documentation.

In addition, if I use an actual invalid value for height, it still proceeds to try to create the ScrollPanel, the check doesn't actually stop anything. This results in an area in the screen that you can't actually scroll down or up in, it prevents page scrolling, and takes up the full height of the content.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed a test at the bottom of the React feat3347.tsx that shows the second problem.

@ArakTaiRoth ArakTaiRoth force-pushed the vanessa/3347-sticky-header-footer branch from 4dea910 to 17bc7f1 Compare June 18, 2026 00:38
alt="Complete workspace layout preview"
previewUrl="/examples/workspace-layout/basic/preview"
figmaUrl="https://www.figma.com/design/Jpy1Ea5qglwnp1SgGnagY9/%E2%9D%96-Component-library?node-id=58855-102956"
reactSourceUrl="https://github.com/GovAlta/ui-components/blob/vanessa/3347-sticky-header-footer/docs/src/content/examples/workspace-layout/basic/react.tsx"

@ArakTaiRoth ArakTaiRoth Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This URL and the URL below it will cease to exist once this PR is merged in (because that deletes the PR).

@bdfranck bdfranck left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested the latest changes...

Browser Drawer Modal Notification
Chrome
Safari
Firefox
Safari mobile

@vanessatran-ddi It looks like the padding is missing for a Modal on mobile. Or maybe I have the wrong tokens?

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create reusable sticky header/footer component

6 participants