The p5.js Editor is a website for creating p5.js sketches, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! You can create, share, or remix p5.js sketches without needing to download or configure anything.
We want to have a useful set of basic UI components that we can use throughout the app. They should be customizable via props but the output should be predictable.
We are not using the inline version anywhere because it is not useful in it's current state. If we fix it up then it can be used for issues like #2734.
Feature enhancement details
Our Button UI component has a prop display which supports values "block" and "inline". I would expect that a <Button/> with display="inline" would look the same as the normal button, with the only difference being that it is on the same line instead of a new line. In reality it uses a completely different styled component.
I would expect something more like this, which is the block style button but displayed inline:
My proposal is that we should delete the StyledInlineButton styled component. Instead, we should adjust the existing StyledButton to change its display property based on the display prop. This ensures that all other styling is consistent regardless of the display prop.
Increasing Access
We want to have a useful set of basic UI components that we can use throughout the app. They should be customizable via props but the output should be predictable.
We are not using the inline version anywhere because it is not useful in it's current state. If we fix it up then it can be used for issues like #2734.
Feature enhancement details
Our
Button
UI component has a propdisplay
which supports values"block"
and"inline"
. I would expect that a<Button/>
withdisplay="inline"
would look the same as the normal button, with the only difference being that it is on the same line instead of a new line. In reality it uses a completely different styled component.https://github.com/processing/p5.js-web-editor/blob/e77bc6ac3e5fd499a12821fef8ecac91a172fa3a/client/common/Button.jsx#L185-L189
https://github.com/processing/p5.js-web-editor/blob/e77bc6ac3e5fd499a12821fef8ecac91a172fa3a/client/common/Button.jsx#L83-L108
The inline version is always the same color regardless of the
kind="primary"
andkind="secondary"
props, as the color is hard-coded.This is what I get when using
inline
buttons:The wildest part is that it's not even inline! It has
display: flex
instead ofdisplay: inline-flex
. https://github.com/processing/p5.js-web-editor/blob/e77bc6ac3e5fd499a12821fef8ecac91a172fa3a/client/common/Button.jsx#L85I would expect something more like this, which is the
block
style button but displayed inline:My proposal is that we should delete the
StyledInlineButton
styled component. Instead, we should adjust the existingStyledButton
to change itsdisplay
property based on thedisplay
prop. This ensures that all other styling is consistent regardless of thedisplay
prop.