web/elements: P5 Drawer component with all capabilities#21545
web/elements: P5 Drawer component with all capabilities#21545kensternberg-authentik wants to merge 17 commits intomainfrom
Conversation
* main: (50 commits) web/flow/stages: permit the form handler to look in the light or shadowDOM for controls (#20832) web/style/flow: flow css barrel file (#20833) web/flow: provide labels for the stage import-and-invoke table (#20834) core: bump goauthentik/fips-python from `3636935` to `46b26b8` in /lifecycle/container (#20842) core: bump library/nginx from `0236ee0` to `d0913a1` in /website (#20843) core, web: update translations (#20835) core: bump goauthentik/fips-debian from `0975985` to `2517845` in /lifecycle/container (#20841) core: bump twilio from 9.10.2 to 9.10.3 (#20838) core: bump aws-cdk-lib from 2.241.0 to 2.242.0 (#20840) ci: bump astral-sh/setup-uv from 7.3.1 to 7.4.0 in /.github/actions/setup (#20844) providers/SCIM: Add discover support (#20658) core: allow interfaces to specify alternative stylesheets (#20774) website/docs: update agent docs (#20782) core, web: update translations (#20809) lifecycle/aws: bump aws-cdk from 2.1109.0 to 2.1110.0 in /lifecycle/aws (#20810) core: bump axllent/mailpit from v1.29.2 to v1.29.3 in /tests/e2e (#20811) core: bump cachetools from 7.0.4 to 7.0.5 (#20812) core: bump goauthentik/fips-python from `b481db2` to `3636935` in /lifecycle/container (#20814) core: bump goauthentik/fips-debian from `6c9197b` to `0975985` in /lifecycle/container (#20815) web: bump the storybook group across 1 directory with 5 updates (#20816) ...
* main: (455 commits) web/e2e: accept options in NavigatorFixture.waitForPathname (#21507) web/styles: switch to upstream RedHat variable fonts and brighten orange palette (#21509) web/styles: add ak-c-loading-skeleton CSS component (#21510) core, web: update translations (#21532) core: bump lxml from 6.0.2 to 6.0.3 (#21523) core: bump library/node from `45babd1` to `9707cd4` in /lifecycle/container (#21522) tasks: better error message for Retry exceptions (#18235) web/admin: fix user list avatar (#21531) core: bump django from v5.2.12 to 5.2.13 (#21520) core: add cooldown to dependabot (#21286) web/admin: include avatar in user list page (#21518) events: add index on Event.user.pk (#19576) ci: always run apt update (#21516) enterprise/search: move QL to open source] (#21484) core: add logging when session decode fails (#21514) website/docs: Refactor email configuration (#21130) core: bump types-ldap3 from 2.9.13.20260402 to 2.9.13.20260408 (#21493) packages/ak-common/db: init (#21357) packages/ak-axum/extract/host: init (#21323) web: bump knip from 6.3.0 to 6.3.1 in /web (#21505) ...
Extend ak-drawer to comply with the full specification; port ak-drawer to use Patternfly 5; vendor the Patternfly 5 subsystems directly responsible for the Drawer into the CSS. ## Why To meet the requirements of the Drawer, of the LightDOM project, and of the Patternfly 5 vendoring port. ## Details The Drawer’s internal CSS is now entirely within the Lit framework; the controlling CSS is namespaced to `ak-v2-c--drawer` and placed into the global CSS. Every bit of the drawer has a `part` name, so it can be customized to your heart’s content. Added stylelint to make sure I’m doing this correctly.
✅ Deploy Preview for authentik-integrations ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for authentik-storybook ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for authentik-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #21545 +/- ##
==========================================
- Coverage 92.30% 92.29% -0.01%
==========================================
Files 1032 1032
Lines 59767 59767
Branches 2537 2537
==========================================
- Hits 55168 55163 -5
- Misses 4536 4539 +3
- Partials 63 65 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
authentik PR Installation instructions Instructions for docker-composeAdd the following block to your AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-6c795c377343050e7544fdd8c59bcc0f83eb9f7d
AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)sAfterwards, run the upgrade commands from the latest release notes. Instructions for KubernetesAdd the following block to your authentik:
outposts:
container_image_base: ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s
global:
image:
repository: ghcr.io/goauthentik/dev-server
tag: gh-6c795c377343050e7544fdd8c59bcc0f83eb9f7dAfterwards, run the upgrade commands from the latest release notes. |
* main: web: build system had some legacy stuff that I found confusing while working on the CSS ordering (#20698) core: bump ruff from 0.15.9 to 0.15.10 (#21559) core: bump types-jwcrypto from 1.5.0.20260408 to 1.5.7.20260409 (#21561) core: bump lxml from 6.0.3 to 6.0.4 (#21560) ci: bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#21566) ci: bump docker/build-push-action from 7.0.0 to 7.1.0 (#21563) ci: bump actions/upload-artifact from 7.0.0 to 7.0.1 (#21565) core: bump library/golang from `da39430` to `c0074c7` in /lifecycle/container (#21567) ci: bump taiki-e/install-action from 2.75.1 to 2.75.5 in /.github/actions/setup (#21569) web: bump mermaid from 11.13.0 to 11.14.0 in /web (#21527) core, web: update translations (#21552) web: bump basic-ftp from 5.2.1 to 5.2.2 in /web (#21543) web: User Wizard, Modal Revisions Merge Branch (#21336) web/elements: default @listen target to host element and add split-button Dropdown (#21512) ci: parallel tests (#21515) website/docs: add another sentence to First Steps about restricting access to apps (#21517) web/elements: add scrollbar helpers and apply to Interface (#21511) web/elements: add viewport helpers and extend intersection observer (#21508)
✅ Deploy Preview for authentik-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
…r to use Patternfly 5; vendor the Patternfly 5 subsystems directly responsible for the Drawer into the CSS. This drawer is completely independent of Patternfly 4; it brings everything in-house, everything is under `ak-v2-c-drawer`, and we read our variables from `ak-v2-global` entries as part of the style folder. The contents of the folder are slotted, so they’re part of the parent DOM and parent CSS context, and can be controlled from there without having to do any magic on the Drawer. To comply with the standards of the HTML disclosure pattern, the drawer uses `expanded` instead of `open`; it listens for an event to trigger open/close; it emits a `toggle` event when completed. Shortcoming: to completely comply with the disclosure pattern, it should emit a `beforeToggle` to let other clients intercept the request and prevent it from happening, but we don’t do that yet. Unlike the previous drawer, this one has `resizable`, `position`, `inline/static`, and responsive width breakpoints, all features of the Patternfly 5 React web-component. The resizable variant gives you a visible handle, and even responds to keyborad controls. Along with the native control through CSS Custom Properties, every part of the component has a `part` declaration, so if you *really* want to customize the thing that’s now possible. Unlike the Patternfly 5 React version, we impose **no** structure on the internals of the component; no padding, no margin, no header/main/footer segmentation. That pattern is universal, and doesn’t need to be specified for each and every component. If you need that, build it into whatever element you put into the unnamed “main” or `panel` slots. There is a comprehensive Storybook story page for the component. To meet the requirements of the Drawer, of the LightDOM project, and of the Patternfly 5 vendoring port.
| export default { | ||
| extends: "stylelint-config-standard", | ||
| rules: { | ||
| "custom-property-pattern": [ |
There was a problem hiding this comment.
Patternfly's names are much more varied than the standard.
* main: providers/oauth2: allow cross provider token introspection for federated providers (#21513) lifecycle/container: fix OCI image labels (#21574) packages/django-dramatiq-postgres: reset db connections in raise_connection_error (#21577) core: refresh signed media URLs in flows (#21553) events: don't log cacheentry events (#21597) web: bump prettier from 3.8.1 to 3.8.2 in /web (#21568) providers/oauth2: fix time logic in refresh_token_threshold (#21537) web: bump chromedriver from 147.0.1 to 147.0.2 in /web (#21564) web: bump axios from 1.13.6 to 1.15.0 in /web (#21528) web: bump the bundler group across 1 directory with 3 updates (#21562) website/docs: clean up Kubernetes outpost integration page (#21587) web: bump follow-redirects from 1.15.11 to 1.16.0 in /web (#21596) web: bump lodash-es from 4.17.23 to 4.18.1 in /web (#21595) web/admin: fix log viewer layout for application access check (#21594) ci: bump softprops/action-gh-release from 2.6.1 to 2.6.2 (#21589) ci: bump calibreapp/image-actions from 03c976c29803442fc4040a9de5509669e7759b81 to 4f7260f5dbd809ec86d03721c1ad71b8a841d3e0 (#21590) ci: bump actions/create-github-app-token from 3.0.0 to 3.1.1 (#21591) website/integrations: fix Microsoft 365 federation guide (#21054) website/docs: Update unique email expression policy to exclude current user (#21555) lib/sync/outgoing: avoid expensive query to get number of sync pages (#21575)
What
Extend ak-drawer to comply with the full specification; port ak-drawer to use Patternfly 5; vendor the Patternfly 5 subsystems directly responsible for the Drawer into the CSS.
Why
To meet the requirements of the Drawer, of the LightDOM project, and of the Patternfly 5 vendoring port.
Details
The Drawer’s internal CSS is now entirely within the Lit framework; the controlling CSS is namespaced to
ak-v2-c--drawerand placed into the global CSS. Every bit of the drawer has apartname, so it can be customized to your heart’s content.Added stylelint to make sure I’m doing this correctly.
make web)