Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## [0.5.3] - 2026-01-02

- **feat(test)**: Add widget tests for `ContributionHeatmap`.


## [0.5.2] - 2025-12-17

- **feat(cd)**: Add publishing from github action.
Expand Down
2 changes: 1 addition & 1 deletion example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ packages:
path: ".."
relative: true
source: path
version: "0.5.1"
version: "0.5.3"
flutter:
dependency: "direct main"
description: flutter
Expand Down
13 changes: 13 additions & 0 deletions lib/src/rendering/render_contribution_heatmap.dart
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ class RenderContributionHeatmap extends RenderBox {
/// the minimum required operations (layout vs paint vs both).
/// Raw contribution data entries to display in the heatmap
List<ContributionEntry> _entries;
List<ContributionEntry> get entries => _entries;
set entries(List<ContributionEntry> value) {
if (!identical(_entries, value)) {
_entries = value;
Expand All @@ -90,6 +91,7 @@ class RenderContributionHeatmap extends RenderBox {
/// Optional explicit minimum date boundary
/// If null, computed from entry data
DateTime? _minDate;
DateTime? get minDate => _minDate;
set minDate(DateTime? value) {
if (_minDate != value) {
_minDate = value;
Expand All @@ -101,6 +103,7 @@ class RenderContributionHeatmap extends RenderBox {
/// Optional explicit maximum date boundary
/// If null, computed from entry data
DateTime? _maxDate;
DateTime? get maxDate => _maxDate;
set maxDate(DateTime? value) {
if (_maxDate != value) {
_maxDate = value;
Expand All @@ -111,6 +114,7 @@ class RenderContributionHeatmap extends RenderBox {

/// Size of each contribution cell in logical pixels
double _cellSize;
double get cellSize => _cellSize;
set cellSize(double value) {
if (_cellSize != value) {
_cellSize = value;
Expand All @@ -120,6 +124,7 @@ class RenderContributionHeatmap extends RenderBox {

/// Spacing between cells in logical pixels
double _cellSpacing;
double get cellSpacing => _cellSpacing;
set cellSpacing(double value) {
if (_cellSpacing != value) {
_cellSpacing = value;
Expand All @@ -129,6 +134,7 @@ class RenderContributionHeatmap extends RenderBox {

/// Corner radius for rounded rectangle cells
double _cellRadius;
double get cellRadius => _cellRadius;
set cellRadius(double value) {
if (_cellRadius != value) {
_cellRadius = value;
Expand All @@ -138,6 +144,7 @@ class RenderContributionHeatmap extends RenderBox {

/// Padding around the entire heatmap widget
EdgeInsets _padding;
EdgeInsets get padding => _padding;
set padding(EdgeInsets value) {
if (_padding != value) {
_padding = value;
Expand All @@ -147,6 +154,7 @@ class RenderContributionHeatmap extends RenderBox {

/// Whether to show month abbreviation labels above the grid
bool _showMonthLabels;
bool get showMonthLabels => _showMonthLabels;
set showMonthLabels(bool value) {
if (_showMonthLabels != value) {
_showMonthLabels = value;
Expand All @@ -156,6 +164,7 @@ class RenderContributionHeatmap extends RenderBox {

/// Determines which weekday labels to display to the left of the heatmap
WeekdayLabel _weekdayLabel;
WeekdayLabel get weekdayLabel => _weekdayLabel;
set weekdayLabel(WeekdayLabel value) {
if (_weekdayLabel != value) {
_weekdayLabel = value;
Expand All @@ -165,6 +174,7 @@ class RenderContributionHeatmap extends RenderBox {

/// Whether to show date numbers inside each contribution cell
bool _showCellDate;
bool get showCellDate => _showCellDate;
set showCellDate(bool value) {
if (_showCellDate != value) {
_showCellDate = value;
Expand Down Expand Up @@ -202,6 +212,7 @@ class RenderContributionHeatmap extends RenderBox {
/// First day of the week (1=Monday through 7=Sunday)
/// This determines how the grid columns are aligned with calendar weeks
int _startWeekday;
int get startWeekday => _startWeekday;
set startWeekday(int value) {
if (_startWeekday != value) {
_startWeekday = value;
Expand All @@ -213,6 +224,7 @@ class RenderContributionHeatmap extends RenderBox {
/// Whether to add visual separation (empty columns) between months
/// This is the core feature that creates month boundaries
bool _splittedMonthView;
bool get splittedMonthView => _splittedMonthView;
set splittedMonthView(bool value) {
if (_splittedMonthView != value) {
_splittedMonthView = value;
Expand All @@ -233,6 +245,7 @@ class RenderContributionHeatmap extends RenderBox {

/// Color scheme for the heatmap cells
HeatmapColor _heatmapColor;
HeatmapColor get heatmapColor => _heatmapColor;
set heatmapColor(HeatmapColor value) {
if (_heatmapColor != value) {
_heatmapColor = value;
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: contribution_heatmap
description: "A high-performance, GitHub-like contribution heatmap calendar widget for Flutter. Built with a custom RenderBox for maximum efficiency and full customization."

version: 0.5.2
version: 0.5.3
homepage: https://ch.abdullah.com.bd
repository: https://github.com/abdullah-cse/contribution_heatmap
issue_tracker: https://github.com/abdullah-cse/contribution_heatmap/issues
Expand Down
Loading