fremtind / jokul

Jøkul er et designsystem utviklet av Fremtind.
https://jokul.fremtind.no
MIT License
64 stars 31 forks source link

Feil: Baseinput counter oppdatere seg ikke og ligger midt i høyden #3921

Closed PernilleWelle-Watne closed 2 months ago

PernilleWelle-Watne commented 3 months ago

Steg for å gjenskape

Counteren oppdaterer seg ikke i Baseinput og den ligger litt rart.

 <InputGroup
          className="input jkl-text-area"
          label={sporsmalstekst}
          labelProps={{ variant }}
          errorLabel={error?.message}
          render={(inputProps) => (
            <>
              <SupportLabel
                id={`${id}-help`}
                labelType="help"
                label={hjelpetekst}
                className="mb-12 mt-2 "
              />
              <BaseTextArea
                {...inputProps}
                {...register(fieldName)}
                counter={
                  true
                    ? {
                        maxLength: 200,
                        hideProgress: false,
                      }
                    : undefined
                }
              />
            </>
          )}
        ></InputGroup>
Skjermbilde 2024-07-30 kl  12 04 16

Forventet oppførsel

At counteren oppdaterer seg

ivarni commented 2 months ago

Quick-fix er å legge til klassen jkl-text-area--with-counter<InputGroup> men her burde vi se på en bedre løsning for dette i jøkul dersom vi skal støtte å at man bruker <BaseTextArea> til dette selv. Rent teknisk kunne vi nok sett på å bruke :has( ) selectoren.

PernilleWelle-Watne commented 2 months ago

Når jeg putter på en ny className på BaseTextArea så mister den alle den hadde fra før. Også oppdaterer ikke counteren seg

Skjermbilde 2024-08-01 kl  09 42 05
ivarni commented 2 months ago

Den må settes oppe på <InputGroup>, det er derfor akkurat det med counteren ikke fungerer helt ut av boksen når man bruker base-komponenten.

Men jeg ser at da oppdaterer den seg heller ikke før på blur, så det fiksa bare layouten 😞

ivarni commented 2 months ago

Det ser ut som telleren bare oppdaterer seg dersom komponenten brukes som en controlled component, uavhengig av om man bruker <TextArea> eller <BaseTextArea>.

PernilleWelle-Watne commented 2 months ago

Skal jeg putte den i en Controller? Vi bruker React hook form

ivarni commented 2 months ago

Det vil nok fungere med en Controller rundt hele InputGroup, legge på klassenavnet der og så sende inn value til BaseTextInput, men jeg tror at med fiksen i den linkede PRen trenger dere ikke noen av delene.