Skip to content

Latest commit

 

History

History
98 lines (77 loc) · 3.3 KB

.TODO.md

File metadata and controls

98 lines (77 loc) · 3.3 KB

Changes planned from Beta -> RC:

  • Look into package size reduction, extract optional modules, e.g
    • createFilter could be optional, saving 2.6k gz
    • vendor simple Menu by default, allow opt-in to advanced usage
  • Bind getStyles for each component

Order of focus:

  • Review how the required state of the <input> can be handled
  • Example of how to implement Separators
  • Handle Header and Footer elements in the Menu
  • Keyboard focusing of values in multi select

Review:

Select Component Props

  • backspaceToRemoveMessage investigate
  • className investigate might need to move the className util into commonProps
  • openOnClick / openOnFocus needs implementation
  • required ||| this has some complex behaviour in v1 which may or may not be needed
  • tabIndex needs implementation

Done

  • id
  • inputId falls back to react-select-${props.instanceId}-input
  • autoBlur REMOVED can be handled with onChange
  • autosize REMOVED can replace <Input /> component
  • onClose --> onMenuClose
  • onOpen --> onMenuOpen
  • onBlurResetsInput / onCloseResetsInput / onSelectResetsInput REMOVED now that inputValue can be controlled, these should be unnecessary
  • onMenuScrollToBottom implemented
  • clearable --> isClearable
  • rtl --> isRTL
  • pageSize
  • menuShouldScrollIntoView
  • searchable --> isSearchable
  • resetValue REMOVED can be handled with onInputChange
  • clearAllText / clearValueText REMOVED title no longer applied, can replace <ClearIndicator />

Async Component Props

  • autoLoad investigate should be considered in conjunction with searchPromptText, may affect defaultOptions behaviour
  • searchPromptText investigate how do we know to display it? (https://goo.gl/PLTwV5)

Maybe:

  • Virtualisation
  • Prevent values from being popped, was option.clearableValue === false
  • Async w/ pagination
  • Extention point to reorder / change menu options array when it's created

Later:

  • Reordering of Options (drag and drop)

Done:

  • Tags mode (Creatable)
  • Handle changing of isDisabled prop
  • Better mobile support and touch handling
  • Better control of flip behaviour
  • Scroll the menu into view when it opens
  • Handle touch outside (see v1 implementation)
  • Review implementation of isSearchable prop (creates a "fake" input)
  • Async + Creatable variant
  • Cleanup
  • Documentation - Props, Customisation
  • Upgrade Guide from v1 -> v2
  • Lock scrolling on Menu (enable with prop)
  • Make inputValue a controllable prop
  • Make menuIsOpen a controllable prop
  • Finalise theme and style customisation framework
  • Remove disabledKey, clean up similar functionality
  • Pseudo-focus Options
  • Keyboard navigation
  • Make isDisabled / isSelected etc. props
  • Scroll to focused option
  • Add autofocus prop
  • Add HTML Form Input
  • Async with:
  • * promises
  • * better loading state and behaviour
  • Pass more (and consistent?) props and state from Select to Components
  • Fix issue with how the mouse hover interacts with keyboard scrolling
  • Ability to customise built-in strings