goauthentik / goauthentik/authentik

Move Flow Component Content Into The LightDOM

Open
#21,608 0 comments 0 reactions 1 assignee Claimed by @kensternberg-authentik View on GitHub
area:frontend enhancement/confirmed
Dominant language
Python
Stars
25.6k
Forks
2k
Avg merge
1d 1h
Merged PRs (30d)
644

Description

I would like to be able to use common browser-based password managers to input my identity and credentials without having to type or memorize them. I would also like to be able to test the authentik UI directly without having to delve deep into the guts of shadowDOM components.

It should be possible and, for the most part, straightforward to convert our layout components to be just that: layout, and our business logic components to live separately from layouts.

We propose a refinement of the Web Component model:

1. For styling layouts, where a component has one obvious way to do something, such as a documentation, content, or card, the component *may* automatically assign slots based on the "shape" of the content: if a header, footer, and article tag or present, the component may automatically assign slots if none are already assigned.

2. For styling collections, where a component lightDOM contains many uniform copies of the same thing (such as a list, a table, or a tree), if the component is confident it can validate the shape, it may build a dynamic layout object of slots and project the lightDOM elements as needed.

3. For constrained elements such an inputs, textareas, and other controls, the component will automatically generate its own layout _and_ build into its own lightDOM the component to be rendered, its position and behavior projected into the shadowDOM by an in-line slot.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.