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

Release-4.0.0: (HDS-2069) New Select part 3 (rebased) #1358

Merged
merged 8 commits into from
Sep 23, 2024

Commits on Sep 10, 2024

  1. (hds-2069) Added multiSelect prop and data updaters

    Renamed util functions to be clearer.
    NikoHelle committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    5733b73 View commit details
    Browse the repository at this point in the history
  2. (hds-2069) customContent for TextProvider

    Sometimes text interpolation needs option.label, so it should be passable.
    NikoHelle committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    1c6860f View commit details
    Browse the repository at this point in the history
  3. (hds-2069) Render MultiSelect components

    List components are created according to what (accessibility) attributes and props the components require.
    
    Single selects and multi selects without groups have same kind of props for the list components
    
    Single selects with group have own props and then there is still multi select with groups.
    
    Currently the list elements are missing some aria-attributes, so axe tests are failing, but rules are loosened.
    NikoHelle committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    15c0e97 View commit details
    Browse the repository at this point in the history
  4. (hds-2069) Util to get how many rows of children are visible

    Only 2 rows of selected tags should be shown, so this is needed there.
    NikoHelle committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    4e1afd7 View commit details
    Browse the repository at this point in the history
  5. (hds-2069) Tags

    NikoHelle committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    8c0ad0e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    df13adf View commit details
    Browse the repository at this point in the history
  7. (hds-2069) Large list virtualization

    Dropped old virtualization system for accessibility reasons. Option components are memoized so re-rendering even large lists after a multiselect group click is fast.
    
    The bottleneck is (was) the first render when menu is clicked. With long lists, the initial opening can be so slow, the user clicks again. And closes the menu.
    
    Solution is to render options in chunks. The useRenderChildrenInChunks hook, renders list items tick by tick, so initial render is fast and user sees no difference.
    NikoHelle committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    89c1a16 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    7320c5b View commit details
    Browse the repository at this point in the history