0.0.16 • Published 11 months ago

@somm12/time-wheel v0.0.16

Weekly downloads
-
License
-
Repository
github
Last release
11 months ago

Usage

Use the TimeWheel component to create a time selection UI and retrieve the selected time via ref.

import { useRef } from "react";
import TimeWheel, { TimeWheelHandle } from "@somm12/time-wheel";

export default function App() {
  const timeWheelRef = useRef<TimeWheelHandle>(null);

  const handleClick = () => {
    if (timeWheelRef.current) {
      const selectedTime = timeWheelRef.current.getSelectedTime();
      console.log(`${selectedTime.amPm} ${selectedTime.hour}:${selectedTime.minute}`);
      *// e.g., "오전 08:00" (Korean "AM 08:00")*
    }
  };
  const initTime = { initHour: 8, initMinute: 0 }; *// Initial time (24-hour format)*
  return (
    <>
      <TimeWheel ref={timeWheelRef} initTime={initTime} />
      <button onClick={handleClick}>Select</button>
    </>
  );
}
  • Features: Supports Korean "오전/오후" (AM/PM) notation, with 12-hour format and 00/30 minute intervals.

Demo

Here's a short demo of TimeWheel in action:

2025-03-0412 13 46-ezgif com-optimize

Props

PropTypeDefaultDescription
initTime{ initHour, initMinute }{ 8, 0 }Initial time (24-hour format, optional)
onTimeChange(amPm, hour, minute) => void-Callback on time change (optional)
  • initHour: 0~23 (24-hour format).
  • initMinute: 0 or 30.

Methods (via ref)

MethodReturn TypeDescription
getSelectedTime(){ amPm: string, hour: string, minute: string }Returns current selected time
resetScrollPosition(newAmPm, newHour, newMinute)voidResets scroll to specific time
  • newAmPm: 0 ("오전"/AM), 1 ("오후"/PM).
  • newHour: 1~12.
  • newMinute: 0 or 30.

Notes

  • This package depends on styled-components, so install it in your project:
    npm install styled-components
  • Uses Korean "오전/오후" (AM/PM) notation by default and operates on a 12-hour system.

🌟 Important: For proper styling, ensure your project includes the following base CSS:

  * {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
  }
0.0.16

11 months ago

0.0.15

12 months ago

0.0.14

12 months ago

0.0.13

12 months ago

0.0.12

12 months ago

0.0.11

12 months ago

0.0.10

12 months ago

0.0.9

12 months ago

0.0.8

12 months ago

0.0.7

12 months ago

0.0.6

12 months ago

0.0.5

12 months ago

0.0.4

12 months ago

0.0.3

12 months ago

0.0.2

12 months ago

0.0.1

12 months ago