FrequencyUIProvider

UI rendering contract for the frequency picker's labels and controls.

Functions

Link copied to clipboard
abstract fun DayOfMonthDropdown(modifier: Modifier, title: String, items: List<Int>, selected: Int, itemText: (Int) -> String, onItemSelected: (Int) -> Unit)

Renders the day selector used for monthly and yearly frequencies.

Link copied to clipboard
abstract fun DayOfWeekDropdown(modifier: Modifier, title: String, items: List<DayOfWeek>, selected: DayOfWeek, itemText: (DayOfWeek) -> String, onItemSelected: (DayOfWeek) -> Unit)

Renders the weekday selector used for weekly frequencies.

Link copied to clipboard
abstract fun FrequencyTypeDropdown(modifier: Modifier, title: String, items: List<Frequency.Type>, selected: Frequency.Type, itemText: (Frequency.Type) -> String, onItemSelected: (Frequency.Type) -> Unit)

Renders the selector for daily, weekly, monthly, or yearly frequency.

Link copied to clipboard
abstract fun InputButton(modifier: Modifier, title: String, value: String, onClick: () -> Unit)

Renders the read-only time slot that opens the time picker when tapped.

Link copied to clipboard
abstract fun IntervalDropdown(modifier: Modifier, title: String, min: Int, max: Int, selected: Int, onItemSelected: (Int) -> Unit)

Renders the interval dropdown with inclusive bounds.

Link copied to clipboard
abstract fun LabeledField(label: String, modifier: Modifier, errorMessage: String?, content: @Composable () -> Unit)

Groups a field label with its control, such as the interval label and number input.

Link copied to clipboard
abstract fun MonthDropdown(modifier: Modifier, title: String, items: List<Month>, selected: Month, itemText: (Month) -> String, onItemSelected: (Month) -> Unit)

Renders the month selector used for yearly frequencies.

Link copied to clipboard
abstract fun NumberInput(modifier: Modifier, value: String, onValueChange: (String) -> Unit, title: String, keyboardType: KeyboardType, readOnly: Boolean)

Renders the editable interval field.

Link copied to clipboard
abstract fun Text(text: String, modifier: Modifier, style: FrequencyTextStyle, color: Color?, textAlign: TextAlign?, minLines: Int, maxLines: Int)

Renders selected values and options for picker dropdowns.

Link copied to clipboard
abstract fun TimeInput(selectedTime: LocalTime, onTimeSelected: (LocalTime) -> Unit, title: String, setup: TimePickerSetup, modifier: Modifier)

Renders the time slot and its time-picker dialog, reporting edits through onTimeSelected.