Skip to content

Commit c7a0933

Browse files
Merge pull request #2516 from Harsha-SF4223/master
Moved the Volume 1, 2026 release source changes to the flutter widgets repository
2 parents 896b1c1 + eb043e4 commit c7a0933

125 files changed

Lines changed: 2251 additions & 1801 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/syncfusion_flutter_barcodes/CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
* No changes.
44

5-
## [31.2.15] - 11/25/2025
5+
## [31.2.15] - 11/25/2025
66

77
**General**
88

9-
* The compatible version of our Flutter barcodes widget has been updated to Flutter SDK 3.38.
9+
* The compatible version of our Flutter barcodes widget has been updated to Flutter SDK 3.38.
1010

1111
## [31.1.20] - 09/17/2025
1212

packages/syncfusion_flutter_barcodes/example/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

packages/syncfusion_flutter_barcodes/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: syncfusion_flutter_barcodes
22
description: Flutter Barcodes generator library is used to generate and display data in the machine-readable, industry-standard 1D and 2D barcodes.
3-
version: 32.1.19
3+
version: 33.1.44
44
homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_barcodes
55

66
environment:

packages/syncfusion_flutter_calendar/CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
## Unreleased
22

3-
* No changes.
3+
**Features**
4+
5+
* #FR29362 - Added explicit `height` and `width` support to [ResourceViewSettings](https://pub.dev/documentation/syncfusion_flutter_calendar/latest/calendar/SfCalendar/resourceViewSettings.html). When provided, `height` adjusts each resource item's height and `width` adjusts the resource panel width. These explicit values take precedence over `size`.
6+
7+
## [32.1.24] - 01/20/2026
8+
9+
**General**
10+
11+
* Upgraded the `timezone` package to the latest version 0.11.0.
12+
13+
## [32.1.22] - 01/06/2026
14+
15+
**Bugs**
16+
17+
* #GH1498 - The child widget in [loadMoreWidgetBuilder](https://pub.dev/documentation/syncfusion_flutter_calendar/latest/calendar/SfCalendar/loadMoreWidgetBuilder.html) was repeatedly invoked when [minDate](https://pub.dev/documentation/syncfusion_flutter_calendar/latest/calendar/SfCalendar/minDate.html) was set to current month-end date. Now, it runs once initially, and then load-more will be triggered only when required during scrolling.
418

519
## [31.2.15] - 11/25/2025
620

packages/syncfusion_flutter_calendar/example/README.md

Lines changed: 0 additions & 16 deletions
This file was deleted.

