@salutejs/plasma-new-hope 0.78.0-canary.1185.8915022482.0 → 0.78.0-canary.1185.8922773956.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -119,7 +119,7 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
119
119
  });
120
120
  }
121
121
  }
122
- if (code === 'Tab') {
122
+ if (code === 'Tab' || code === 'Escape') {
123
123
  dispatchFocusedPath({
124
124
  type: 'reset'
125
125
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport type { Dispatch } from 'react';\n\nimport { PathAction, PathState } from '../reducers/pathReducer';\nimport { FocusedPathAction, FocusedPathState } from '../reducers/focusedPathReducer';\nimport { HandleGlobalToggleType, DropdownProps } from '../Dropdown.types';\n\nimport { PathMapType, FocusedToValueMapType } from './useHashMaps';\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleGlobalToggle: HandleGlobalToggleType;\n closeOnSelect: DropdownProps['closeOnSelect'];\n onItemSelect: DropdownProps['onItemSelect'];\n onItemClick: DropdownProps['onItemClick'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n}: Props): ReturnedProps => {\n const currentLength: number = pathMap.get(path?.[path.length - 1]) || 0;\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const { code } = event;\n\n if (code === 'ArrowUp') {\n if (focusedPath.length) {\n const newIndex = currentIndex <= 0 ? currentLength - 1 : currentIndex - 1;\n dispatchFocusedPath({ type: 'change_last_focus', value: newIndex });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'ArrowDown') {\n if (focusedPath.length) {\n const newIndex = currentIndex + 1 >= currentLength ? 0 : currentIndex + 1;\n dispatchFocusedPath({ type: 'change_last_focus', value: newIndex });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'ArrowLeft') {\n if (focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n\n if (focusedPath.length === 1) {\n handleGlobalToggle(false, event);\n }\n }\n\n if (code === 'ArrowRight') {\n if (focusedPath.length) {\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n }\n }\n }\n\n if (code === 'Enter' || code === 'Space') {\n event.preventDefault();\n\n if (path[0]) {\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) return;\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n if (closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n\n if (onItemSelect && currentItem) {\n onItemSelect(currentItem, event);\n }\n\n if (onItemClick && currentItem) {\n onItemClick(currentItem, event);\n }\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n }\n }\n\n if (code === 'Tab') {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n handleGlobalToggle(false, event);\n }\n\n if (code === 'Home') {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'End') {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'PageUp') {\n if (path[0]) {\n if (currentIndex <= 10) {\n dispatchFocusedPath({ type: 'set_initial_focus' });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 10 });\n }\n }\n }\n\n if (code === 'PageDown') {\n if (path[0]) {\n if (currentLength - currentIndex <= 10) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 10 });\n }\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleGlobalToggle","closeOnSelect","onItemSelect","onItemClick","currentLength","length","currentIndex","onKeyDown","event","code","newIndex","type","value","currentItem","items","toString","preventDefault","disabled","isDisabled"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport type { Dispatch } from 'react';\n\nimport { PathAction, PathState } from '../reducers/pathReducer';\nimport { FocusedPathAction, FocusedPathState } from '../reducers/focusedPathReducer';\nimport { HandleGlobalToggleType, DropdownProps } from '../Dropdown.types';\n\nimport { PathMapType, FocusedToValueMapType } from './useHashMaps';\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleGlobalToggle: HandleGlobalToggleType;\n closeOnSelect: DropdownProps['closeOnSelect'];\n onItemSelect: DropdownProps['onItemSelect'];\n onItemClick: DropdownProps['onItemClick'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n}: Props): ReturnedProps => {\n const currentLength: number = pathMap.get(path?.[path.length - 1]) || 0;\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const { code } = event;\n\n if (code === 'ArrowUp') {\n if (focusedPath.length) {\n const newIndex = currentIndex <= 0 ? currentLength - 1 : currentIndex - 1;\n dispatchFocusedPath({ type: 'change_last_focus', value: newIndex });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'ArrowDown') {\n if (focusedPath.length) {\n const newIndex = currentIndex + 1 >= currentLength ? 0 : currentIndex + 1;\n dispatchFocusedPath({ type: 'change_last_focus', value: newIndex });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'ArrowLeft') {\n if (focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n\n if (focusedPath.length === 1) {\n handleGlobalToggle(false, event);\n }\n }\n\n if (code === 'ArrowRight') {\n if (focusedPath.length) {\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n }\n }\n }\n\n if (code === 'Enter' || code === 'Space') {\n event.preventDefault();\n\n if (path[0]) {\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) return;\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n if (closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n\n if (onItemSelect && currentItem) {\n onItemSelect(currentItem, event);\n }\n\n if (onItemClick && currentItem) {\n onItemClick(currentItem, event);\n }\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n }\n }\n\n if (code === 'Tab' || code === 'Escape') {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n handleGlobalToggle(false, event);\n }\n\n if (code === 'Home') {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'End') {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'PageUp') {\n if (path[0]) {\n if (currentIndex <= 10) {\n dispatchFocusedPath({ type: 'set_initial_focus' });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 10 });\n }\n }\n }\n\n if (code === 'PageDown') {\n if (path[0]) {\n if (currentLength - currentIndex <= 10) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 10 });\n }\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleGlobalToggle","closeOnSelect","onItemSelect","onItemClick","currentLength","length","currentIndex","onKeyDown","event","code","newIndex","type","value","currentItem","items","toString","preventDefault","disabled","isDisabled"],"mappings":"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"}
@@ -115,7 +115,7 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
115
115
  });
