@salutejs/plasma-new-hope 0.336.0-canary.2205.17440860016.0 → 0.336.0-canary.2205.17466635480.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/emotion/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
- package/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
- package/package.json +4 -4
- package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +3 -7
- package/styled-components/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +3 -7
@@ -188,13 +188,9 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
|
|
188
188
|
case keys.Tab:
|
189
189
|
case keys.Escape:
|
190
190
|
{
|
191
|
-
|
192
|
-
|
193
|
-
}
|
194
|
-
dispatchPath({
|
195
|
-
type: 'reset'
|
196
|
-
});
|
197
|
-
handleListToggle(false);
|
191
|
+
if (path[0]) {
|
192
|
+
handleListToggle(false);
|
193
|
+
}
|
198
194
|
break;
|
199
195
|
}
|
200
196
|
case keys.Home:
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Select/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { KeyboardEvent, Dispatch } from 'react';\nimport React from 'react';\n\nimport { PathAction, PathState, FocusedPathAction, FocusedPathState } from '../reducers';\nimport type { MergedDropdownNodeTransformed } from '../ui/Inner/ui/Item/Item.types';\n\nimport { PathMapType, FocusedToValueMapType } from './usePathMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n Backspace: 'Backspace',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nexport const getItemByFocused = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ntype Props = {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleListToggle: (opened: boolean) => void;\n handlePressDown: (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => void;\n};\n\ntype 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 handleListToggle,\n handlePressDown,\n}: Props): ReturnedProps => {\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n const currentLength: number = pathMap.get(path?.[focusedPath.length - 1]) || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (path[0]) {\n if (focusedPath.length) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n } else {\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n }\n\n if (path.length === 1) {\n handleListToggle(false);\n }\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (path[0]) {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n }\n }\n\n break;\n }\n\n case keys.Space: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (!currentItem || currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Enter: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap)!;\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n handleListToggle(false);\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\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 handleListToggle(true);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getItemByFocused","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleListToggle","handlePressDown","currentIndex","length","currentLength","onKeyDown","event","code","type","value","currentItem","disabled","isDisabled","items","toString","preventDefault"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Select/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { KeyboardEvent, Dispatch } from 'react';\nimport React from 'react';\n\nimport { PathAction, PathState, FocusedPathAction, FocusedPathState } from '../reducers';\nimport type { MergedDropdownNodeTransformed } from '../ui/Inner/ui/Item/Item.types';\n\nimport { PathMapType, FocusedToValueMapType } from './usePathMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n Backspace: 'Backspace',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nexport const getItemByFocused = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ntype Props = {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleListToggle: (opened: boolean) => void;\n handlePressDown: (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => void;\n};\n\ntype 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 handleListToggle,\n handlePressDown,\n}: Props): ReturnedProps => {\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n const currentLength: number = pathMap.get(path?.[focusedPath.length - 1]) || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (path[0]) {\n if (focusedPath.length) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n } else {\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n }\n\n if (path.length === 1) {\n handleListToggle(false);\n }\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (path[0]) {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n }\n }\n\n break;\n }\n\n case keys.Space: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (!currentItem || currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Enter: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap)!;\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n if (path[0]) {\n handleListToggle(false);\n }\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\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 handleListToggle(true);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getItemByFocused","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleListToggle","handlePressDown","currentIndex","length","currentLength","onKeyDown","event","code","type","value","currentItem","disabled","isDisabled","items","toString","preventDefault"],"mappings":"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"}
|
@@ -198,13 +198,9 @@ var useKeyNavigation = function(param) {
|
|
198
198
|
case keys.Tab:
|
199
199
|
case keys.Escape:
|
200
200
|
{
|
201
|
-
|
202
|
-
|
203
|
-
}
|
204
|
-
dispatchPath({
|
205
|
-
type: 'reset'
|
206
|
-
});
|
207
|
-
handleListToggle(false);
|
201
|
+
if (path[0]) {
|
202
|
+
handleListToggle(false);
|
203
|
+
}
|
208
204
|
break;
|
209
205
|
}
|
210
206
|
case keys.Home:
|
@@ -177,13 +177,9 @@ export var useKeyNavigation = function(param) {
|
|
177
177
|
case keys.Tab:
|
178
178
|
case keys.Escape:
|
179
179
|
{
|
180
|
-
|
181
|
-
|
182
|
-
}
|
183
|
-
dispatchPath({
|
184
|
-
type: 'reset'
|
185
|
-
});
|
186
|
-
handleListToggle(false);
|
180
|
+
if (path[0]) {
|
181
|
+
handleListToggle(false);
|
182
|
+
}
|
187
183
|
break;
|
188
184
|
}
|
189
185
|
case keys.Home:
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { component, mergeConfig } from "../../../engines";
|
2
|
+
import { comboboxNewConfig } from "../../..";
|
3
|
+
import { config } from "./Combobox.config";
|
4
|
+
var mergedConfig = mergeConfig(comboboxNewConfig, config);
|
5
|
+
var ComboboxComponent = component(mergedConfig);
|
6
|
+
var Combobox = ComboboxComponent;
|
7
|
+
export { Combobox };
|
@@ -184,13 +184,9 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
|
|
184
184
|
case keys.Tab:
|
185
185
|
case keys.Escape:
|
186
186
|
{
|
187
|
-
|
188
|
-
|
189
|
-
}
|
190
|
-
dispatchPath({
|
191
|
-
type: 'reset'
|
192
|
-
});
|
193
|
-
handleListToggle(false);
|
187
|
+
if (path[0]) {
|
188
|
+
handleListToggle(false);
|
189
|
+
}
|
194
190
|
break;
|
195
191
|
}
|
196
192
|
case keys.Home:
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Select/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { KeyboardEvent, Dispatch } from 'react';\nimport React from 'react';\n\nimport { PathAction, PathState, FocusedPathAction, FocusedPathState } from '../reducers';\nimport type { MergedDropdownNodeTransformed } from '../ui/Inner/ui/Item/Item.types';\n\nimport { PathMapType, FocusedToValueMapType } from './usePathMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n Backspace: 'Backspace',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nexport const getItemByFocused = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ntype Props = {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleListToggle: (opened: boolean) => void;\n handlePressDown: (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => void;\n};\n\ntype 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 handleListToggle,\n handlePressDown,\n}: Props): ReturnedProps => {\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n const currentLength: number = pathMap.get(path?.[focusedPath.length - 1]) || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (path[0]) {\n if (focusedPath.length) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n } else {\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n }\n\n if (path.length === 1) {\n handleListToggle(false);\n }\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (path[0]) {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n }\n }\n\n break;\n }\n\n case keys.Space: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (!currentItem || currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Enter: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap)!;\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n handleListToggle(false);\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\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 handleListToggle(true);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getItemByFocused","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleListToggle","handlePressDown","currentIndex","length","currentLength","onKeyDown","event","code","type","value","currentItem","disabled","isDisabled","items","toString","preventDefault"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Select/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { KeyboardEvent, Dispatch } from 'react';\nimport React from 'react';\n\nimport { PathAction, PathState, FocusedPathAction, FocusedPathState } from '../reducers';\nimport type { MergedDropdownNodeTransformed } from '../ui/Inner/ui/Item/Item.types';\n\nimport { PathMapType, FocusedToValueMapType } from './usePathMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n Backspace: 'Backspace',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nexport const getItemByFocused = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ntype Props = {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleListToggle: (opened: boolean) => void;\n handlePressDown: (item: MergedDropdownNodeTransformed, e?: React.MouseEvent<HTMLElement>) => void;\n};\n\ntype 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 handleListToggle,\n handlePressDown,\n}: Props): ReturnedProps => {\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n const currentLength: number = pathMap.get(path?.[focusedPath.length - 1]) || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (path[0]) {\n if (focusedPath.length) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n } else {\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n }\n\n if (path.length === 1) {\n handleListToggle(false);\n }\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (path[0]) {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n }\n }\n\n break;\n }\n\n case keys.Space: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap);\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (!currentItem || currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Enter: {\n event.preventDefault();\n\n const currentItem = getItemByFocused(focusedPath, focusedToValueMap)!;\n\n if (currentItem?.disabled || currentItem?.isDisabled) {\n break;\n }\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (currentItem?.items) {\n if (path.length > focusedPath.length) {\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n } else {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n }\n\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n if (path[0]) {\n handleListToggle(false);\n }\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleListToggle(true);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\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 handleListToggle(true);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (path.length > focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getItemByFocused","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleListToggle","handlePressDown","currentIndex","length","currentLength","onKeyDown","event","code","type","value","currentItem","disabled","isDisabled","items","toString","preventDefault"],"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.336.0-canary.2205.
|
3
|
+
"version": "0.336.0-canary.2205.17466635480.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -79,7 +79,7 @@
|
|
79
79
|
"@rollup/plugin-babel": "^6.0.4",
|
80
80
|
"@rollup/plugin-commonjs": "^25.0.4",
|
81
81
|
"@rollup/plugin-node-resolve": "^15.1.0",
|
82
|
-
"@salutejs/plasma-sb-utils": "0.207.0
|
82
|
+
"@salutejs/plasma-sb-utils": "0.207.0",
|
83
83
|
"@salutejs/plasma-themes": "0.37.0",
|
84
84
|
"@storybook/addon-docs": "8.6.12",
|
85
85
|
"@storybook/addon-essentials": "8.6.12",
|
@@ -117,7 +117,7 @@
|
|
117
117
|
"@linaria/react": "5.0.3",
|
118
118
|
"@popperjs/core": "2.11.8",
|
119
119
|
"@salutejs/input-core": "2.1.2",
|
120
|
-
"@salutejs/plasma-core": "1.207.0
|
120
|
+
"@salutejs/plasma-core": "1.207.0",
|
121
121
|
"@salutejs/react-maskinput": "3.2.6",
|
122
122
|
"@tanstack/react-table": "8.21.2",
|
123
123
|
"@tanstack/react-virtual": "3.13.2",
|
@@ -137,5 +137,5 @@
|
|
137
137
|
"sideEffects": [
|
138
138
|
"*.css"
|
139
139
|
],
|
140
|
-
"gitHead": "
|
140
|
+
"gitHead": "dd606cf9f70f5a6b17925c0290a78334142f3c5f"
|
141
141
|
}
|
@@ -198,13 +198,9 @@ var useKeyNavigation = function(param) {
|
|
198
198
|
case keys.Tab:
|
199
199
|
case keys.Escape:
|
200
200
|
{
|
201
|
-
|
202
|
-
|
203
|
-
}
|
204
|
-
dispatchPath({
|
205
|
-
type: 'reset'
|
206
|
-
});
|
207
|
-
handleListToggle(false);
|
201
|
+
if (path[0]) {
|
202
|
+
handleListToggle(false);
|
203
|
+
}
|
208
204
|
break;
|
209
205
|
}
|
210
206
|
case keys.Home:
|
@@ -1 +1,16 @@
|
|
1
1
|
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "Combobox", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return Combobox;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
var _engines = require("../../../engines");
|
12
|
+
var _ = require("../../..");
|
13
|
+
var _Comboboxconfig = require("./Combobox.config");
|
14
|
+
var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
|
15
|
+
var ComboboxComponent = (0, _engines.component)(mergedConfig);
|
16
|
+
var Combobox = ComboboxComponent;
|
@@ -177,13 +177,9 @@ export var useKeyNavigation = function(param) {
|
|
177
177
|
case keys.Tab:
|
178
178
|
case keys.Escape:
|
179
179
|
{
|
180
|
-
|
181
|
-
|
182
|
-
}
|
183
|
-
dispatchPath({
|
184
|
-
type: 'reset'
|
185
|
-
});
|
186
|
-
handleListToggle(false);
|
180
|
+
if (path[0]) {
|
181
|
+
handleListToggle(false);
|
182
|
+
}
|
187
183
|
break;
|
188
184
|
}
|
189
185
|
case keys.Home:
|