Skip to content

Releases: kez-lab/Compose-DateTimePicker

release 0.4.0

12 Nov 11:49

Choose a tag to compare

What's Changed

  • 리팩토링: Picker 컴포넌트 유연성 개선 및 샘플 앱 적용 by @kez-lab in #13
  • 라이브러리 깃헙 액션 배포 추가 by @kez-lab in #14
  • chore: Update compileSdk and dependencies to latest versions by @kez-lab in #15
  • Feature/sample redesign by @kez-lab in #16

Full Changelog: 0.3.0...0.4.0

Release 0.3.0

07 Jul 15:42

Choose a tag to compare

릴리즈 0.3.0

주요 변경 사항

레이아웃 유연성 강화

  • YearMonthPickerTimePicker에서 고정된 너비 대신 Modifier.weight(1f)를 사용하여 각 피커가 가로 공간을 균등하게 차지하도록 변경하여
    다양한 화면 크기에 유연하게 대응할 수 있도록 개선했습니다.

API 간소화 및 불필요한 매개변수 제거

  • Picker 컴포저블에서 불필요한 textModifier 매개변수를 제거하고, itemPaddingText 컴포저블에 직접 적용하도록
    변경하여 API를 더욱 명확하고 사용하기 쉽게 만들었습니다.

구분선(Divider) 가시성 제어 추가

  • isDividerVisible 매개변수를 추가하여 피커의 구분선 표시 여부를 제어할 수 있도록 하여 커스터마이징의 폭을 넓혔습니다.

루트 컴포저블 변경

  • YearMonthPickerTimePicker의 루트 컴포저블을 Surface에서 Box로 변경하여 불필요한 머티리얼 디자인 효과를 제거하고 더 순수한 레이아웃 컨테이너로 사용하도록 개선했습니다.

성능 최적화

  • 불필요한 remember 사용을 제거하여 컴포넌트의 성능을 미세하게 개선했습니다.

라이브러리 배포

