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

Function backspace

packages/react-aria/src/datepicker/useDateSegment.ts:109–126  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

107 let parser = useMemo(() => new NumberParser(locale, {maximumFractionDigits: 0}), [locale]);
108
109 let backspace = () => {
110 if (segment.text === segment.placeholder) {
111 focusManager.focusPrevious();
112 }
113 if (parser.isValidPartialNumber(segment.text) && !state.isReadOnly && !segment.isPlaceholder) {
114 let newValue = segment.text.slice(0, -1);
115 let parsed = parser.parse(newValue);
116 newValue = parsed === 0 ? '' : newValue;
117 if (newValue.length === 0 || parsed === 0) {
118 state.clearSegment(segment.type);
119 } else {
120 state.setSegment(segment.type, parsed);
121 }
122 enteredKeys.current = newValue;
123 } else if (segment.type === 'dayPeriod' || segment.type === 'era') {
124 state.clearSegment(segment.type);
125 }
126 };
127
128 let onKeyDown = e => {
129 // Firefox does not fire selectstart for Ctrl/Cmd + A

Callers 2

onKeyDownFunction · 0.85
useDateSegmentFunction · 0.85

Calls 6

sliceMethod · 0.80
clearSegmentMethod · 0.80
setSegmentMethod · 0.80
focusPreviousMethod · 0.65
isValidPartialNumberMethod · 0.45
parseMethod · 0.45

Tested by

no test coverage detected