Skip to content

Commit f74a9d5

Browse files
authored
fix(ui): use design controls and adjust docs menu layout (#7872)
1 parent 37238bf commit f74a9d5

37 files changed

Lines changed: 1355 additions & 1024 deletions

File tree

‎packages/design/src/components/input-number/InputNumber.tsx‎

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,18 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
7272
) => {
7373
const { locale } = useContext(ConfigContext);
7474
const [internalValue, setInternalValue] = useState<number | null>(
75-
value !== undefined ? value : defaultValue !== undefined ? defaultValue : null
75+
() => {
76+
if (value !== undefined) {
77+
return value;
78+
}
79+
return defaultValue ?? null;
80+
}
7681
);
7782
const lastValidValueRef = useRef<number | null>(internalValue);
7883
const [inputValue, setInputValue] = useState<string>(() => formatValue(internalValue));
7984
const inputRef = useRef<HTMLInputElement>(null);
80-
const longPressTimerRef = useRef<NodeJS.Timeout | null>(null);
81-
const longPressIntervalRef = useRef<NodeJS.Timeout | null>(null);
8285

83-
const mergedRef = (node: HTMLInputElement) => {
86+
const mergedRef = (node: HTMLInputElement | null) => {
8487
if (ref) {
8588
if (typeof ref === 'function') {
8689
ref(node);
@@ -107,20 +110,10 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
107110
}
108111
}, [internalValue]);
109112

110-
// Clean up timers when component unmounts
111-
useEffect(() => {
112-
return () => {
113-
if (longPressTimerRef.current) {
114-
clearTimeout(longPressTimerRef.current);
115-
}
116-
if (longPressIntervalRef.current) {
117-
clearInterval(longPressIntervalRef.current);
118-
}
119-
};
120-
}, []);
121-
122113
function formatValue(val: number | null): string {
123-
if (val === null || val === undefined) return '';
114+
if (val === null || val === undefined) {
115+
return '';
116+
}
124117

125118
let formattedValue: string | number = val;
126119

@@ -138,7 +131,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
138131
}
139132

140133
function parseNumberValue(val: string): number | null {
141-
if (!val) return null;
134+
if (!val) {
135+
return null;
136+
}
142137

143138
let parsedValue = val;
144139

@@ -183,13 +178,15 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
183178
}
184179

185180
return result;
186-
} catch (e) {
181+
} catch {
187182
return null;
188183
}
189184
}
190185

191186
function clampValue(val: number | null): number | null {
192-
if (val === null) return null;
187+
if (val === null) {
188+
return null;
189+
}
193190

194191
if (max !== undefined && val > max) {
195192
return max;
@@ -201,10 +198,6 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
201198
return val;
202199
}
203200

204-
function parseValue(val: string): number | null {
205-
return clampValue(parseNumberValue(val));
206-
}
207-
208201
function handleInputChange(value: string) {
209202
if (allowEmpty && value === '') {
210203
setInputValue(value);
@@ -273,7 +266,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
273266
}
274267

275268
function handleStep(isUp: boolean) {
276-
if (disabled) return;
269+
if (disabled) {
270+
return;
271+
}
277272

278273
const stepValue = isUp ? step : -step;
279274

@@ -299,7 +294,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
299294
newValue = min;
300295
}
301296
// If we've hit a limit, don't change the value
302-
if (newValue === currentValue) return;
297+
if (newValue === currentValue) {
298+
return;
299+
}
303300
setInternalValue(newValue);
304301
lastValidValueRef.current = newValue;
305302
setInputValue(formatValue(newValue));
@@ -309,7 +306,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
309306

310307
// Handle key down events for arrow keys
311308
function handleKeyDown(e: KeyboardEvent<HTMLInputElement>) {
312-
if (disabled) return;
309+
if (disabled) {
310+
return;
311+
}
313312

314313
onKeyDown?.(e);
315314

@@ -325,7 +324,9 @@ export const InputNumber = forwardRef<HTMLInputElement, IInputNumberProps>(
325324
}
326325

327326
function handleClick(isUp: boolean) {
328-
if (disabled) return;
327+
if (disabled) {
328+
return;
329+
}
329330

330331
handleStep(isUp);
331332

0 commit comments

Comments
 (0)