packages/syncfusion_flutter_calendar/lib/src/calendar/common/calendar_view_helper.dart

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -312,31 +312,35 @@ class CalendarViewHelper {
312312
ResourceViewSettings resourceViewSettings,
313313
int resourceCount,
314314
) {
315-
/// The combined padding value between the circle and the display name text
315+
// The combined padding value between the circle and the display name text.
316316
final double textPadding = resourceViewSettings.showAvatar ? 10 : 0;
317317

318-
/// To calculate the resource item height based on visible resource count,
319-
/// added this condition calculated the resource item height based on
320-
/// visible resource count.
318+
// When visibleResourceCount is specified, that determines the height
319+
// distribution regardless of provided height/width settings.
321320
if (resourceViewSettings.visibleResourceCount > 0) {
322321
return timelineViewHeight / resourceViewSettings.visibleResourceCount;
323322
}
324323

324+
// If the user provided an explicit per-resource height, apply it directly.
325+
if (resourceViewSettings.height != null) {
326+
return resourceViewSettings.height!;
327+
}
328+
329+
// Fallback: use resourceItemHeight (height ?? size) for sizing calculations.
330+
final double effectiveResourceViewSize =
331+
resourceViewSettings.height ?? resourceViewSettings.size;
332+
325333
double itemHeight = timelineViewHeight + textPadding;
326334

327-
/// Added this condition to check if the visible resource count is `-1`, we
328-
/// have calculated the resource item height based on the resource panel
329-
/// width and the view height, the smallest of this will set as the
330-
/// resource item height.
331-
if (timelineViewHeight > resourceViewSize &&
335+
// If the timeline view height is greater than the resource panel size,
336+
// limit the item height to the resource panel size (plus padding).
337+
if (timelineViewHeight > effectiveResourceViewSize &&
332338
resourceViewSettings.visibleResourceCount < 0) {
333-
itemHeight = resourceViewSize + textPadding;
339+
itemHeight = effectiveResourceViewSize + textPadding;
334340
}
335341

336-
/// Modified the resource height if the visible resource count is `-1` on
337-
/// this scenario if the resource count is less, to avoid the empty white
338-
/// space on the screen height, we calculated the resource item height to
339-
/// fill into the available screen height.
342+
// If there are fewer resources than slots available, expand to fill the
343+
// available height; otherwise use the calculated itemHeight.
340344
return resourceCount * itemHeight < timelineViewHeight
341345
? timelineViewHeight / resourceCount
342346
: itemHeight;

packages/syncfusion_flutter_calendar/lib/src/calendar/settings/resource_view_settings.dart

Lines changed: 92 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,44 @@ import 'package:flutter/material.dart';
6565
/// ```
6666
@immutable
6767
class ResourceViewSettings with Diagnosticable {
68-
/// Creates a resource view settings for calendar.
68+
/// Creates resource view settings for [SfCalendar].
6969
///
70-
/// The properties allows to customize the resource view of [SfCalendar].
70+
/// Use this to customize the size, layout, and appearance of the resource view.
71+
///
72+
/// `size` — Sets both the resource panel width and each resource item's height.
73+
/// Defaults to `75`.
74+
///
75+
/// `height` — Sets the height for each resource item when given explicitly.
76+
/// Ignored when `visibleResourceCount` > 0. Falls back to `size` when null.
77+
///
78+
/// `width` — Sets the width for the resource panel when given explicitly.
79+
/// Falls back to `size` when null.
80+
///
81+
/// `visibleResourceCount` — When greater than `0`, splits the available
82+
/// vertical space equally among visible resources, overriding both `height`
83+
/// and `size`.
84+
///
85+
/// `showAvatar` — Indicates whether a circular avatar is shown for each
86+
/// resource. Defaults to `true`.
87+
///
88+
/// `displayNameTextStyle` — Text style used for the display name of each
89+
/// resource.
90+
///
91+
/// ### Behavior and precedence
92+
///
93+
/// * If `height` or `width` is provided, the provided value is used.
94+
/// * If neither is provided, `size` is used for both dimensions.
95+
/// * When `visibleResourceCount` > 0, it takes precedence for resource item
96+
/// height over both `height` and `size`.
7197
const ResourceViewSettings({
7298
this.size = 75,
7399
this.visibleResourceCount = -1,
74100
this.showAvatar = true,
75101
this.displayNameTextStyle,
76-
}) : assert(size >= 0),
102+
this.height,
103+
double? width,
104+
}) : width = width ?? size,
105+
assert(size >= 0),
77106
assert(visibleResourceCount >= -1);
78107

79108
/// The number of resources to be displayed in the available screen height in
@@ -181,6 +210,60 @@ class ResourceViewSettings with Diagnosticable {
181210
/// ```
182211
final double size;
183212

213+
/// Optional explicit height to use for each resource item.
214+
///
215+
/// When `height` is provided, value will be used as the per-resource height in scenarios where `visibleResourceCount`
216+
/// is not provided. If `visibleResourceCount` is provided, it determines
217+
/// the height distribution and height property will be ignored.
218+
///
219+
/// Example:
220+
/// ```dart
221+
///@override
222+
/// Widget build(BuildContext context) {
223+
/// return Container(
224+
/// child: SfCalendar(
225+
/// view: CalendarView.timelineMonth,
226+
/// dataSource: _getCalendarDataSource(),
227+
/// resourceViewSettings: ResourceViewSettings(
228+
/// height: 120,
229+
/// displayNameTextStyle: TextStyle(
230+
/// fontStyle: FontStyle.italic,
231+
/// fontSize: 15,
232+
/// fontWeight: FontWeight.w400,
233+
/// ),
234+
/// ),
235+
/// ),
236+
/// );
237+
///}
238+
///```
239+
final double? height;
240+
241+
/// Optional explicit width to use for the resource panel.
242+
///
243+
/// When `width` is provided, value will be used as the resource panel width.
244+
///
245+
/// Example:
246+
/// ```dart
247+
///@override
248+
/// Widget build(BuildContext context) {
249+
/// return Container(
250+
/// child: SfCalendar(
251+
/// view: CalendarView.timelineMonth,
252+
/// dataSource: _getCalendarDataSource(),
253+
/// resourceViewSettings: ResourceViewSettings(
254+
/// width: 150,
255+
/// displayNameTextStyle: TextStyle(
256+
/// fontStyle: FontStyle.italic,
257+
/// fontSize: 15,
258+
/// fontWeight: FontWeight.w400,
259+
/// ),
260+
/// ),
261+
/// ),
262+
/// );
263+
///}
264+
///```
265+
final double? width;
266+
184267
/// Shows a circle that represents a user.
185268
///
186269
/// Typically used with a user's profile image, or, in the absence of such an
@@ -235,6 +318,8 @@ class ResourceViewSettings with Diagnosticable {
235318
otherStyle = other;
236319
}
237320
return otherStyle.size == size &&
321+
otherStyle.height == height &&
322+
otherStyle.width == width &&
238323
otherStyle.visibleResourceCount == visibleResourceCount &&
239324
otherStyle.showAvatar == showAvatar &&
240325
otherStyle.displayNameTextStyle == displayNameTextStyle;
@@ -250,6 +335,8 @@ class ResourceViewSettings with Diagnosticable {
250335
),
251336
);
252337
properties.add(DoubleProperty('size', size));
338+
properties.add(DoubleProperty('height', height));
339+
properties.add(DoubleProperty('width', width));
253340
properties.add(DiagnosticsProperty<bool>('showAvatar', showAvatar));
254341
properties.add(IntProperty('visibleResourceCount', visibleResourceCount));
255342
}
@@ -258,6 +345,8 @@ class ResourceViewSettings with Diagnosticable {
258345
int get hashCode {
259346
return Object.hash(
260347
size,
348+
height,
349+
width,
261350
visibleResourceCount,
262351
showAvatar,
263352
displayNameTextStyle,

packages/syncfusion_flutter_calendar/lib/src/calendar/sfcalendar.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3364,7 +3364,7 @@ class _SfCalendarState extends State<SfCalendar>
33643364
_view,
33653365
);
33663366
final double resourceViewSize =
3367-
isResourceEnabled ? widget.resourceViewSettings.size : 0;
3367+
isResourceEnabled ? widget.resourceViewSettings.width! : 0;
33683368
if ((!_isRTL && updatedPosition.dx < resourceViewSize) ||
33693369
(_isRTL && updatedPosition.dx > _minWidth - resourceViewSize)) {
33703370
final double viewHeaderHeight =
@@ -5452,12 +5452,10 @@ class _SfCalendarState extends State<SfCalendar>
54525452
if (localPosition.dy < widget.headerHeight) {
54535453
_updateMouseHoveringForHeader(localPosition);
54545454
} else {
5455+
final double resourceViewSize = widget.resourceViewSettings.width!;
54555456
if (isResourceEnabled &&
5456-
((isRTL &&
5457-
localPosition.dx >
5458-
(_minWidth - widget.resourceViewSettings.size)) ||
5459-
(!isRTL &&
5460-
localPosition.dx < widget.resourceViewSettings.size)) &&
5457+
((isRTL && localPosition.dx > (_minWidth - resourceViewSize)) ||
5458+
(!isRTL && localPosition.dx < resourceViewSize)) &&
54615459
localPosition.dy > startPosition! &&
54625460
(CalendarViewHelper.shouldRaiseCalendarTapCallback(widget.onTap) ||
54635461
CalendarViewHelper.shouldRaiseCalendarLongPressCallback(
@@ -9552,7 +9550,7 @@ class _SfCalendarState extends State<SfCalendar>
95529550
_view,
95539551
);
95549552
final double resourceViewSize =
9555-
isResourceEnabled ? widget.resourceViewSettings.size : 0;
9553+
isResourceEnabled ? widget.resourceViewSettings.width! : 0;
95569554
final DateTime currentViewDate =
95579555
_currentViewVisibleDates[(_currentViewVisibleDates.length / 2)
95589556
.truncate()];

packages/syncfusion_flutter_calendar/lib/src/calendar/views/calendar_view.dart

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -572,14 +572,14 @@ class _CustomCalendarScrollViewState extends State<CustomCalendarScrollView>
572572
final double resourceItemHeight =
573573
isResourceEnabled
574574
? CalendarViewHelper.getResourceItemHeight(
575-
widget.calendar.resourceViewSettings.size,
575+
widget.calendar.resourceViewSettings.width!,
576576
widget.height - viewHeaderHeight - timeLabelWidth,
577577
widget.calendar.resourceViewSettings,
578578
widget.calendar.dataSource!.resources!.length,
579579
)
580580
: 0;
581581
final double resourceViewSize =
582-
isResourceEnabled ? widget.calendar.resourceViewSettings.size : 0;
582+
isResourceEnabled ? widget.calendar.resourceViewSettings.width! : 0;
583583
final bool isMonthView =
584584
widget.view == CalendarView.month ||
585585
widget.view == CalendarView.timelineMonth;
@@ -4632,7 +4632,7 @@ class _CustomCalendarScrollViewState extends State<CustomCalendarScrollView>
46324632
)) {
46334633
final double resourceItemHeight =
46344634
CalendarViewHelper.getResourceItemHeight(
4635-
widget.calendar.resourceViewSettings.size,
4635+
widget.calendar.resourceViewSettings.width!,
46364636
widget.height,
46374637
widget.calendar.resourceViewSettings,
46384638
widget.calendar.dataSource!.resources!.length,
@@ -4767,7 +4767,7 @@ class _CustomCalendarScrollViewState extends State<CustomCalendarScrollView>
47674767
)) {
47684768
final double resourceItemHeight =
47694769
CalendarViewHelper.getResourceItemHeight(
4770-
widget.calendar.resourceViewSettings.size,
4770+
widget.calendar.resourceViewSettings.width!,
47714771
widget.height,
47724772
widget.calendar.resourceViewSettings,
47734773
widget.calendar.dataSource!.resources!.length,
@@ -5300,7 +5300,7 @@ class _CustomCalendarScrollViewState extends State<CustomCalendarScrollView>
53005300
.position
53015301
.viewportDimension;
53025302
final double resourceViewSize =
5303-
isResourceEnabled ? widget.calendar.resourceViewSettings.size : 0;
5303+
isResourceEnabled ? widget.calendar.resourceViewSettings.width! : 0;
53045304
final bool isTimeline = CalendarViewHelper.isTimelineView(
53055305
widget.controller.view!,
53065306
);
@@ -10035,7 +10035,8 @@ class _CalendarViewState extends State<_CalendarView>
1003510035
height -= viewHeaderHeight + timeLabelSize;
1003610036
if (isResourceEnabled) {
1003710037
_updateProgrammaticSelectedResourceIndex();
10038-
final double resourceViewSize = widget.calendar.resourceViewSettings.size;
10038+
final double resourceViewSize =
10039+
widget.calendar.resourceViewSettings.width!;
1003910040
resourceItemHeight = CalendarViewHelper.getResourceItemHeight(
1004010041
resourceViewSize,
1004110042
widget.height - viewHeaderHeight - timeLabelSize,
@@ -10547,7 +10548,7 @@ class _CalendarViewState extends State<_CalendarView>
1054710548
? widget.calendar.dataSource!.resources!.length
1054810549
: 0;
1054910550
final double resourceItemHeight = CalendarViewHelper.getResourceItemHeight(
10550-
widget.calendar.resourceViewSettings.size,
10551+
widget.calendar.resourceViewSettings.width!,
1055110552
widget.height - viewHeaderHeight - timeLabelSize,
1055210553
widget.calendar.resourceViewSettings,
1055310554
resourceCount,

packages/syncfusion_flutter_calendar/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
name: syncfusion_flutter_calendar
33
description: The Flutter Calendar widget has nine built-in configurable views that provide basic functionalities for scheduling and representing appointments/events efficiently.
4-
version: 32.1.19
4+
version: 33.1.44
55
homepage: https://github.com/syncfusion/flutter-widgets/tree/master/packages/syncfusion_flutter_calendar
66

77
screenshots:
@@ -25,7 +25,7 @@ dependencies:
2525
sdk: flutter
2626
flutter_localizations:
2727
sdk: flutter
28-
timezone: ^0.10.0
28+
timezone: ^0.11.0
2929
intl: '>=0.18.1 <0.21.0'
3030
syncfusion_flutter_core:
3131
path: ../syncfusion_flutter_core

0 commit comments

Comments
 (0)