Skip to content
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

test(components-react): add visual baseline to all formfield components #347

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

MrSkippy
Copy link
Contributor

@MrSkippy MrSkippy commented Dec 16, 2024

Contents

Add visual tests baseline to all formfield components

Checklist

  • New features/components and bugfixes are covered by tests
  • [ ] Changesets are created
  • [ ] Definition of Done is checked

@MrSkippy MrSkippy linked an issue Dec 16, 2024 that may be closed by this pull request
9 tasks
Copy link

vercel bot commented Dec 16, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
lux ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 16, 2024 11:29am

@MrSkippy MrSkippy marked this pull request as ready for review December 16, 2024 11:21
@@ -4,7 +4,7 @@ import './FormFieldRadioGroup.css';
import { LuxFormFieldRadioOption } from '../form-field-radio-option/FormFieldRadioOption';

interface RadioOption {
value: string;
value: string | number;
Copy link
Contributor

Choose a reason for hiding this comment

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

Als je hier het type aanpast moet je dat ook doen bij de group. Wellicht meoten daar een Generic van maken zodat het type automatisch doorsijpelt naar de option

Copy link
Contributor

Choose a reason for hiding this comment

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

En dan string|number als default type voor de value

export const Visual = createVisualRegressionStory(() => (
<>
<h4 className="utrecht-heading-3">Light</h4>
<VisualRegressionWrapper className={`lux-theme--logius-light`}>
Copy link
Contributor

Choose a reason for hiding this comment

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

Ik denk dat dit te veel is om bij te houden. Mocht er iets veranderen aan de test moeten we dat handmatig synchroon houden. Liever zie ik een VisualStates component zoals bij andere componenten (zie ook andere open PR's)

export const Visual = createVisualRegressionStory(() => (
<>
<h4 className="utrecht-heading-3">Light</h4>
<VisualRegressionWrapper className={`lux-theme--logius-light`}>
Copy link
Contributor

Choose a reason for hiding this comment

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

Hier ook graag een VisualStates component introduceren

export const Visual = createVisualRegressionStory(() => (
<div className="utrecht-document">
<h4 className="utrecht-heading-3">Light</h4>
<VisualRegressionWrapper className={`lux-theme--logius-light`}>
Copy link
Contributor

Choose a reason for hiding this comment

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

VisualStates

];

export const Visual = createVisualRegressionStory(() => (
<div className="utrecht-document">
Copy link
Contributor

Choose a reason for hiding this comment

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

VisualStates

export const Visual = createVisualRegressionStory(() => (
<div className="utrecht-document">
<h4 className="utrecht-heading-3">Light</h4>
<VisualRegressionWrapper className={`lux-theme--logius-light`}>
Copy link
Contributor

Choose a reason for hiding this comment

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

VisualStates

export const Visual = createVisualRegressionStory(() => (
<>
<h4 className="utrecht-heading-3">Light</h4>
<VisualRegressionWrapper className={`lux-theme--logius-light`}>
Copy link
Contributor

Choose a reason for hiding this comment

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

VisualStates

export const Visual = createVisualRegressionStory(() => (
<>
<h4 className="utrecht-heading-3">Light</h4>
<VisualRegressionWrapper className={`lux-theme--logius-light`}>
Copy link
Contributor

Choose a reason for hiding this comment

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

VisualStates

<strong>Note:</strong> Dit is alleen een test voor het FormField, de verschillende inputs hebben hun eigen tests.
</LuxParagraph>
<h4 className="utrecht-heading-3">Light</h4>
<VisualRegressionWrapper className={`lux-theme--logius-light`}>
Copy link
Contributor

Choose a reason for hiding this comment

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

VisualStates

Copy link
Contributor

@AlineNap AlineNap left a comment

Choose a reason for hiding this comment

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

Form field label

Top, geen opmerkingen

Form field description

  1. De component tokens voor de kleur van invalid en valid staan op grijs. Hoe kan het dat deze dan toch rood en groen zijn bij de voorbeelden, onderaan in Storybook. In de playground werkt het goed.
  2. Zouden wij invalid en valid eruit kunnen halen?

Form field error message

  1. Wat is de variant distanced? Hebben wij die nodig?

Textbox

  1. Bij invalid zou de border rood moeten
  2. Huisnummer veld zou korter mogen, zoals Utrecht dat ook heeft. Er is vanuit Logius nog niet nagedacht hoe al die voorbeelden eruit zouden moeten zien die zijn toegevoegd. Wat is voordeel van deze voorbeelden? Misschien beter om ze eruit te halen?
  3. De focus visible voorbeeld heeft geen focus outline.
  4. Ik mis voorbeelden van de verschillende states in Storybook

Select

  1. Er mist een icon aan de linkerkant

Select (documentatie)

  1. In de voorbeelden van de states is de value van de select gebruikt om de state aan te duiden, als je een andere state selecteert luister het daar niet naar. Fijner is om met een titel boven de select de state aan te duiden net als utrecht doet: https://nl-design-system.github.io/utrecht/storybook/?path=/docs/css_css-select--docs.
  2. In het voorbeeld heeft de hover een dikke border maar als ik over de select heen hover wordt de border niet dik. Heeft dat te maken met ticket utrecht?
  3. Wordt select an option ook doorgegeven in het component? Dan beter om die tekst in het Nederlands te doen.

Form field

  1. Met de utrecht.form-field.row-gap zou ik spacing verwachten tussen label, description en de error-message.

Form field radio option

  1. Radiobutton is 24px, zou moeten luisteren naar utrecht.radio-button.size (18px). Wat is jullie voorstel?
  2. Zelfde voor de dot in het midden die zou moeten luisteren naar utrecht.radio-button.icon.size (10px).
  3. De radio lijkt niet gecentreerd met de eerste regel van het label. Zie screenshot

Form field radio group

  1. Invalid heeft hier de error message bovenin. Graag 1 lijn trekken bij alle formfields, of boven de input of na de input.
  2. Tussen de radio options hoort lux.radio-group.row-gap(paars) toegepast te zijn dat gaat goed maar deze staat los van de spacing tussen het label, de description en de lux.radio-group zelf. Zie screenshot.

Losse vragen

  1. Wat is het verschil tussen form field en from-field textbox?

Form field checkbox

  1. Graag spacing tussen de error message en checkbox toevoegen die gelijk staat aan de utrecht.form-field.row-gap
  2. Waar komt de with target variant vandaan? Zie dezelfde vraag bij checkbox los.

image

centreren radio

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Chore: Add Visual Regression Tests to all FormField components
3 participants