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

🎨 Popover legger seg nå ikke over Input i Datepicker #2349

Merged
merged 6 commits into from
Oct 10, 2023

Conversation

KenAJoh
Copy link
Collaborator

@KenAJoh KenAJoh commented Oct 5, 2023

Description

Resolves #2345

Legger til prop flip som kan enable/disable Popover-funksjonalitet der floating-element "flipper" plassering til over/under anchor basert på hvor det er best plass.

I tilfellene der Datepicker blir brukt kan dette være problematisk da toppen av Datepicker i noen tilfeller kan havne bak scroll. På mobil er dette også et problem da hvis man trykker på DateInput vil et mobiltastatur dukke opp å ta ~40% av skjermhøyden. Datepicker Popover vil da kunne flyttes over inputfelt å føre til flere layoutshifts

Edit
Testet dagens løsning uten dette implementert på Android og er ganske krise:

  • Klikk på DatepickerInput åpner Popover under
  • 100ms senere dukker mobil-keyboard opp og Popover legges over Input
  • ~300ms etter det scroller vinduet automatisk for å sentrere Input og Popover legges under igjen

Alt dette er native android-funksjonalitet, kan hende IOS håndterer det litt annerledes

Så 3 større layout-endringer på under sekundet. Satser på PR-en her løser det 🤞

@changeset-bot
Copy link

changeset-bot bot commented Oct 5, 2023

🦋 Changeset detected

Latest commit: 91d1e3e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 7 packages
Name Type
@navikt/ds-react Patch
@navikt/ds-css Patch
@navikt/ds-tokens Patch
@navikt/ds-tailwind Patch
@navikt/aksel-icons Patch
@navikt/aksel Patch
@navikt/aksel-stylelint Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Contributor

github-actions bot commented Oct 5, 2023

Storybook demo

b1eaaba39 | 59 komponenter | 385 stories

HalvorHaugan
HalvorHaugan previously approved these changes Oct 10, 2023
Copy link
Contributor

@HalvorHaugan HalvorHaugan left a comment

Choose a reason for hiding this comment

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

Ser ut til å funke bra både på Android og iOS!

Eneste ulempen jeg ser at at hvis man har scrollet slik at datepickeren ligger nederst i viewport, ser man ikke at det dukker opp en popover nedenfor. Men dette er trolig en veldig edge case. Kunne eventuelt vurdert å scrollIntoView, men det kan jo ev. ha andre ulemper.

"@navikt/ds-react": patch
---

Datepicker: Popover legger seg nå ikke over input
Copy link
Contributor

Choose a reason for hiding this comment

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

"over" kan misforstås som "oppå". Hva med "ovenfor"?

@KenAJoh KenAJoh merged commit e77568f into main Oct 10, 2023
@KenAJoh KenAJoh deleted the datepicker-popover branch October 10, 2023 11:30
@github-actions github-actions bot mentioned this pull request Oct 10, 2023
@frodehansen2
Copy link
Contributor

frodehansen2 commented Oct 19, 2023

@KenAJoh Denne fiksen lager litt trøbbel dersom DatePicker ligger inne i en Modal, da klarer ikke bruker å scrolle ned for å se hele kalenderen. Legger ved bildet som viser hvordan det ser ut i én av våre modaler. Jeg har scrollet så langt ned som jeg kommer. Det virker til at kalenderen ikke blir regnet med som innhold i dialogen, og scrollen i dialogen inkluderer da ikke kalenderen.

image

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.

[BUG] Datepicker: Popover legger seg over inputfelt på mindre skjermer
3 participants