116
116
  }
117
117
  }
118
- if (code === 'Tab') {
118
+ if (code === 'Tab' || code === 'Escape') {
119
119
  dispatchFocusedPath({
120
120
  type: 'reset'
121
121
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport type { Dispatch } from 'react';\n\nimport { PathAction, PathState } from '../reducers/pathReducer';\nimport { FocusedPathAction, FocusedPathState } from '../reducers/focusedPathReducer';\nimport { HandleGlobalToggleType, DropdownProps } from '../Dropdown.types';\n\nimport { PathMapType, FocusedToValueMapType } from './useHashMaps';\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleGlobalToggle: HandleGlobalToggleType;\n closeOnSelect: DropdownProps['closeOnSelect'];\n onItemSelect: DropdownProps['onItemSelect'];\n onItemClick: DropdownProps['onItemClick'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n}: Props): ReturnedProps => {\n const currentLength: number = pathMap.get(path?.[path.length - 1]) || 0;\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const { code } = event;\n\n if (code === 'ArrowUp') {\n if (focusedPath.length) {\n const newIndex = currentIndex <= 0 ? currentLength - 1 : currentIndex - 1;\n dispatchFocusedPath({ type: 'change_last_focus', value: newIndex });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'ArrowDown') {\n if (focusedPath.length) {\n const newIndex = currentIndex + 1 >= currentLength ? 0 : currentIndex + 1;\n dispatchFocusedPath({ type: 'change_last_focus', value: newIndex });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'ArrowLeft') {\n if (focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n\n if (focusedPath.length === 1) {\n handleGlobalToggle(false, event);\n }\n }\n\n if (code === 'ArrowRight') {\n if (focusedPath.length) {\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n }\n }\n }\n\n if (code === 'Enter' || code === 'Space') {\n event.preventDefault();\n\n if (path[0]) {\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) return;\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n if (closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n\n if (onItemSelect && currentItem) {\n onItemSelect(currentItem, event);\n }\n\n if (onItemClick && currentItem) {\n onItemClick(currentItem, event);\n }\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n }\n }\n\n if (code === 'Tab') {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n handleGlobalToggle(false, event);\n }\n\n if (code === 'Home') {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'End') {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'PageUp') {\n if (path[0]) {\n if (currentIndex <= 10) {\n dispatchFocusedPath({ type: 'set_initial_focus' });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 10 });\n }\n }\n }\n\n if (code === 'PageDown') {\n if (path[0]) {\n if (currentLength - currentIndex <= 10) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 10 });\n }\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleGlobalToggle","closeOnSelect","onItemSelect","onItemClick","currentLength","length","currentIndex","onKeyDown","event","code","newIndex","type","value","currentItem","items","toString","preventDefault","disabled","isDisabled"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Dropdown/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport type { Dispatch } from 'react';\n\nimport { PathAction, PathState } from '../reducers/pathReducer';\nimport { FocusedPathAction, FocusedPathState } from '../reducers/focusedPathReducer';\nimport { HandleGlobalToggleType, DropdownProps } from '../Dropdown.types';\n\nimport { PathMapType, FocusedToValueMapType } from './useHashMaps';\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleGlobalToggle: HandleGlobalToggleType;\n closeOnSelect: DropdownProps['closeOnSelect'];\n onItemSelect: DropdownProps['onItemSelect'];\n onItemClick: DropdownProps['onItemClick'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleGlobalToggle,\n closeOnSelect,\n onItemSelect,\n onItemClick,\n}: Props): ReturnedProps => {\n const currentLength: number = pathMap.get(path?.[path.length - 1]) || 0;\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const { code } = event;\n\n if (code === 'ArrowUp') {\n if (focusedPath.length) {\n const newIndex = currentIndex <= 0 ? currentLength - 1 : currentIndex - 1;\n dispatchFocusedPath({ type: 'change_last_focus', value: newIndex });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'ArrowDown') {\n if (focusedPath.length) {\n const newIndex = currentIndex + 1 >= currentLength ? 0 : currentIndex + 1;\n dispatchFocusedPath({ type: 'change_last_focus', value: newIndex });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'ArrowLeft') {\n if (focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n\n if (focusedPath.length === 1) {\n handleGlobalToggle(false, event);\n }\n }\n\n if (code === 'ArrowRight') {\n if (focusedPath.length) {\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n }\n }\n }\n\n if (code === 'Enter' || code === 'Space') {\n event.preventDefault();\n\n if (path[0]) {\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) return;\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n if (closeOnSelect) {\n handleGlobalToggle(false, event);\n }\n\n if (onItemSelect && currentItem) {\n onItemSelect(currentItem, event);\n }\n\n if (onItemClick && currentItem) {\n onItemClick(currentItem, event);\n }\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n }\n }\n\n if (code === 'Tab' || code === 'Escape') {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n\n handleGlobalToggle(false, event);\n }\n\n if (code === 'Home') {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'End') {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleGlobalToggle(true, event);\n }\n }\n\n if (code === 'PageUp') {\n if (path[0]) {\n if (currentIndex <= 10) {\n dispatchFocusedPath({ type: 'set_initial_focus' });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 10 });\n }\n }\n }\n\n if (code === 'PageDown') {\n if (path[0]) {\n if (currentLength - currentIndex <= 10) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 10 });\n }\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleGlobalToggle","closeOnSelect","onItemSelect","onItemClick","currentLength","length","currentIndex","onKeyDown","event","code","newIndex","type","value","currentItem","items","toString","preventDefault","disabled","isDisabled"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.78.0-canary.1185.8915022482.0",
3
+ "version": "0.78.0-canary.1185.8922773956.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -102,5 +102,5 @@
102
102
  "react-popper": "2.3.0",
103
103
  "storeon": "3.1.5"
104
104
  },
105
- "gitHead": "ee30996848a083a9e67faf0fc7cbb863d0d5192c"
105
+ "gitHead": "a7ceb60ed3632367dca8e6dd9083873a959c942b"
106
106
  }
@@ -121,7 +121,7 @@ var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref
121
121
  });
