OrreryMonthPickerDialog

fun OrreryMonthPickerDialog(onDismissRequest: () -> Unit, confirmButton: @Composable () -> Unit, state: OrreryMonthPickerState = rememberOrreryMonthPickerState(), modifier: Modifier = Modifier, dismissButton: @Composable () -> Unit? = null, today: LocalDate = currentDate(), strings: MonthPickerStrings = DatePickerDefaults.monthPickerStrings())

Material-3-shaped dialog for picking a month and year without a day, for example a card expiry date. It opens on the month grid of the selected month's year (or today's), clamped to the state's range; tapping the year zooms out to the year grid, then to decades. Tapping a month selects it and keeps the dialog open; read state.selectedMonth in your confirm button.

val thisMonth = currentYearMonth()
val state = rememberOrreryMonthPickerState(range = thisMonth..thisMonth.plus(20, DateTimeUnit.YEAR))