Maven Central에서 라이브러리를 사용하실 수 있습니다.(https://central.sonatype.com/artifact/io.github.kez-lab/compose-date-time-picker)

라이브러리 다운로드 방법

# app/build.gradle.kts
dependencies {
    implementation("io.github.kez-lab:compose-date-time-picker:0.3.0")
}

release 0.2.0

05 May 13:49
2936363

Choose a tag to compare

compose-date-time-picker 0.2.0 (2025‑05‑05)

🚀 주요 변경사항

  • Compose Multiplatform 표준 구조로 프로젝트 완전 재구성
    • 기존 복잡한 모듈 구조(picker, picker‑multiplatform, app, androidApp, composeApp, shared) 제거
    • datetimepicker(라이브러리)와 sample(데모 앱) 2개 모듈로 단순화
  • 공통 코드(commonMain)로 최대한 추출·리팩토링
    • 플랫폼별 구현은 androidMain, iosMain, jvmMain, jsMain에 분리
  • 멀티플랫폼 데모 애플리케이션 구현
    • Android → MainActivity.kt
    • iOS → main.kt (UIViewController 진입점)
    • Desktop(JVM) → main.kt (윈도우 애플리케이션)
    • Web(JS) → main.kt (브라우저 애플리케이션)
  • 빌드 설정 및 개발 환경 개선
    • CMP에 최적화된 .gitignore 적용
    • Gradle 의존성 관리 및 빌드 로직 정비
    • 불필요 의존성·모듈 제거
  • 문서화(README) 전면 업데이트
    • 새로운 프로젝트 구조 설명
    • 설치·사용 방법과 예제 코드 추가

📦 배포

release 0.0.3

20 Nov 05:08

Choose a tag to compare

Release Notes

주요 변경 사항

TimePickerDialog 구현

  • 시간 선택 UI 제공: 12시간/24시간 형식을 지원하며, 시간, 분, AM/PM(12시간 형식)을 선택할 수 있는 대화상자.
  • 결과 반환: 선택한 시간이 LocalDateTime 형식으로 반환됩니다.

TimePicker 컴포넌트 개선

  • 제네릭 타입 지원: PickerPickerState가 다양한 데이터 타입(String, Int 등)을 처리할 수 있도록 변경.
  • 시간 범위 추가: 12시간 및 24시간 형식의 HOUR12_RANGE, HOUR24_RANGE 추가.
  • UI 개선: visibleItemsCount, dividerColor 등 사용자 경험 강화.

Kotlin DateTime 라이브러리 도입

  • kotlinx-datetime 사용: 현대적인 날짜 및 시간 처리 API를 도입하여 시간 계산 로직과 데이터 반환을 개선.

Gradle 의존성 및 설정 변경

  • 추가: kotlinx-datetime 의존성 및 버전.
  • 삭제: 기존 libs.androidx.ui 및 불필요한 compose-bom 관련 구문.

요약

TimePickerDialogkotlinx-datetime 도입으로 시간 선택 및 계산 로직을 현대화하고, Picker 컴포넌트의 유연성과 사용자 경험을 강화했습니다.

release 0.0.2

24 Aug 06:05
faaee78

Choose a tag to compare

버전 0.0.2 릴리즈 노트

📅 릴리즈 날짜: 2024-08-30

🚀 새로운 기능

  • TimePicker 컴포넌트 추가

    • 시간과 분을 선택할 수 있는 직관적인 Picker 컴포넌트.
    • 주요 기능:
      • AM/PM 선택을 포함한 12시간 형식의 시간 선택기.
      • 시간, 분 Picker 간의 간격 및 텍스트 스타일 커스터마이징 가능.
      • 시각적으로 구분하기 쉬운 : 구분 기호 추가.
  • 무한 스크롤 제어 기능 추가

    • Picker 컴포넌트에 무한 스크롤 기능을 활성화하거나 비활성화할 수 있는 옵션 추가.
    • 주요 기능:
      • isInfinity 매개변수를 통해 무한 스크롤 여부를 설정 가능.
      • 무한 스크롤을 비활성화할 경우, Picker의 시작 및 끝에 도달할 수 있도록 제어 가능.
      • 비무한 스크롤 시, 상단 및 하단에 빈 아이템을 추가하여 스크롤 가능 영역 유지.

🧪 실험적 API 알림

  • Picker 및 TimePicker 컴포넌트는 실험적 API(@OptIn(ExperimentalFoundationApi::class))를 사용하므로, 향후 릴리즈에서 변경될 수 있습니다.

📦 설치 방법

// groovy
dependencies {
    implementation 'io.github.kez-lab:compose-date-time-picker:0.0.2'
}
// kotlin dsl
dependencies {
    implementation("io.github.kez-lab:compose-date-time-picker:0.0.2")
} 

Release 0.0.1

20 Aug 11:19
ac7f63e

Choose a tag to compare

버전 0.0.1 릴리즈 노트

📅 릴리즈 날짜: 2024-08-20

🚀 새로운 기능

  • Picker 컴포넌트

    • 숫자, 날짜, 카테고리 등 다양한 분야에 활용 가능한 다용도의 커스터마이징 가능한 Picker.
    • 주요 기능:
      • 사용자 정의 가능한 items 리스트.
      • Fading edge gradients와 커스터마이징 가능한 divider thickness 및 shape 지원.
      • 일반적인 사용 사례를 위한 기본 설정 포함, 광범위한 커스터마이징 옵션 제공.
  • YearMonthDatePicker 컴포넌트

    • 연도와 월을 선택할 수 있는 특화된 Picker로, 날짜 입력에 적합.
    • 주요 기능:
      • 현재 날짜로 간편하게 초기화할 수 있는 사전 설정된 year 및 month 범위.
      • 선택된 항목과 선택되지 않은 항목에 대한 text style 커스터마이징 가능.
      • Pickers 간 간격 조정 및 picker width 설정 가능.

🧪 실험적 API 알림

  • Picker 컴포넌트는 실험적 API(@OptIn(ExperimentalFoundationApi::class))를 사용하므로, 향후 릴리즈에서 변경될 수 있습니다.

📦 설치 방법

// groovy
dependencies {
    implementation 'io.github.kez-lab:compose-datepicker:0.0.1'
}
// kotlin dsl
dependencies {
    implementation("io.github.kez-lab:compose-datepicker:0.0.1")
}