122
122
  }
123
123
  }
124
- if (code === 'Tab') {
124
+ if (code === 'Tab' || code === 'Escape') {
125
125
  dispatchFocusedPath({
126
126
  type: 'reset'
127
127
  });
@@ -274,18 +274,16 @@ const items = [
274
274
 
275
275
  const StoryNormal = (args: StoryDropdownProps) => {
276
276
  return (
277
- <>
278
- <Dropdown
279
- {...args}
280
- items={items}
281
- onToggle={action('onToggle')}
282
- onHover={action('onHover')}
283
- onItemSelect={action('onItemSelect')}
284
- onItemClick={action('onItemClick')}
285
- >
286
- <Button text="Список стран" />
287
- </Dropdown>
288
- </>
277
+ <Dropdown
278
+ {...args}
279
+ items={items}
280
+ onToggle={action('onToggle')}
281
+ onHover={action('onHover')}
282
+ onItemSelect={action('onItemSelect')}
283
+ onItemClick={action('onItemClick')}
284
+ >
285
+ <Button text="Список стран" />
286
+ </Dropdown>
289
287
  );
290
288
  };
291
289
 
@@ -115,7 +115,7 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
115
115
  });
116
116
  }
117
117
  }
118
- if (code === 'Tab') {
118
+ if (code === 'Tab' || code === 'Escape') {
119
119
  dispatchFocusedPath({
120
120
  type: 'reset'
121
121
  });
@@ -274,18 +274,16 @@ const items = [
274
274
 
275
275
  const StoryNormal = (args: StoryDropdownProps) => {
276
276
  return (
277
- <>
278
- <Dropdown
279
- {...args}
280
- items={items}
281
- onToggle={action('onToggle')}
282
- onHover={action('onHover')}
283
- onItemSelect={action('onItemSelect')}
284
- onItemClick={action('onItemClick')}
285
- >
286
- <Button text="Список стран" />
287
- </Dropdown>
288
- </>
277
+ <Dropdown
278
+ {...args}
279
+ items={items}
280
+ onToggle={action('onToggle')}
281
+ onHover={action('onHover')}
282
+ onItemSelect={action('onItemSelect')}
283
+ onItemClick={action('onItemClick')}
284
+ >
285
+ <Button text="Список стран" />
286
+ </Dropdown>
289
287
  );
290
288
  };
291
289