MCPcopy Create free account
hub / github.com/adobe/react-spectrum / onKeyDown

Function onKeyDown

packages/react-aria/src/slider/useSliderThumb.ts:146–180  ·  view source on GitHub ↗
(e)

Source from the content-addressed store, hash-verified

144
145 let {keyboardProps} = useKeyboard({
146 onKeyDown(e) {
147 let {
148 getThumbMaxValue,
149 getThumbMinValue,
150 decrementThumb,
151 incrementThumb,
152 setThumbValue,
153 setThumbDragging,
154 pageSize
155 } = state;
156 // these are the cases that useMove or useSlider don't handle
157 if (!/^(PageUp|PageDown|Home|End)$/.test(e.key)) {
158 e.continuePropagation();
159 return;
160 }
161 // same handling as useMove, stopPropagation to prevent useSlider from handling the event as well.
162 e.preventDefault();
163 // remember to set this so that onChangeEnd is fired
164 setThumbDragging(index, true);
165 switch (e.key) {
166 case 'PageUp':
167 incrementThumb(index, pageSize);
168 break;
169 case 'PageDown':
170 decrementThumb(index, pageSize);
171 break;
172 case 'Home':
173 setThumbValue(index, getThumbMinValue(index));
174 break;
175 case 'End':
176 setThumbValue(index, getThumbMaxValue(index));
177 break;
178 }
179 setThumbDragging(index, false);
180 }
181 });
182
183 let {moveProps} = useMove({

Callers

nothing calls this directly

Calls 5

incrementThumbFunction · 0.85
decrementThumbFunction · 0.85
getThumbMinValueFunction · 0.85
getThumbMaxValueFunction · 0.85
continuePropagationMethod · 0.65

Tested by

no test coverage detected