themesberg / flowbite-react

Official React components built for Flowbite and Tailwind CSS
https://flowbite-react.com
MIT License
1.77k stars 395 forks source link

DropDown header interaction inconsistent for input and TextInput vs other controls. #1341

Closed dragonlipz closed 2 weeks ago

dragonlipz commented 3 months ago

Steps to reproduce

  1. Create new vite react-ts project
  2. install flowbite-react@0.7.7 (was also occurring with previous versions of 0.7.x)
  3. Replace App.tsx contents with Code Example at the end.
  4. Run project
  5. Open web console for output
  6. Select dropdown
  7. Put cursor header text box
  8. attempt typing
  9. Key press down/up log out, on change doesn't with little exception (space, backspace, etc. do work)
  10. Pasting a value into the input properly fires off the controls onChange handler
  11. Pressing a key that represents the First Character of an item in the list, jumps to that item in the list, removing you from the control.

Current behavior

Expected behavior

Context

Code Example

import './App.css';
import { Dropdown } from 'flowbite-react';

function App() {
  return (
    <>
      <Dropdown label="hello">
        <Dropdown.Header>
          <div className="p-3">
            <div className="relative">
              <input
                className="w-full"
                onChange={(e) => console.log(e?.target.value)}
                onKeyDown={(e) => console.log(e?.key)}
                onKeyUp={(e) => console.log(e?.key)}
              />
            </div>
          </div>
        </Dropdown.Header>
        <Dropdown.Item>item0</Dropdown.Item>
        <Dropdown.Item>item1</Dropdown.Item>
        <Dropdown.Item>item2</Dropdown.Item>
      </Dropdown>
    </>
  );
}

export default App;
polnetwork commented 2 months ago

Same is happening to me, thought the Dropdown may have an option to disable the navigation with first letters of the Items, but was not able to find any.

Kokoserver commented 1 month ago

Please any update on this, or any solution i can work with for now @polnetwork @dragonlipz

SutuSebastian commented 2 weeks ago

Fixed in flowbite-react@0.10.0 release.