@uniai-fe/uds-primitives 0.1.6 → 0.1.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniai-fe/uds-primitives",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "UNIAI Design System; Primitives Components Package",
5
5
  "type": "module",
6
6
  "private": false,
@@ -1,5 +1,5 @@
1
1
  import clsx from "clsx";
2
- import type { ForwardedRef } from "react";
2
+ import type { ForwardedRef, PointerEvent as ReactPointerEvent } from "react";
3
3
  import {
4
4
  ChangeEvent,
5
5
  FocusEvent,
@@ -290,7 +290,11 @@ const Text = forwardRef<HTMLInputElement, InputProps>(
290
290
  }, []);
291
291
 
292
292
  const handleClear = useCallback(
293
- (event: MouseEvent<HTMLButtonElement>) => {
293
+ (
294
+ event:
295
+ | MouseEvent<HTMLButtonElement>
296
+ | ReactPointerEvent<HTMLButtonElement>,
297
+ ) => {
294
298
  event.preventDefault();
295
299
  dispatchNativeInputEvent();
296
300
  setHasValue(false);
@@ -314,6 +318,15 @@ const Text = forwardRef<HTMLInputElement, InputProps>(
314
318
  setIsClearInteracting(false);
315
319
  }, []);
316
320
 
321
+ const handleClearPointerUp = useCallback(
322
+ (event: ReactPointerEvent<HTMLButtonElement>) => {
323
+ setIsClearInteracting(false);
324
+ // pointerup 이벤트에서 onClick이 호출되지 않는 환경(모바일) 대응
325
+ handleClear(event);
326
+ },
327
+ [handleClear],
328
+ );
329
+
317
330
  const inputName = register?.name ?? name;
318
331
 
319
332
  return (
@@ -399,6 +412,7 @@ const Text = forwardRef<HTMLInputElement, InputProps>(
399
412
  onClick={handleClear}
400
413
  onPointerDown={handleClearPointerDown}
401
414
  onPointerLeave={handleClearPointerLeave}
415
+ onPointerUp={handleClearPointerUp}
402
416
  onPointerCancel={handleClearPointerLeave}
403
417
  aria-label="입력 내용 지우기"
404
418
  >