recurrence_kit library
A standalone recurrence rule system — data models, computation engine, and a configurable picker UI widget.
Quick start
import 'package:recurrence_kit/recurrence_kit.dart';
// Create a rule
final rule = RecurrenceRule(
type: RecurrenceType.weekly,
daysOfWeek: [1, 3, 5],
);
// Check if a date matches
RecurrenceEngine.occursOnDate(rule, someDate, startDate);
// Full picker widget
RecurrencePicker(
rule: rule,
onChanged: (updated) => setState(() => _rule = updated),
startDate: DateTime.now(),
)
What's included
- Models: RecurrenceRule, RecurrenceType, RecurrenceEndType — immutable data with JSON serialization.
- Engine: RecurrenceEngine — pure, stateless occurrence logic.
- Widget: RecurrencePicker — a configurable inline editor for building recurrence rules, themed via RecurrencePickerTheme.
Classes
- RecurrenceEngine
- Pure stateless logic for recurrence computation.
- RecurrencePicker
- An inline recurrence rule editor widget.
- RecurrencePickerTheme
- Visual and functional configuration for RecurrencePicker.
- RecurrenceRule
- An immutable description of a repeating schedule.
Enums
- RecurrenceEndType
- How a recurrence terminates.
- RecurrenceType
- The frequency at which a RecurrenceRule repeats.