flet-charts 0.2.0.dev35__py3-none-any.whl → 0.2.0.dev84__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of flet-charts might be problematic. Click here for more details.

@@ -18,6 +18,8 @@ class ScatterChartControl extends StatefulWidget {
18
18
  class _ScatterChartControlState extends State<ScatterChartControl> {
19
19
  @override
20
20
  Widget build(BuildContext context) {
21
+ debugPrint("ScatterChart build: ${widget.control.id}");
22
+
21
23
  final theme = Theme.of(context);
22
24
  var animation = widget.control.getAnimation(
23
25
  "animation",
@@ -34,11 +36,12 @@ class _ScatterChartControlState extends State<ScatterChartControl> {
34
36
  var interactive = widget.control.getBool("interactive", true)!;
35
37
 
36
38
  // Build list of ScatterSpotData
37
- final spots = widget.control.children('spots').map((spot) {
39
+ final spotsAsControls = widget.control.children('spots');
40
+ final spots = spotsAsControls.map((spot) {
38
41
  var x = spot.getDouble('x', 0)!;
39
42
  var y = spot.getDouble('y', 0)!;
40
43
  return ScatterSpot(x, y,
41
- show: spot.getBool('visible', true)!,
44
+ show: spot.visible,
42
45
  renderPriority: spot.getInt('render_priority', 0)!,
43
46
  xError: spot.get('x_error'),
44
47
  yError: spot.get('y_error'),
@@ -80,30 +83,29 @@ class _ScatterChartControlState extends State<ScatterChartControl> {
80
83
  widget.control.get("vertical_grid_lines"),
81
84
  theme),
82
85
  scatterTouchData: ScatterTouchData(
83
- enabled: interactive,
84
- touchCallback: widget.control.getBool("on_event", false)!
85
- ? (evt, resp) {
86
- var eventData =
87
- ScatterChartEventData.fromDetails(evt, resp);
88
- widget.control.triggerEvent("event", eventData.toMap());
89
- }
90
- : null,
91
- longPressDuration:
92
- widget.control.getDuration("long_press_duration"),
93
- handleBuiltInTouches:
94
- widget.control.getBool("handle_built_in_touches", true)!,
95
- touchTooltipData:
96
- parseScatterTouchTooltipData(context, widget.control, spots)),
86
+ enabled: interactive && !widget.control.disabled,
87
+ touchCallback: widget.control.getBool("on_event", false)!
88
+ ? (evt, resp) {
89
+ var eventData = ScatterChartEventData.fromDetails(evt, resp);
90
+ widget.control.triggerEvent("event", eventData.toMap());
91
+ }
92
+ : null,
93
+ longPressDuration: widget.control.getDuration("long_press_duration"),
94
+ handleBuiltInTouches: !widget.control
95
+ .getBool("show_tooltips_for_selected_spots_only", false)!,
96
+ touchTooltipData:
97
+ parseScatterTouchTooltipData(context, widget.control, spots),
98
+ ),
97
99
  scatterLabelSettings: ScatterLabelSettings(
98
100
  showLabel: true,
99
101
  getLabelFunction: (spotIndex, spot) {
100
- var dp = widget.control.children("spots")[spotIndex];
102
+ var dp = spotsAsControls[spotIndex];
101
103
  return dp.getString("label_text", "")!;
102
104
  },
103
105
  getLabelTextStyleFunction: (spotIndex, spot) {
104
- var dp = widget.control.children("spots")[spotIndex];
106
+ var dp = spotsAsControls[spotIndex];
105
107
  var labelStyle =
106
- dp.getTextStyle("label_style", theme, const TextStyle())!;
108
+ dp.getTextStyle("label_text_style", theme, const TextStyle())!;
107
109
  if (labelStyle.color == null) {
108
110
  labelStyle =
109
111
  labelStyle.copyWith(color: spot.dotPainter.mainColor);
@@ -111,8 +113,7 @@ class _ScatterChartControlState extends State<ScatterChartControl> {
111
113
  return labelStyle;
112
114
  },
113
115
  ),
114
- showingTooltipIndicators: widget.control
115
- .children('spots')
116
+ showingTooltipIndicators: spotsAsControls
116
117
  .asMap()
117
118
  .entries
118
119
  .where((e) => e.value.getBool("selected", false)!)
@@ -64,15 +64,20 @@ BarTouchTooltipData? parseBarTouchTooltipData(
64
64
  getTooltipColor: (BarChartGroupData group) =>
65
65
  parseColor(tooltip["bgcolor"], theme, theme.colorScheme.secondary)!,
66
66
  tooltipBorderRadius: parseBorderRadius(tooltip["border_radius"]),
67
- tooltipMargin: parseDouble(tooltip["margin"]),
68
- tooltipPadding: parsePadding(tooltip["padding"]),
67
+ tooltipMargin: parseDouble(tooltip["margin"], 16)!,
68
+ tooltipPadding: parsePadding(tooltip["padding"],
69
+ const EdgeInsets.symmetric(horizontal: 16, vertical: 8))!,
69
70
  maxContentWidth: parseDouble(tooltip["max_width"]),
70
- rotateAngle: parseDouble(tooltip["rotate_angle"]),
71
- tooltipHorizontalOffset: parseDouble(tooltip["horizontal_offset"]),
71
+ rotateAngle: parseDouble(tooltip["rotation"], 0.0)!,
72
+ tooltipHorizontalOffset: parseDouble(tooltip["horizontal_offset"], 0)!,
72
73
  tooltipBorder: parseBorderSide(tooltip["border_side"], theme),
73
- fitInsideHorizontally: parseBool(tooltip["fit_inside_horizontally"]),
74
- fitInsideVertically: parseBool(tooltip["fit_inside_vertically"]),
75
- direction: parseTooltipDirection(tooltip["direction"]),
74
+ fitInsideHorizontally:
75
+ parseBool(tooltip["fit_inside_horizontally"], false)!,
76
+ fitInsideVertically: parseBool(tooltip["fit_inside_vertically"], false)!,
77
+ direction:
78
+ parseTooltipDirection(tooltip["direction"], TooltipDirection.auto)!,
79
+ tooltipHorizontalAlignment: parseFLHorizontalAlignment(
80
+ tooltip["horizontal_alignment"], FLHorizontalAlignment.center)!,
76
81
  getTooltipItem: (group, groupIndex, rod, rodIndex) {
77
82
  var rod =
78
83
  control.children("groups")[groupIndex].children("rods")[rodIndex];
@@ -84,9 +89,10 @@ BarTouchTooltipData? parseBarTouchTooltipData(
84
89
  BarTooltipItem? parseBarTooltipItem(Control rod, BuildContext context) {
85
90
  if (!rod.getBool("show_tooltip", true)!) return null;
86
91
 
87
- final theme = Theme.of(context);
92
+ var tooltip = rod.internals?["tooltip"];
93
+ if (tooltip == null) return null;
88
94
 
89
- var tooltip = rod.get("tooltip");
95
+ final theme = Theme.of(context);
90
96
  var tooltipTextStyle =
91
97
  parseTextStyle(tooltip["text_style"], theme, const TextStyle())!;
92
98
  if (tooltipTextStyle.color == null) {
@@ -97,6 +103,9 @@ BarTooltipItem? parseBarTooltipItem(Control rod, BuildContext context) {
97
103
  return BarTooltipItem(
98
104
  tooltip["text"] ?? rod.getDouble("to_y", 0)!.toString(), tooltipTextStyle,
99
105
  textAlign: parseTextAlign(tooltip["text_align"], TextAlign.center)!,
106
+ textDirection: parseBool(tooltip["rtl"], false)!
107
+ ? TextDirection.rtl
108
+ : TextDirection.ltr,
100
109
  children: tooltip["text_spans"] != null
101
110
  ? parseTextSpans(tooltip["text_spans"], theme, (s, eventName,
102
111
  [eventData]) {
@@ -175,3 +184,11 @@ BarChartRodStackItem parseBarChartRodStackItem(
175
184
  rodStackItem.getBorderSide("border_side", Theme.of(context),
176
185
  defaultValue: BorderSide.none)!);
177
186
  }
187
+
188
+ BarChartAlignment? parseBarChartAlignment(String? value,
189
+ [BarChartAlignment? defaultValue]) {
190
+ if (value == null) return defaultValue;
191
+ return BarChartAlignment.values.firstWhereOrNull(
192
+ (e) => e.name.toLowerCase() == value.toLowerCase()) ??
193
+ defaultValue;
194
+ }
@@ -34,6 +34,7 @@ FlLine? parseFlLine(dynamic value, ThemeData theme, [FlLine? defaultValue]) {
34
34
  if (value == null ||
35
35
  (value['color'] == null &&
36
36
  value['width'] == null &&
37
+ value['gradient'] == null &&
37
38
  value['dash_pattern'] == null)) {
38
39
  return defaultValue;
39
40
  }
@@ -41,6 +42,7 @@ FlLine? parseFlLine(dynamic value, ThemeData theme, [FlLine? defaultValue]) {
41
42
  return FlLine(
42
43
  color: parseColor(value['color'], theme, Colors.black)!,
43
44
  strokeWidth: parseDouble(value['width'], 2)!,
45
+ gradient: parseGradient(value['gradient'], theme),
44
46
  dashArray: (value['dash_pattern'] as List?)
45
47
  ?.map((e) => parseInt(e))
46
48
  .nonNulls
@@ -143,6 +145,8 @@ AxisTitles parseAxisTitles(Control? control) {
143
145
  showTitles: control.getBool("show_labels", true)!,
144
146
  reservedSize: control.getDouble("label_size", 22)!,
145
147
  interval: control.getDouble("label_spacing"),
148
+ minIncluded: control.getBool("show_min", true)!,
149
+ maxIncluded: control.getBool("show_max", true)!,
146
150
  getTitlesWidget: control.children("labels").isEmpty
147
151
  ? defaultGetTitle
148
152
  : (double value, TitleMeta meta) {
@@ -155,6 +159,14 @@ AxisTitles parseAxisTitles(Control? control) {
155
159
  ));
156
160
  }
157
161
 
162
+ FLHorizontalAlignment? parseFLHorizontalAlignment(String? value,
163
+ [FLHorizontalAlignment? defaultValue]) {
164
+ if (value == null) return defaultValue;
165
+ return FLHorizontalAlignment.values.firstWhereOrNull(
166
+ (e) => e.name.toLowerCase() == value.toLowerCase()) ??
167
+ defaultValue;
168
+ }
169
+
158
170
  const eventMap = {
159
171
  "FlPointerEnterEvent": "pointerEnter",
160
172
  "FlPointerExitEvent": "pointerExit",
@@ -52,9 +52,10 @@ LineTooltipItem? parseLineTooltipItem(
52
52
  Control dataPoint, LineBarSpot spot, BuildContext context) {
53
53
  if (!dataPoint.getBool("show_tooltip", true)!) return null;
54
54
 
55
- final theme = Theme.of(context);
55
+ var tooltip = dataPoint.internals?["tooltip"];
56
+ if (tooltip == null) return null;
56
57
 
57
- var tooltip = dataPoint.get("tooltip");
58
+ final theme = Theme.of(context);
58
59
  var style = parseTextStyle(tooltip["text_style"], theme, const TextStyle())!;
59
60
  if (style.color == null) {
60
61
  style = style.copyWith(
@@ -65,6 +66,9 @@ LineTooltipItem? parseLineTooltipItem(
65
66
  return LineTooltipItem(
66
67
  tooltip["text"] ?? dataPoint.getDouble("y", 0)!.toString(), style,
67
68
  textAlign: parseTextAlign(tooltip["text_align"], TextAlign.center)!,
69
+ textDirection: parseBool(tooltip["rtl"], false)!
70
+ ? TextDirection.rtl
71
+ : TextDirection.ltr,
68
72
  children: tooltip["text_spans"] != null
69
73
  ? parseTextSpans(tooltip["text_spans"], theme, (s, eventName,
70
74
  [eventData]) {
@@ -89,7 +93,7 @@ LineTouchTooltipData? parseLineTouchTooltipData(
89
93
  tooltipPadding: parsePadding(tooltip["padding"],
90
94
  const EdgeInsets.symmetric(horizontal: 16, vertical: 8))!,
91
95
  maxContentWidth: parseDouble(tooltip["max_width"], 120)!,
92
- rotateAngle: parseDouble(tooltip["rotate_angle"], 0.0)!,
96
+ rotateAngle: parseDouble(tooltip["rotation"], 0.0)!,
93
97
  tooltipHorizontalOffset: parseDouble(tooltip["horizontal_offset"], 0)!,
94
98
  tooltipBorder: parseBorderSide(tooltip["border_side"], theme,
95
99
  defaultValue: BorderSide.none)!,
@@ -98,6 +102,8 @@ LineTouchTooltipData? parseLineTouchTooltipData(
98
102
  fitInsideVertically: parseBool(tooltip["fit_inside_vertically"], false)!,
99
103
  showOnTopOfTheChartBoxArea:
100
104
  parseBool(tooltip["show_on_top_of_chart_box_area"], false)!,
105
+ tooltipHorizontalAlignment: parseFLHorizontalAlignment(
106
+ tooltip["horizontal_alignment"], FLHorizontalAlignment.center)!,
101
107
  getTooltipItems: (List<LineBarSpot> touchedSpots) {
102
108
  return touchedSpots
103
109
  .map((LineBarSpot spot) => parseLineTooltipItem(
@@ -131,6 +137,7 @@ LineChartBarData parseLineChartBarData(
131
137
  var belowLine = parseFlLine(chartData.get("below_line"), Theme.of(context));
132
138
  var aboveLineCutoffY = chartData.getDouble("above_line_cutoff_y");
133
139
  var belowLineCutoffY = chartData.getDouble("below_line_cutoff_y");
140
+ var stepDirection = chartData.getDouble("step_direction");
134
141
 
135
142
  Map<FlSpot, Control> spots = {
136
143
  for (var e in chartData.children("points"))
@@ -142,6 +149,10 @@ LineChartBarData parseLineChartBarData(
142
149
  preventCurveOvershootingThreshold:
143
150
  chartData.getDouble("prevent_curve_over_shooting_threshold", 10.0)!,
144
151
  spots: barSpots[chartData.id] ?? [],
152
+ curveSmoothness: chartData.getDouble("curve_smoothness", 0.35)!,
153
+ show: chartData.visible,
154
+ isStepLineChart: stepDirection != null,
155
+ lineChartStepData: LineChartStepData(stepDirection: stepDirection ?? 0.5),
145
156
  showingIndicators: chartData
146
157
  .children("points")
147
158
  .asMap()
@@ -152,6 +163,7 @@ LineChartBarData parseLineChartBarData(
152
163
  .toList(),
153
164
  isCurved: chartData.getBool("curved", false)!,
154
165
  isStrokeCapRound: chartData.getBool("rounded_stroke_cap", false)!,
166
+ isStrokeJoinRound: chartData.getBool("rounded_stroke_join", false)!,
155
167
  barWidth: chartData.getDouble("stroke_width", 2.0)!,
156
168
  dashArray: dashPattern != null
157
169
  ? (dashPattern as List).map((e) => parseInt(e)).nonNulls.toList()
@@ -46,6 +46,7 @@ PieChartSectionData parsePieChartSectionData(
46
46
  radius: section.getDouble("radius"),
47
47
  showTitle: title != null,
48
48
  title: title,
49
+ gradient: section.getGradient("gradient", theme),
49
50
  titleStyle: section.getTextStyle("title_style", theme),
50
51
  borderSide: section.getBorderSide("border_side", theme,
51
52
  defaultValue: BorderSide.none)!,
@@ -1,4 +1,3 @@
1
- import 'package:collection/collection.dart';
2
1
  import 'package:equatable/equatable.dart';
3
2
  import 'package:fl_chart/fl_chart.dart';
4
3
  import 'package:flet/flet.dart';
@@ -25,34 +24,31 @@ class ScatterChartEventData extends Equatable {
25
24
  List<Object?> get props => [eventType, spotIndex];
26
25
  }
27
26
 
28
- ScatterTouchTooltipData? parseScatterTouchTooltipData(
29
- BuildContext context, Control control, List<ScatterSpot> spots,
30
- [ScatterTouchTooltipData? defaultValue]) {
31
- var tooltip = control.get("tooltip");
32
- if (tooltip == null) return defaultValue;
27
+ ScatterTouchTooltipData parseScatterTouchTooltipData(
28
+ BuildContext context, Control control, List<ScatterSpot> spots) {
29
+ var tooltip = control.get("tooltip") ?? {};
33
30
 
34
31
  final theme = Theme.of(context);
35
32
 
36
33
  return ScatterTouchTooltipData(
37
34
  tooltipBorder: parseBorderSide(tooltip["border_side"], theme,
38
35
  defaultValue: BorderSide.none)!,
39
- rotateAngle: parseDouble(tooltip["rotate_angle"]),
40
- maxContentWidth: parseDouble(tooltip["max_width"]),
41
- tooltipPadding: parsePadding(tooltip["padding"]),
42
- tooltipHorizontalAlignment: FLHorizontalAlignment.values
43
- .firstWhereOrNull((v) => v.name == tooltip["horizontal_alignment"]),
44
- tooltipHorizontalOffset: parseDouble(tooltip["horizontal_offset"]),
36
+ rotateAngle: parseDouble(tooltip["rotation"], 0.0)!,
37
+ maxContentWidth: parseDouble(tooltip["max_width"], 120)!,
38
+ tooltipPadding: parsePadding(tooltip["padding"],
39
+ const EdgeInsets.symmetric(horizontal: 16, vertical: 8))!,
40
+ tooltipHorizontalAlignment: parseFLHorizontalAlignment(
41
+ tooltip["horizontal_alignment"], FLHorizontalAlignment.center)!,
42
+ tooltipHorizontalOffset: parseDouble(tooltip["horizontal_offset"], 0),
45
43
  tooltipBorderRadius: parseBorderRadius(tooltip["border_radius"]),
46
- fitInsideHorizontally: parseBool(tooltip["fit_inside_horizontally"]),
47
- fitInsideVertically: parseBool(tooltip["fit_inside_vertically"]),
48
- getTooltipColor: (ScatterSpot spot) {
49
- // var spotIndex =
50
- // spots.indexWhere((spot) => spot.x == spot.x && spot.y == spot.y);
51
- // var dp = control.children("spots")[spotIndex];
44
+ fitInsideHorizontally:
45
+ parseBool(tooltip["fit_inside_horizontally"], false)!,
46
+ fitInsideVertically: parseBool(tooltip["fit_inside_vertically"], false)!,
47
+ getTooltipColor: (ScatterSpot touchedSpot) {
52
48
  return parseColor(
53
49
  tooltip["bgcolor"], theme, const Color.fromRGBO(96, 125, 139, 1))!;
54
50
  },
55
- getTooltipItems: (touchedSpot) {
51
+ getTooltipItems: (ScatterSpot touchedSpot) {
56
52
  var spotIndex = spots.indexWhere(
57
53
  (spot) => spot.x == touchedSpot.x && spot.y == touchedSpot.y);
58
54
  return parseScatterTooltipItem(
@@ -65,9 +61,10 @@ ScatterTooltipItem? parseScatterTooltipItem(
65
61
  Control dataPoint, ScatterSpot spot, BuildContext context) {
66
62
  if (!dataPoint.getBool("show_tooltip", true)!) return null;
67
63
 
68
- final theme = Theme.of(context);
64
+ var tooltip = dataPoint.internals?["tooltip"];
65
+ if (tooltip == null) return null;
69
66
 
70
- var tooltip = dataPoint.get("tooltip");
67
+ final theme = Theme.of(context);
71
68
  var style = parseTextStyle(tooltip["text_style"], theme, const TextStyle())!;
72
69
  if (style.color == null) {
73
70
  style = style.copyWith(color: spot.dotPainter.mainColor);
@@ -76,6 +73,10 @@ ScatterTooltipItem? parseScatterTooltipItem(
76
73
  tooltip["text"] ?? dataPoint.getDouble("y").toString(),
77
74
  textStyle: style,
78
75
  textAlign: parseTextAlign(tooltip["text_align"], TextAlign.center)!,
76
+ textDirection: parseBool(tooltip["rtl"], false)!
77
+ ? TextDirection.rtl
78
+ : TextDirection.ltr,
79
+ bottomMargin: parseDouble(tooltip["bottom_margin"]),
79
80
  children: tooltip["text_spans"] != null
80
81
  ? parseTextSpans(tooltip["text_spans"], theme, (s, eventName,
81
82
  [eventData]) {
@@ -13,10 +13,10 @@ packages:
13
13
  dependency: transitive
14
14
  description:
15
15
  name: async
16
- sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
16
+ sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
17
17
  url: "https://pub.dev"
18
18
  source: hosted
19
- version: "2.12.0"
19
+ version: "2.13.0"
20
20
  boolean_selector:
21
21
  dependency: transitive
22
22
  description:
@@ -65,6 +65,14 @@ packages:
65
65
  url: "https://pub.dev"
66
66
  source: hosted
67
67
  version: "3.0.6"
68
+ dbus:
69
+ dependency: transitive
70
+ description:
71
+ name: dbus
72
+ sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c"
73
+ url: "https://pub.dev"
74
+ source: hosted
75
+ version: "0.7.11"
68
76
  device_info_plus:
69
77
  dependency: transitive
70
78
  description:
@@ -93,10 +101,10 @@ packages:
93
101
  dependency: transitive
94
102
  description:
95
103
  name: fake_async
96
- sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
104
+ sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
97
105
  url: "https://pub.dev"
98
106
  source: hosted
99
- version: "1.3.2"
107
+ version: "1.3.3"
100
108
  ffi:
101
109
  dependency: transitive
102
110
  description:
@@ -117,10 +125,10 @@ packages:
117
125
  dependency: transitive
118
126
  description:
119
127
  name: file_picker
120
- sha256: ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a
128
+ sha256: ef7d2a085c1b1d69d17b6842d0734aad90156de08df6bd3c12496d0bd6ddf8e2
121
129
  url: "https://pub.dev"
122
130
  source: hosted
123
- version: "10.2.0"
131
+ version: "10.3.1"
124
132
  fl_chart:
125
133
  dependency: "direct main"
126
134
  description:
@@ -134,7 +142,7 @@ packages:
134
142
  description:
135
143
  path: "packages/flet"
136
144
  ref: main
137
- resolved-ref: cf8823c5d766ea7866480986aa3ee871f4091e78
145
+ resolved-ref: "4ea9558543657d31dba3b11d6017beed2e16d447"
138
146
  url: "https://github.com/flet-dev/flet.git"
139
147
  source: git
140
148
  version: "0.70.0"
@@ -176,10 +184,10 @@ packages:
176
184
  dependency: transitive
177
185
  description:
178
186
  name: flutter_plugin_android_lifecycle
179
- sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e
187
+ sha256: "6382ce712ff69b0f719640ce957559dde459e55ecd433c767e06d139ddf16cab"
180
188
  url: "https://pub.dev"
181
189
  source: hosted
182
- version: "2.0.28"
190
+ version: "2.0.29"
183
191
  flutter_svg:
184
192
  dependency: transitive
185
193
  description:
@@ -226,10 +234,10 @@ packages:
226
234
  dependency: transitive
227
235
  description:
228
236
  name: intl
229
- sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
237
+ sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
230
238
  url: "https://pub.dev"
231
239
  source: hosted
232
- version: "0.19.0"
240
+ version: "0.20.2"
233
241
  json_annotation:
234
242
  dependency: transitive
235
243
  description:
@@ -242,10 +250,10 @@ packages:
242
250
  dependency: transitive
243
251
  description:
244
252
  name: leak_tracker
245
- sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
253
+ sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
246
254
  url: "https://pub.dev"
247
255
  source: hosted
248
- version: "10.0.8"
256
+ version: "10.0.9"
249
257
  leak_tracker_flutter_testing:
250
258
  dependency: transitive
251
259
  description:
@@ -362,10 +370,10 @@ packages:
362
370
  dependency: transitive
363
371
  description:
364
372
  name: path_provider_foundation
365
- sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
373
+ sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd"
366
374
  url: "https://pub.dev"
367
375
  source: hosted
368
- version: "2.4.1"
376
+ version: "2.4.2"
369
377
  path_provider_linux:
370
378
  dependency: transitive
371
379
  description:
@@ -462,14 +470,22 @@ packages:
462
470
  url: "https://pub.dev"
463
471
  source: hosted
464
472
  version: "0.2.0"
473
+ screenshot:
474
+ dependency: transitive
475
+ description:
476
+ name: screenshot
477
+ sha256: "63817697a7835e6ce82add4228e15d233b74d42975c143ad8cfe07009fab866b"
478
+ url: "https://pub.dev"
479
+ source: hosted
480
+ version: "3.0.0"
465
481
  sensors_plus:
466
482
  dependency: transitive
467
483
  description:
468
484
  name: sensors_plus
469
- sha256: "905282c917c6bb731c242f928665c2ea15445aa491249dea9d98d7c79dc8fd39"
485
+ sha256: "89e2bfc3d883743539ce5774a2b93df61effde40ff958ecad78cd66b1a8b8d52"
470
486
  url: "https://pub.dev"
471
487
  source: hosted
472
- version: "6.1.1"
488
+ version: "6.1.2"
473
489
  sensors_plus_platform_interface:
474
490
  dependency: transitive
475
491
  description:
@@ -490,10 +506,10 @@ packages:
490
506
  dependency: transitive
491
507
  description:
492
508
  name: shared_preferences_android
493
- sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac"
509
+ sha256: "5bcf0772a761b04f8c6bf814721713de6f3e5d9d89caf8d3fe031b02a342379e"
494
510
  url: "https://pub.dev"
495
511
  source: hosted
496
- version: "2.4.10"
512
+ version: "2.4.11"
497
513
  shared_preferences_foundation:
498
514
  dependency: transitive
499
515
  description:
@@ -607,18 +623,18 @@ packages:
607
623
  dependency: transitive
608
624
  description:
609
625
  name: url_launcher_android
610
- sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
626
+ sha256: "0aedad096a85b49df2e4725fa32118f9fa580f3b14af7a2d2221896a02cd5656"
611
627
  url: "https://pub.dev"
612
628
  source: hosted
613
- version: "6.3.16"
629
+ version: "6.3.17"
614
630
  url_launcher_ios:
615
631
  dependency: transitive
616
632
  description:
617
633
  name: url_launcher_ios
618
- sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb"
634
+ sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7
619
635
  url: "https://pub.dev"
620
636
  source: hosted
621
- version: "6.3.3"
637
+ version: "6.3.4"
622
638
  url_launcher_linux:
623
639
  dependency: transitive
624
640
  description:
@@ -631,10 +647,10 @@ packages:
631
647
  dependency: transitive
632
648
  description:
633
649
  name: url_launcher_macos
634
- sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
650
+ sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f
635
651
  url: "https://pub.dev"
636
652
  source: hosted
637
- version: "3.2.2"
653
+ version: "3.2.3"
638
654
  url_launcher_platform_interface:
639
655
  dependency: transitive
640
656
  description:
@@ -679,10 +695,10 @@ packages:
679
695
  dependency: transitive
680
696
  description:
681
697
  name: vector_graphics_compiler
682
- sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331"
698
+ sha256: ca81fdfaf62a5ab45d7296614aea108d2c7d0efca8393e96174bf4d51e6725b0
683
699
  url: "https://pub.dev"
684
700
  source: hosted
685
- version: "1.1.17"
701
+ version: "1.1.18"
686
702
  vector_math:
687
703
  dependency: transitive
688
704
  description:
@@ -695,10 +711,10 @@ packages:
695
711
  dependency: transitive
696
712
  description:
697
713
  name: vm_service
698
- sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
714
+ sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
699
715
  url: "https://pub.dev"
700
716
  source: hosted
701
- version: "14.3.1"
717
+ version: "15.0.0"
702
718
  web:
703
719
  dependency: transitive
704
720
  description:
@@ -727,10 +743,10 @@ packages:
727
743
  dependency: transitive
728
744
  description:
729
745
  name: win32
730
- sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba"
746
+ sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03"
731
747
  url: "https://pub.dev"
732
748
  source: hosted
733
- version: "5.13.0"
749
+ version: "5.14.0"
734
750
  win32_registry:
735
751
  dependency: transitive
736
752
  description:
@@ -772,5 +788,5 @@ packages:
772
788
  source: hosted
773
789
  version: "6.5.0"
774
790
  sdks:
775
- dart: ">=3.7.0 <4.0.0"
791
+ dart: ">=3.8.0 <4.0.0"
776
792
  flutter: ">=3.29.0"
@@ -1,38 +0,0 @@
1
- flet_charts/__init__.py,sha256=9WKqCmIz157g3fIFXteMg2RNl1FG2jMF77Dzc80lAD0,1972
2
- flet_charts/bar_chart.py,sha256=xF5djoWzocuNicM408-5_K_CHaQHfXmyypzDThDDecQ,5186
3
- flet_charts/bar_chart_group.py,sha256=eHbrtFqAn99VG2cqWf-yGgbpgcEOZFStpZqqnMP_z3w,691
4
- flet_charts/bar_chart_rod.py,sha256=-VCHWlMFRu6PODgwYLvcusTow4QWRtNS7YZbOh73mAw,2395
5
- flet_charts/bar_chart_rod_stack_item.py,sha256=XPLRpHdScmdde2UAau47OLSSL-AuQUbLpT1g7pNS9kI,623
6
- flet_charts/chart_axis.py,sha256=BJW1ufpet2OueaDgbV82lJteT1G1wtzWtgB3vqeCb38,1330
7
- flet_charts/line_chart.py,sha256=mmZlDlyaJYMPS07SP5Da5ML6LNijzG9My0GV0S-9jK0,5459
8
- flet_charts/line_chart_data.py,sha256=LX1a_TL-i1fLtLVI23mxD4UaEs4CvubfXdjZK5ppPJ0,3369
9
- flet_charts/line_chart_data_point.py,sha256=EHiAO0N1-E6mM7jED90fUqrGfxOWSt6XVtpkLDgaC-Q,2084
10
- flet_charts/matplotlib_chart.py,sha256=9GABVU-1Jah7A8VCNiey7yrLvIWuVbiqjYLxkL035MM,1870
11
- flet_charts/pie_chart.py,sha256=MCqx6zL4_hGJpLFFerE3dG3Fq0gEjvXemxDnl5yx6kg,1994
12
- flet_charts/pie_chart_section.py,sha256=0A90iyBQi5rA3g8MfgxyLLGFR9p9X7zfzQEnFIEc6rM,2342
13
- flet_charts/plotly_chart.py,sha256=UUR4lYhae_TeTH4juEei6QvRcdJ5dA4Xvhahpl7sOBo,1662
14
- flet_charts/scatter_chart.py,sha256=ZgKL9vYADRz2soW1cznTfqFWKfwy3BuxHqtFqlS8tII,4954
15
- flet_charts/scatter_chart_spot.py,sha256=-p2j-2hrxt16uBkfxtiOf9fBtZHvV9AQ1IFoiRX9zwg,2225
16
- flet_charts/types.py,sha256=b8wp5rgC5TELnXTjER3-EC6-WGJOy0T20l9xzr8JZl8,5538
17
- flet_charts-0.2.0.dev35.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
18
- flutter/flet_charts/CHANGELOG.md,sha256=JbP72D9_B4ipiQh7Ezg1O6gSCUi9GA8CseA31Wg2oWw,40
19
- flutter/flet_charts/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
20
- flutter/flet_charts/README.md,sha256=rIiq6cSepxf6Rhq2bZGK0PcMAlkz8iTfruGf2hbKFHQ,75
21
- flutter/flet_charts/analysis_options.yaml,sha256=tNXU6s4EJ4KmXROObwPetH5vkzRTVG4AH4gpMw85_EY,154
22
- flutter/flet_charts/pubspec.lock,sha256=hN5qDC0xjVIYDSnoJSDmBiAJzxRMDZOat-gf1SPXdgE,23058
23
- flutter/flet_charts/pubspec.yaml,sha256=RB9sfjlNztvDASX0kAJGmXIaV_NamD7U_dVEhS5FMJ8,570
24
- flutter/flet_charts/lib/flet_charts.dart,sha256=66hr4Shizat1MIyu957NiJI_xXYOSeOJbFI489qw7ok,70
25
- flutter/flet_charts/lib/src/bar_chart.dart,sha256=W-W8jdPk8zD2WqiPVoeNjCZ5hZG51ad2Ohr6rNv1Jfk,3565
26
- flutter/flet_charts/lib/src/extension.dart,sha256=ag-uvBKJQ1t38ySvkyFYheRFL7YITk7Pj0Eahf788pE,702
27
- flutter/flet_charts/lib/src/line_chart.dart,sha256=iij6QsZG0PgSCnZoK9YHQTwH7nJnM1_pNrb2zt-Mtk8,8733
28
- flutter/flet_charts/lib/src/pie_chart.dart,sha256=WQWrUcPjTj2ywUtA2ZwAwRmzv1mouS17Hj-uSOJtD-c,2384
29
- flutter/flet_charts/lib/src/scatter_chart.dart,sha256=GDvMhFfNzNlsrMD0vTwB39k4QNLGQSIN-ciDW9tR-yw,5521
30
- flutter/flet_charts/lib/src/utils/bar_chart.dart,sha256=SemOqBhSSl24XZ3GRh-8U0QL-ATrVWD5CFq07-6IADI,6308
31
- flutter/flet_charts/lib/src/utils/charts.dart,sha256=1r4YfLGtOIssLyCBxQmCggSv2Zmy9QEdME4KMDkjwoU,5973
32
- flutter/flet_charts/lib/src/utils/line_chart.dart,sha256=YV7XZT7LS3RNfxy_NkrMlFlowH1DDGw5bY7eZ2O0ksA,7980
33
- flutter/flet_charts/lib/src/utils/pie_chart.dart,sha256=7KYpZbJS-PsCt5hpwu0g43kRswkvbEDFm_FGmCJC_fk,1796
34
- flutter/flet_charts/lib/src/utils/scatter_chart.dart,sha256=_OhV0WJ8XjDOWqp2Z9F1QPQTKWvJf9q5vXxWXm0TKXk,3279
35
- flet_charts-0.2.0.dev35.dist-info/METADATA,sha256=LolSmrXw8POf8ZRYrt0mBA1Sce1YmIXATiMTUXHDUAM,2175
36
- flet_charts-0.2.0.dev35.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
- flet_charts-0.2.0.dev35.dist-info/top_level.txt,sha256=CVHmtljbPFTyfCiru5bxX1vvWL8L6rtUbV9bqqkSxFE,20
38
- flet_charts-0.2.0.dev35.dist-info/RECORD,,