@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.
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +1 -1
- package/cjs/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js +1 -1
- package/es/components/Dropdown/hooks/useKeyboardNavigation.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Dropdown/hooks/useKeyboardNavigation.js +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +10 -12
- package/styled-components/es/components/Dropdown/hooks/useKeyboardNavigation.js +1 -1
- package/styled-components/es/examples/plasma_b2c/components/Dropdown/Dropdown.stories.tsx +10 -12
@@ -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":";;;;AASA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,WAA6B,EAAEC,iBAAwC,EAAK;EAChG,IAAMC,mBAAmB,GAAGF,WAAW,CAACG,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAA;AAAA,IAAA,OAAA,EAAA,CAAAC,MAAA,CAAQF,GAAG,EAAAE,GAAAA,CAAAA,CAAAA,MAAA,CAAID,CAAC,CAAA,CAAA;GAAE,EAAE,EAAE,CAAC,CAACE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AAElG,EAAA,OAAON,iBAAiB,CAACO,GAAG,CAACN,mBAAmB,CAAC,CAAA;AACrD,CAAC,CAAA;IAmBYO,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAWD;AAAA,EAAA,IAVxBV,WAAW,GAAAU,IAAA,CAAXV,WAAW;IACXW,mBAAmB,GAAAD,IAAA,CAAnBC,mBAAmB;IACnBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IACZC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPb,iBAAiB,GAAAS,IAAA,CAAjBT,iBAAiB;IACjBc,kBAAkB,GAAAL,IAAA,CAAlBK,kBAAkB;IAClBC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,YAAY,GAAAP,IAAA,CAAZO,YAAY;IACZC,WAAW,GAAAR,IAAA,CAAXQ,WAAW,CAAA;EAEX,IAAMC,aAAqB,GAAGL,OAAO,CAACN,GAAG,CAACI,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAGA,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACvE,EAAA,IAAMC,YAAoB,GAAG,CAAArB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAGA,WAAW,CAACoB,MAAM,GAAG,CAAC,CAAC,KAAI,CAAC,CAAA;AAEvE,EAAA,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAiC,EAAK;AACrD,IAAA,IAAQC,IAAI,GAAKD,KAAK,CAAdC,IAAI,CAAA;IAEZ,IAAIA,IAAI,KAAK,SAAS,EAAE;MACpB,IAAIxB,WAAW,CAACoB,MAAM,EAAE;AACpB,QAAA,IAAMK,QAAQ,GAAGJ,YAAY,IAAI,CAAC,GAAGF,aAAa,GAAG,CAAC,GAAGE,YAAY,GAAG,CAAC,CAAA;AACzEV,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAmB;AAAEC,UAAAA,KAAK,EAAEF,QAAAA;AAAS,SAAC,CAAC,CAAA;AACvE,OAAC,MAAM;AACHZ,QAAAA,YAAY,CAAC;AAAEa,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAC5Cf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAA;AAAoB,SAAC,CAAC,CAAA;AAClDX,QAAAA,kBAAkB,CAAC,IAAI,EAAEQ,KAAK,CAAC,CAAA;AACnC,OAAA;AACJ,KAAA;IAEA,IAAIC,IAAI,KAAK,WAAW,EAAE;MACtB,IAAIxB,WAAW,CAACoB,MAAM,EAAE;AACpB,QAAA,IAAMK,SAAQ,GAAGJ,YAAY,GAAG,CAAC,IAAIF,aAAa,GAAG,CAAC,GAAGE,YAAY,GAAG,CAAC,CAAA;AACzEV,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAmB;AAAEC,UAAAA,KAAK,EAAEF,SAAAA;AAAS,SAAC,CAAC,CAAA;AACvE,OAAC,MAAM;AACHZ,QAAAA,YAAY,CAAC;AAAEa,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAC5Cf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAA;AAAoB,SAAC,CAAC,CAAA;AAClDX,QAAAA,kBAAkB,CAAC,IAAI,EAAEQ,KAAK,CAAC,CAAA;AACnC,OAAA;AACJ,KAAA;IAEA,IAAIC,IAAI,KAAK,WAAW,EAAE;MACtB,IAAIxB,WAAW,CAACoB,MAAM,EAAE;AACpBP,QAAAA,YAAY,CAAC;AAAEa,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAC5Cf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAA;AAAoB,SAAC,CAAC,CAAA;AACtD,OAAA;AAEA,MAAA,IAAI1B,WAAW,CAACoB,MAAM,KAAK,CAAC,EAAE;AAC1BL,QAAAA,kBAAkB,CAAC,KAAK,EAAEQ,KAAK,CAAC,CAAA;AACpC,OAAA;AACJ,KAAA;IAEA,IAAIC,IAAI,KAAK,YAAY,EAAE;MACvB,IAAIxB,WAAW,CAACoB,MAAM,EAAE;AACpB,QAAA,IAAMQ,WAAW,GAAG7B,cAAc,CAACC,WAAW,EAAEC,iBAAiB,CAAC,CAAA;AAElE,QAAA,IAAI2B,WAAW,KAAXA,IAAAA,IAAAA,WAAW,eAAXA,WAAW,CAAEC,KAAK,EAAE;AACpBhB,UAAAA,YAAY,CAAC;AAAEa,YAAAA,IAAI,EAAE,kBAAkB;AAAEC,YAAAA,KAAK,EAAEC,WAAW,CAACD,KAAK,CAACG,QAAQ,EAAC;AAAE,WAAC,CAAC,CAAA;AAC/EnB,UAAAA,mBAAmB,CAAC;AAAEe,YAAAA,IAAI,EAAE,WAAW;AAAEC,YAAAA,KAAK,EAAE,CAAA;AAAE,WAAC,CAAC,CAAA;AACxD,SAAA;AACJ,OAAA;AACJ,KAAA;AAEA,IAAA,IAAIH,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,OAAO,EAAE;MACtCD,KAAK,CAACQ,cAAc,EAAE,CAAA;AAEtB,MAAA,IAAInB,IAAI,CAAC,CAAC,CAAC,EAAE;AACT,QAAA,IAAMgB,YAAW,GAAG7B,cAAc,CAACC,WAAW,EAAEC,iBAAiB,CAAC,CAAA;AAElE,QAAA,IAAI2B,YAAW,KAAA,IAAA,IAAXA,YAAW,KAAA,KAAA,CAAA,IAAXA,YAAW,CAAEI,QAAQ,IAAIJ,YAAW,aAAXA,YAAW,KAAA,KAAA,CAAA,IAAXA,YAAW,CAAEK,UAAU,EAAE,OAAA;AAEtD,QAAA,IAAIL,YAAW,KAAXA,IAAAA,IAAAA,YAAW,eAAXA,YAAW,CAAEC,KAAK,EAAE;AACpBhB,UAAAA,YAAY,CAAC;AAAEa,YAAAA,IAAI,EAAE,kBAAkB;AAAEC,YAAAA,KAAK,EAAEC,YAAW,CAACD,KAAK,CAACG,QAAQ,EAAC;AAAE,WAAC,CAAC,CAAA;AAC/EnB,UAAAA,mBAAmB,CAAC;AAAEe,YAAAA,IAAI,EAAE,WAAW;AAAEC,YAAAA,KAAK,EAAE,CAAA;AAAE,WAAC,CAAC,CAAA;AACxD,SAAC,MAAM;AACH,UAAA,IAAIX,aAAa,EAAE;AACfD,YAAAA,kBAAkB,CAAC,KAAK,EAAEQ,KAAK,CAAC,CAAA;AACpC,WAAA;UAEA,IAAIN,YAAY,IAAIW,YAAW,EAAE;AAC7BX,YAAAA,YAAY,CAACW,YAAW,EAAEL,KAAK,CAAC,CAAA;AACpC,WAAA;UAEA,IAAIL,WAAW,IAAIU,YAAW,EAAE;AAC5BV,YAAAA,WAAW,CAACU,YAAW,EAAEL,KAAK,CAAC,CAAA;AACnC,WAAA;AACJ,SAAA;AACJ,OAAC,MAAM;AACHV,QAAAA,YAAY,CAAC;AAAEa,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAC5Cf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAA;AAAoB,SAAC,CAAC,CAAA;AACtD,OAAA;AACJ,KAAA;IAEA,IAAIF,IAAI,KAAK,KAAK,EAAE;AAChBb,MAAAA,mBAAmB,CAAC;AAAEe,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AACtCb,MAAAA,YAAY,CAAC;AAAEa,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AAE/BX,MAAAA,kBAAkB,CAAC,KAAK,EAAEQ,KAAK,CAAC,CAAA;AACpC,KAAA;IAEA,IAAIC,IAAI,KAAK,MAAM,EAAE;AACjB,MAAA,IAAIZ,IAAI,CAAC,CAAC,CAAC,EAAE;AACTD,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAmB;AAAEC,UAAAA,KAAK,EAAE,CAAA;AAAE,SAAC,CAAC,CAAA;AAChE,OAAC,MAAM;AACHd,QAAAA,YAAY,CAAC;AAAEa,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAC5Cf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAA;AAAoB,SAAC,CAAC,CAAA;AAElDX,QAAAA,kBAAkB,CAAC,IAAI,EAAEQ,KAAK,CAAC,CAAA;AACnC,OAAA;AACJ,KAAA;IAEA,IAAIC,IAAI,KAAK,KAAK,EAAE;AAChB,MAAA,IAAIZ,IAAI,CAAC,CAAC,CAAC,EAAE;AACTD,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAmB;UAAEC,KAAK,EAAER,aAAa,GAAG,CAAA;AAAE,SAAC,CAAC,CAAA;AAChF,OAAC,MAAM;AACHN,QAAAA,YAAY,CAAC;AAAEa,UAAAA,IAAI,EAAE,oBAAA;AAAqB,SAAC,CAAC,CAAA;AAC5Cf,QAAAA,mBAAmB,CAAC;AAAEe,UAAAA,IAAI,EAAE,mBAAmB;UAAEC,KAAK,EAAE,CAACb,OAAO,CAACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA;AAAE,SAAC,CAAC,CAAA;AAEzFO,QAAAA,kBAAkB,CAAC,IAAI,EAAEQ,KAAK,CAAC,CAAA;AACnC,OAAA;AACJ,KAAA;IAEA,IAAIC,IAAI,KAAK,QAAQ,EAAE;AACnB,MAAA,IAAIZ,IAAI,CAAC,CAAC,CAAC,EAAE;QACT,IAAIS,YAAY,IAAI,EAAE,EAAE;AACpBV,UAAAA,mBAAmB,CAAC;AAAEe,YAAAA,IAAI,EAAE,mBAAA;AAAoB,WAAC,CAAC,CAAA;AACtD,SAAC,MAAM;AACHf,UAAAA,mBAAmB,CAAC;AAAEe,YAAAA,IAAI,EAAE,mBAAmB;YAAEC,KAAK,EAAEN,YAAY,GAAG,EAAA;AAAG,WAAC,CAAC,CAAA;AAChF,SAAA;AACJ,OAAA;AACJ,KAAA;IAEA,IAAIG,IAAI,KAAK,UAAU,EAAE;AACrB,MAAA,IAAIZ,IAAI,CAAC,CAAC,CAAC,EAAE;AACT,QAAA,IAAIO,aAAa,GAAGE,YAAY,IAAI,EAAE,EAAE;AACpCV,UAAAA,mBAAmB,CAAC;AAAEe,YAAAA,IAAI,EAAE,mBAAmB;YAAEC,KAAK,EAAER,aAAa,GAAG,CAAA;AAAE,WAAC,CAAC,CAAA;AAChF,SAAC,MAAM;AACHR,UAAAA,mBAAmB,CAAC;AAAEe,YAAAA,IAAI,EAAE,mBAAmB;YAAEC,KAAK,EAAEN,YAAY,GAAG,EAAA;AAAG,WAAC,CAAC,CAAA;AAChF,SAAA;AACJ,OAAA;AACJ,KAAA;GACH,CAAA;EAED,OAAO;AAAEC,IAAAA,SAAS,EAATA,SAAAA;GAAW,CAAA;AACxB;;;;"}
|
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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"}
|
@@ -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.
|
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": "
|
105
|
+
"gitHead": "a7ceb60ed3632367dca8e6dd9083873a959c942b"
|
106
106
|
}
|
@@ -274,18 +274,16 @@ const items = [
|
|
274
274
|
|
275
275
|
const StoryNormal = (args: StoryDropdownProps) => {
|
276
276
|
return (
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
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
|
|
@@ -274,18 +274,16 @@ const items = [
|
|
274
274
|
|
275
275
|
const StoryNormal = (args: StoryDropdownProps) => {
|
276
276
|
return (
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
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
|
|