Skip to content

Commit

Permalink
Merge branch 'master' into fix-memoized-keydown
Browse files Browse the repository at this point in the history
  • Loading branch information
silviuaavram authored Jan 14, 2021
2 parents 1a2b6d3 + 0d87ecb commit fa80bbd
Show file tree
Hide file tree
Showing 9 changed files with 210 additions and 193 deletions.
9 changes: 9 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -1324,6 +1324,15 @@
"code",
"bug"
]
},
{
"login": "clementgarbay",
"name": "Clément Garbay",
"avatar_url": "https://avatars3.githubusercontent.com/u/12433625?v=4",
"profile": "https://github.com/clementgarbay",
"contributions": [
"code"
]
}
],
"repoHost": "https://github.com",
Expand Down
273 changes: 137 additions & 136 deletions README.md

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions src/hooks/reducer.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import {getHighlightedIndexOnOpen, getDefaultValue} from './utils'
import * as stateChangeTypes from './stateChangeTypes'

/* eslint-disable complexity */
export default function downshiftCommonReducer(state, action) {
export default function downshiftCommonReducer(state, action, stateChangeTypes) {
const {type, props} = action
let changes

Expand Down
25 changes: 0 additions & 25 deletions src/hooks/stateChangeTypes.js

This file was deleted.

2 changes: 1 addition & 1 deletion src/hooks/useCombobox/reducer.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ export default function downshiftUseComboboxReducer(state, action) {
}
break
default:
return commonReducer(state, action)
return commonReducer(state, action, stateChangeTypes)
}

return {
Expand Down
41 changes: 29 additions & 12 deletions src/hooks/useCombobox/stateChangeTypes.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,34 @@
import {productionEnumFn} from '../stateChangeTypes'
import productionEnum from '../../productionEnum.macro'

export * from '../stateChangeTypes'

export const InputKeyDownArrowDown = productionEnumFn(
export const InputKeyDownArrowDown = productionEnum(
'__input_keydown_arrow_down__',
)
export const InputKeyDownArrowUp = productionEnumFn('__input_keydown_arrow_up__')
export const InputKeyDownEscape = productionEnumFn('__input_keydown_escape__')
export const InputKeyDownHome = productionEnumFn('__input_keydown_home__')
export const InputKeyDownEnd = productionEnumFn('__input_keydown_end__')
export const InputKeyDownEnter = productionEnumFn('__input_keydown_enter__')
export const InputChange = productionEnumFn('__input_change__')
export const InputBlur = productionEnumFn('__input_blur__')
export const ControlledPropUpdatedSelectedItem = productionEnumFn(
export const InputKeyDownArrowUp = productionEnum('__input_keydown_arrow_up__')
export const InputKeyDownEscape = productionEnum('__input_keydown_escape__')
export const InputKeyDownHome = productionEnum('__input_keydown_home__')
export const InputKeyDownEnd = productionEnum('__input_keydown_end__')
export const InputKeyDownEnter = productionEnum('__input_keydown_enter__')
export const InputChange = productionEnum('__input_change__')
export const InputBlur = productionEnum('__input_blur__')

export const MenuMouseLeave = productionEnum('__menu_mouse_leave__')

export const ItemMouseMove = productionEnum('__item_mouse_move__')
export const ItemClick = productionEnum('__item_click__')

export const ToggleButtonClick = productionEnum('__togglebutton_click__')

export const FunctionToggleMenu = productionEnum('__function_toggle_menu__')
export const FunctionOpenMenu = productionEnum('__function_open_menu__')
export const FunctionCloseMenu = productionEnum('__function_close_menu__')
export const FunctionSetHighlightedIndex = productionEnum(
'__function_set_highlighted_index__',
)
export const FunctionSelectItem = productionEnum('__function_select_item__')
export const FunctionSetInputValue = productionEnum(
'__function_set_input_value__',
)
export const FunctionReset = productionEnum('__function_reset__')
export const ControlledPropUpdatedSelectedItem = productionEnum(
'__controlled_prop_updated_selected_item__',
)
2 changes: 1 addition & 1 deletion src/hooks/useSelect/reducer.js
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ export default function downshiftSelectReducer(state, action) {

break
default:
return commonReducer(state, action)
return commonReducer(state, action, stateChangeTypes)
}

return {
Expand Down
46 changes: 31 additions & 15 deletions src/hooks/useSelect/stateChangeTypes.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,42 @@
import {productionEnumFn} from '../stateChangeTypes'
import productionEnum from '../../productionEnum.macro'

export * from '../stateChangeTypes'

export const MenuKeyDownArrowDown = productionEnumFn(
export const MenuKeyDownArrowDown = productionEnum(
'__menu_keydown_arrow_down__',
)
export const MenuKeyDownArrowUp = productionEnumFn('__menu_keydown_arrow_up__')
export const MenuKeyDownEscape = productionEnumFn('__menu_keydown_escape__')
export const MenuKeyDownHome = productionEnumFn('__menu_keydown_home__')
export const MenuKeyDownEnd = productionEnumFn('__menu_keydown_end__')
export const MenuKeyDownEnter = productionEnumFn('__menu_keydown_enter__')
export const MenuKeyDownSpaceButton = productionEnumFn(
export const MenuKeyDownArrowUp = productionEnum('__menu_keydown_arrow_up__')
export const MenuKeyDownEscape = productionEnum('__menu_keydown_escape__')
export const MenuKeyDownHome = productionEnum('__menu_keydown_home__')
export const MenuKeyDownEnd = productionEnum('__menu_keydown_end__')
export const MenuKeyDownEnter = productionEnum('__menu_keydown_enter__')
export const MenuKeyDownSpaceButton = productionEnum(
'__menu_keydown_space_button__',
)
export const MenuKeyDownCharacter = productionEnumFn('__menu_keydown_character__')
export const MenuBlur = productionEnumFn('__menu_blur__')
export const ToggleButtonKeyDownArrowDown = productionEnumFn(
export const MenuKeyDownCharacter = productionEnum('__menu_keydown_character__')
export const MenuBlur = productionEnum('__menu_blur__')
export const MenuMouseLeave = productionEnum('__menu_mouse_leave__')

export const ItemMouseMove = productionEnum('__item_mouse_move__')
export const ItemClick = productionEnum('__item_click__')

export const ToggleButtonClick = productionEnum('__togglebutton_click__')
export const ToggleButtonKeyDownArrowDown = productionEnum(
'__togglebutton_keydown_arrow_down__',
)
export const ToggleButtonKeyDownArrowUp = productionEnumFn(
export const ToggleButtonKeyDownArrowUp = productionEnum(
'__togglebutton_keydown_arrow_up__',
)
export const ToggleButtonKeyDownCharacter = productionEnumFn(
export const ToggleButtonKeyDownCharacter = productionEnum(
'__togglebutton_keydown_character__',
)

export const FunctionToggleMenu = productionEnum('__function_toggle_menu__')
export const FunctionOpenMenu = productionEnum('__function_open_menu__')
export const FunctionCloseMenu = productionEnum('__function_close_menu__')
export const FunctionSetHighlightedIndex = productionEnum(
'__function_set_highlighted_index__',
)
export const FunctionSelectItem = productionEnum('__function_select_item__')
export const FunctionSetInputValue = productionEnum(
'__function_set_input_value__',
)
export const FunctionReset = productionEnum('__function_reset__')
2 changes: 1 addition & 1 deletion typings/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ export interface UseComboboxGetInputPropsOptions
GetPropsWithRefKey {}

export interface UseComboboxGetComboboxPropsOptions
extends React.HTMLProps<HTMLLabelElement> {}
extends React.HTMLProps<HTMLDivElement> {}

export interface UseComboboxPropGetters<Item> {
getToggleButtonProps: (
Expand Down

0 comments on commit fa80bbd

Please sign in to comment.