본문으로 이동

Timer

시작·일시 정지·초기화 동작으로 경과 시간이나 남은 시간을 잽니다.

용법

스톱워치

현재 상태에 맞는 시작, 일시 정지, 계속, 초기화 동작으로 경과 시간을 잽니다.

Elapsed timeSession timer
Ready
00:00

남은 시간

시간을 설정하고 남은 시간과 완료 피드백을 확인합니다.

Focus sessionDuration 00:10
Ready
Session length
00:10
Session progress0%

목표 시간

경과 시간 목표를 설정하고 완료될 때까지 진행 상태를 확인합니다.

Target timerGoal 00:15
Ready
Target time
00:00
Target progress0%

API

Vue 패키지: @sectile/vue/timer

컴포넌트
  • TimerRoot
  • TimerArea
  • TimerSeparator
  • TimerControl
  • TimerItem
  • TimerActionTrigger

Props

TimerRootProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

autoStart

마운트 직후 타이머를 시작할지 여부입니다.

countdown

남은 시간을 세는 방식으로 동작할지 여부입니다.

intervalMs

자동 갱신 사이의 밀리초 단위 간격입니다.

startMs

밀리초 단위의 초기 경과 시간입니다.

targetMs

밀리초 단위의 경과 시간 목표입니다.

TimerPartProps

as

이 파트가 렌더링할 요소 또는 컴포넌트입니다.

asChild

하나뿐인 자식 요소에 파트 속성을 직접 합칠지 여부입니다.

슬롯

TimerSlotProps

completed

타이머가 목표에 도달했는지 여부입니다.

parts

현재 값을 나눈 표시 단위입니다.

pause

타이머 갱신을 멈추는 함수입니다.

progress

0부터 1까지의 완료 진행률입니다.

reset

초깃값과 조작 상태로 되돌리는 함수입니다.

restart

설정한 초깃값에서 타이머를 다시 시작하는 함수입니다.

resume

멈춘 타이머를 다시 시작하는 함수입니다.

running

타이머가 작동 중인지 여부입니다.

start

타이머 갱신을 시작하는 함수입니다.

valueMs

밀리초 단위의 현재 타이머 값입니다.

이벤트

TimerRoot

complete

필요한 모든 입력 칸이 채워질 때 발생합니다.

tick

타이머 간격마다 새 값이 만들어질 때 발생합니다.

기타 타입

TimerTickHandler

ts
type TimerTickHandler = (valueMs: number) => void

TimerCompleteHandler

ts
type TimerCompleteHandler = (valueMs: number) => void

파트

공통 범위: [data-scope="timer"]. 컴포넌트 내부로 스타일을 제한할 때 파트 선택자와 함께 사용합니다.

파트선택자역할추가 속성
root[data-part="root"]컴포넌트 경계와 내부 파트를 묶습니다.
area[data-part="area"]2차원 조작 영역을 제공합니다.
item[data-part="item"]선택하거나 실행할 수 있는 항목 하나입니다.
separator[data-part="separator"]관련 그룹 사이에 의미 구분선을 표시합니다.
control[data-part="control"]주요 조작부를 묶습니다.
action-trigger[data-part="action-trigger"]타이머 동작을 실행합니다.

키보드 동작

동작
Tab컴포넌트의 기본 작업 컨트롤 사이를 이동합니다.
Enter / Space포커스된 작업을 실행합니다.

접근성

형식화된 시간 조각을 하나의 값으로 묶고 시작·일시 정지·초기화·재시작을 이름이 있는 작업으로 유지합니다.

MIT 라이선스로 배포합니다.