Skip to content

Flyout: convert current flyout to web component #70

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
humitos opened this issue May 22, 2023 · 5 comments · Fixed by #86
Closed

Flyout: convert current flyout to web component #70

humitos opened this issue May 22, 2023 · 5 comments · Fixed by #86
Assignees

Comments

@humitos
Copy link
Member

humitos commented May 22, 2023

As the first step, we want to copy the current flyout code and and convert it into a web component. It should work in the exact same way as the one generated by the current JS code and HTML returned by the endpoint.

It has to be floating at the bottom right for the first iteration.

This will allow us to start slowly migrating new projects to use the new flyout, and expose the other addons.

Front logo Front conversations

@humitos humitos self-assigned this May 22, 2023
@github-project-automation github-project-automation bot moved this to Planned in 📍Roadmap May 22, 2023
@humitos
Copy link
Member Author

humitos commented May 24, 2023

There is an initial implementation for this at #66. However, it changes the design and we don't want that for this initial iteration.

@humitos
Copy link
Member Author

humitos commented Aug 9, 2023

Take into account these PRs when working on this issue (cc @zanderle):

@zanderle
Copy link
Collaborator

Do we want to replicate the styles exactly? This is what we have so far:

Screenshot 2023-08-17 at 16 47 34

It's basically the same (the layout and the functionality) apart from the colors (which can be changed using css variables).

@mgeier
Copy link

mgeier commented Aug 27, 2023

It would be great if you could keep the CSS class names and the HTML structure the same, because several Sphinx themes customize the RTD flyout.
Some examples that I know of:

https://insipid-sphinx-theme.readthedocs.io/en/0.4.2/
https://pip.pypa.io/
https://executablebooks.org/

If you plan on changing the HTML structure fundamentally, it would be great if you could use a completely new set of CSS classes, because otherwise differentiating between the old and new versions would be very hard.

If you need testing, I'm volunteering for testing it with the insipid theme.

@humitos
Copy link
Member Author

humitos commented Aug 27, 2023

@mgeier We are re-designing the flyout completely using web components in an isolated way. It will be contained on a shadow DOM without the ability to customize it with regular CSS classes or Javascript modifications. Instead, we will be exposing a supported API to perform customization in a controlled way. See

If you need testing, I'm volunteering for testing it with the insipid theme.

Thanks, we will definitely need help for this. We are not there just yet, tho. The first implementation won't allow customization at all because we want to start testing it in a controlled way initially while we slowly roll it out. Once we are happy with the implementation, we will implement and expose the issues I liked in the previous paragraph. While working on those issues, talking to theme authors and users will be incredibly helpful for us so we can design and pattern that works for everybody.

humitos added a commit that referenced this issue Aug 29, 2023
Building on top of the work started in
#66

Closes #70

---------

Co-authored-by: Manuel Kaufmann <[email protected]>
@github-project-automation github-project-automation bot moved this from Needs review to Done in 📍Roadmap Aug 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Archived in project
3 participants