react-native-chart-kit 6.12.2 → 7.0.0-next.1

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.
Files changed (90) hide show
  1. package/README.md +49 -35
  2. package/dist/{BarChart.d.ts → charts/bar/BarChart.d.ts} +8 -7
  3. package/dist/charts/bar/BarChart.d.ts.map +1 -0
  4. package/dist/charts/bar/BarChart.js +161 -0
  5. package/dist/charts/bar/index.d.ts +3 -0
  6. package/dist/charts/bar/index.d.ts.map +1 -0
  7. package/dist/charts/bar/index.js +3 -0
  8. package/dist/{contribution-graph → charts/contribution-graph}/ContributionGraph.d.ts +7 -6
  9. package/dist/charts/contribution-graph/ContributionGraph.d.ts.map +1 -0
  10. package/dist/charts/contribution-graph/ContributionGraph.js +310 -0
  11. package/dist/charts/contribution-graph/constants.d.ts.map +1 -0
  12. package/dist/charts/contribution-graph/constants.js +17 -0
  13. package/dist/{contribution-graph/DateHelpers.d.ts → charts/contribution-graph/date.d.ts} +1 -1
  14. package/dist/charts/contribution-graph/date.d.ts.map +1 -0
  15. package/dist/charts/contribution-graph/date.js +14 -0
  16. package/dist/{contribution-graph → charts/contribution-graph}/index.d.ts +1 -1
  17. package/dist/charts/contribution-graph/index.d.ts.map +1 -0
  18. package/dist/charts/contribution-graph/index.js +3 -0
  19. package/dist/charts/line/LegendItem.d.ts +12 -0
  20. package/dist/charts/line/LegendItem.d.ts.map +1 -0
  21. package/dist/charts/line/LegendItem.js +23 -0
  22. package/dist/{line-chart → charts/line}/LineChart.d.ts +9 -8
  23. package/dist/charts/line/LineChart.d.ts.map +1 -0
  24. package/dist/charts/line/LineChart.js +481 -0
  25. package/dist/charts/line/index.d.ts.map +1 -0
  26. package/dist/charts/line/index.js +3 -0
  27. package/dist/{PieChart.d.ts → charts/pie/PieChart.d.ts} +3 -2
  28. package/dist/charts/pie/PieChart.d.ts.map +1 -0
  29. package/dist/charts/pie/PieChart.js +103 -0
  30. package/dist/charts/pie/index.d.ts +3 -0
  31. package/dist/charts/pie/index.d.ts.map +1 -0
  32. package/dist/charts/pie/index.js +3 -0
  33. package/dist/{ProgressChart.d.ts → charts/progress/ProgressChart.d.ts} +3 -2
  34. package/dist/charts/progress/ProgressChart.d.ts.map +1 -0
  35. package/dist/charts/progress/ProgressChart.js +136 -0
  36. package/dist/charts/progress/index.d.ts +3 -0
  37. package/dist/charts/progress/index.d.ts.map +1 -0
  38. package/dist/charts/progress/index.js +3 -0
  39. package/dist/{StackedBarChart.d.ts → charts/stacked-bar/StackedBarChart.d.ts} +4 -3
  40. package/dist/charts/stacked-bar/StackedBarChart.d.ts.map +1 -0
  41. package/dist/charts/stacked-bar/StackedBarChart.js +147 -0
  42. package/dist/charts/stacked-bar/index.d.ts +3 -0
  43. package/dist/charts/stacked-bar/index.d.ts.map +1 -0
  44. package/dist/charts/stacked-bar/index.js +3 -0
  45. package/dist/index.d.ts +7 -7
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +8 -8
  48. package/dist/{AbstractChart.d.ts → shared/AbstractChart.d.ts} +80 -58
  49. package/dist/shared/AbstractChart.d.ts.map +1 -0
  50. package/dist/shared/AbstractChart.js +283 -0
  51. package/dist/{HelperTypes.d.ts → shared/types.d.ts} +1 -1
  52. package/dist/shared/types.d.ts.map +1 -0
  53. package/dist/shared/types.js +2 -0
  54. package/dist/shared/utils.d.ts +5 -0
  55. package/dist/shared/utils.d.ts.map +1 -0
  56. package/dist/shared/utils.js +10 -0
  57. package/package.json +109 -53
  58. package/scripts/chartkit-codemod.mjs +256 -0
  59. package/dist/AbstractChart.d.ts.map +0 -1
  60. package/dist/AbstractChart.js +0 -261
  61. package/dist/BarChart.d.ts.map +0 -1
  62. package/dist/BarChart.js +0 -159
  63. package/dist/HelperTypes.d.ts.map +0 -1
  64. package/dist/HelperTypes.js +0 -2
  65. package/dist/PieChart.d.ts.map +0 -1
  66. package/dist/PieChart.js +0 -101
  67. package/dist/ProgressChart.d.ts.map +0 -1
  68. package/dist/ProgressChart.js +0 -134
  69. package/dist/StackedBarChart.d.ts.map +0 -1
  70. package/dist/StackedBarChart.js +0 -145
  71. package/dist/Utils.d.ts +0 -2
  72. package/dist/Utils.d.ts.map +0 -1
  73. package/dist/Utils.js +0 -4
  74. package/dist/contribution-graph/ContributionGraph.d.ts.map +0 -1
  75. package/dist/contribution-graph/ContributionGraph.js +0 -309
  76. package/dist/contribution-graph/DateHelpers.d.ts.map +0 -1
  77. package/dist/contribution-graph/DateHelpers.js +0 -14
  78. package/dist/contribution-graph/constants.d.ts.map +0 -1
  79. package/dist/contribution-graph/constants.js +0 -17
  80. package/dist/contribution-graph/index.d.ts.map +0 -1
  81. package/dist/contribution-graph/index.js +0 -3
  82. package/dist/line-chart/LegendItem.d.ts +0 -11
  83. package/dist/line-chart/LegendItem.d.ts.map +0 -1
  84. package/dist/line-chart/LegendItem.js +0 -23
  85. package/dist/line-chart/LineChart.d.ts.map +0 -1
  86. package/dist/line-chart/LineChart.js +0 -459
  87. package/dist/line-chart/index.d.ts.map +0 -1
  88. package/dist/line-chart/index.js +0 -3
  89. /package/dist/{contribution-graph → charts/contribution-graph}/constants.d.ts +0 -0
  90. /package/dist/{line-chart → charts/line}/index.d.ts +0 -0
@@ -0,0 +1,310 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ import React from "react";
28
+ import { View } from "react-native";
29
+ import { G, Rect, Svg, Text } from "react-native-svg";
30
+ import AbstractChart from "../../shared/AbstractChart";
31
+ import { getNumberProp, mapValue } from "../../shared/utils";
32
+ import { convertToDate, getBeginningTimeForDate, shiftDate } from "./date";
33
+ import { DAYS_IN_WEEK, MILLISECONDS_IN_ONE_DAY, MONTH_LABELS } from "./constants";
34
+ var SQUARE_SIZE = 20;
35
+ var MONTH_LABEL_GUTTER_SIZE = 8;
36
+ var paddingLeft = 32;
37
+ var range = function (count) { return Array.from({ length: count }, function (_, i) { return i; }); };
38
+ var ContributionGraph = /** @class */ (function (_super) {
39
+ __extends(ContributionGraph, _super);
40
+ function ContributionGraph(props) {
41
+ var _this = _super.call(this, props) || this;
42
+ var _a = _this.getValueCache(props.values), maxValue = _a.maxValue, minValue = _a.minValue, valueCache = _a.valueCache;
43
+ _this.state = {
44
+ maxValue: maxValue,
45
+ minValue: minValue,
46
+ valueCache: valueCache
47
+ };
48
+ return _this;
49
+ }
50
+ ContributionGraph.prototype.componentDidUpdate = function (prevProps) {
51
+ var shouldUpdateValueCache = prevProps.values !== this.props.values ||
52
+ prevProps.endDate !== this.props.endDate ||
53
+ prevProps.numDays !== this.props.numDays ||
54
+ prevProps.accessor !== this.props.accessor ||
55
+ prevProps.titleForValue !== this.props.titleForValue ||
56
+ prevProps.tooltipDataAttrs !== this.props.tooltipDataAttrs;
57
+ if (!shouldUpdateValueCache) {
58
+ return;
59
+ }
60
+ var _a = this.getValueCache(this.props.values), maxValue = _a.maxValue, minValue = _a.minValue, valueCache = _a.valueCache;
61
+ this.setState({
62
+ maxValue: maxValue,
63
+ minValue: minValue,
64
+ valueCache: valueCache
65
+ });
66
+ };
67
+ ContributionGraph.prototype.getSquareSizeWithGutter = function () {
68
+ return (this.props.squareSize || SQUARE_SIZE) + this.props.gutterSize;
69
+ };
70
+ ContributionGraph.prototype.getMonthLabelSize = function () {
71
+ var _a = this.props.squareSize, squareSize = _a === void 0 ? SQUARE_SIZE : _a;
72
+ if (!this.props.showMonthLabels) {
73
+ return 0;
74
+ }
75
+ if (this.props.horizontal) {
76
+ return squareSize + MONTH_LABEL_GUTTER_SIZE;
77
+ }
78
+ return 2 * (squareSize + MONTH_LABEL_GUTTER_SIZE);
79
+ };
80
+ ContributionGraph.prototype.getStartDate = function () {
81
+ return shiftDate(this.getEndDate(), -this.props.numDays + 1); // +1 because endDate is inclusive
82
+ };
83
+ ContributionGraph.prototype.getEndDate = function () {
84
+ return getBeginningTimeForDate(convertToDate(this.props.endDate));
85
+ };
86
+ ContributionGraph.prototype.getStartDateWithEmptyDays = function () {
87
+ return shiftDate(this.getStartDate(), -this.getNumEmptyDaysAtStart());
88
+ };
89
+ ContributionGraph.prototype.getNumEmptyDaysAtStart = function () {
90
+ return this.getStartDate().getDay();
91
+ };
92
+ ContributionGraph.prototype.getNumEmptyDaysAtEnd = function () {
93
+ return DAYS_IN_WEEK - 1 - this.getEndDate().getDay();
94
+ };
95
+ ContributionGraph.prototype.getWeekCount = function () {
96
+ var numDaysRoundedToWeek = this.props.numDays +
97
+ this.getNumEmptyDaysAtStart() +
98
+ this.getNumEmptyDaysAtEnd();
99
+ return Math.ceil(numDaysRoundedToWeek / DAYS_IN_WEEK);
100
+ };
101
+ ContributionGraph.prototype.getWeekWidth = function () {
102
+ return DAYS_IN_WEEK * this.getSquareSizeWithGutter();
103
+ };
104
+ ContributionGraph.prototype.getWidth = function () {
105
+ return (this.getWeekCount() * this.getSquareSizeWithGutter() -
106
+ this.props.gutterSize);
107
+ };
108
+ ContributionGraph.prototype.getHeight = function () {
109
+ return (this.getWeekWidth() + (this.getMonthLabelSize() - this.props.gutterSize));
110
+ };
111
+ ContributionGraph.prototype.getValueCache = function (values) {
112
+ var _this = this;
113
+ var minValue = Infinity, maxValue = -Infinity;
114
+ return {
115
+ valueCache: values.reduce(function (memo, value) {
116
+ var date = convertToDate(value.date);
117
+ var index = Math.floor((date.valueOf() - _this.getStartDateWithEmptyDays().valueOf()) /
118
+ MILLISECONDS_IN_ONE_DAY);
119
+ minValue = Math.min(value[_this.props.accessor], minValue);
120
+ maxValue = Math.max(value[_this.props.accessor], maxValue);
121
+ memo[index] = {
122
+ value: value,
123
+ title: _this.props.titleForValue
124
+ ? _this.props.titleForValue(value)
125
+ : null,
126
+ tooltipDataAttrs: _this.getTooltipDataAttrsForValue(value)
127
+ };
128
+ return memo;
129
+ }, {}),
130
+ minValue: minValue,
131
+ maxValue: maxValue
132
+ };
133
+ };
134
+ ContributionGraph.prototype.getValueForIndex = function (index) {
135
+ if (this.state.valueCache[index]) {
136
+ return this.state.valueCache[index].value;
137
+ }
138
+ return null;
139
+ };
140
+ ContributionGraph.prototype.getClassNameForIndex = function (index) {
141
+ if (this.state.valueCache[index]) {
142
+ if (this.state.valueCache[index].value) {
143
+ var count = this.state.valueCache[index].value[this.props.accessor];
144
+ if (count) {
145
+ var opacity = mapValue(count, this.state.maxValue === this.state.minValue
146
+ ? 0
147
+ : this.state.minValue, isNaN(this.state.maxValue) ? 1 : this.state.maxValue, 0.15 + 0.05, // + 0.05 to make smaller values a bit more visible
148
+ 1);
149
+ return this.props.chartConfig.color(opacity);
150
+ }
151
+ }
152
+ }
153
+ return this.props.chartConfig.color(0.15);
154
+ };
155
+ ContributionGraph.prototype.getTitleForIndex = function (index) {
156
+ if (this.state.valueCache[index]) {
157
+ return this.state.valueCache[index].title;
158
+ }
159
+ return this.props.titleForValue ? this.props.titleForValue(null) : null;
160
+ };
161
+ ContributionGraph.prototype.getTooltipDataAttrsForIndex = function (index) {
162
+ var _a;
163
+ if (this.state.valueCache[index]) {
164
+ return this.state.valueCache[index].tooltipDataAttrs;
165
+ }
166
+ return this.getTooltipDataAttrsForValue((_a = {
167
+ date: null
168
+ },
169
+ _a[this.props.accessor] = null,
170
+ _a));
171
+ };
172
+ ContributionGraph.prototype.getTooltipDataAttrsForValue = function (value) {
173
+ var tooltipDataAttrs = this.props.tooltipDataAttrs;
174
+ if (typeof tooltipDataAttrs === "function") {
175
+ return tooltipDataAttrs(value);
176
+ }
177
+ return tooltipDataAttrs;
178
+ };
179
+ ContributionGraph.prototype.getTransformForWeek = function (weekIndex) {
180
+ if (this.props.horizontal) {
181
+ return [weekIndex * this.getSquareSizeWithGutter(), 50];
182
+ }
183
+ return [10, weekIndex * this.getSquareSizeWithGutter()];
184
+ };
185
+ ContributionGraph.prototype.getTransformForMonthLabels = function () {
186
+ if (this.props.horizontal) {
187
+ return null;
188
+ }
189
+ return "".concat(this.getWeekWidth() + MONTH_LABEL_GUTTER_SIZE, ", 0");
190
+ };
191
+ ContributionGraph.prototype.getTransformForAllWeeks = function () {
192
+ if (this.props.horizontal) {
193
+ return "0, ".concat(this.getMonthLabelSize() - 100);
194
+ }
195
+ return null;
196
+ };
197
+ ContributionGraph.prototype.getViewBox = function () {
198
+ if (this.props.horizontal) {
199
+ return "".concat(this.getWidth(), " ").concat(this.getHeight());
200
+ }
201
+ return "".concat(this.getHeight(), " ").concat(this.getWidth());
202
+ };
203
+ ContributionGraph.prototype.getSquareCoordinates = function (dayIndex) {
204
+ if (this.props.horizontal) {
205
+ return [0, dayIndex * this.getSquareSizeWithGutter()];
206
+ }
207
+ return [dayIndex * this.getSquareSizeWithGutter(), 0];
208
+ };
209
+ ContributionGraph.prototype.getMonthLabelCoordinates = function (weekIndex) {
210
+ if (this.props.horizontal) {
211
+ return [
212
+ weekIndex * this.getSquareSizeWithGutter(),
213
+ this.getMonthLabelSize() - MONTH_LABEL_GUTTER_SIZE
214
+ ];
215
+ }
216
+ var verticalOffset = -2;
217
+ return [
218
+ 0,
219
+ (weekIndex + 1) * this.getSquareSizeWithGutter() + verticalOffset
220
+ ];
221
+ };
222
+ ContributionGraph.prototype.renderSquare = function (dayIndex, index) {
223
+ var _this = this;
224
+ var indexOutOfRange = index < this.getNumEmptyDaysAtStart() ||
225
+ index >= this.getNumEmptyDaysAtStart() + this.props.numDays;
226
+ if (indexOutOfRange && !this.props.showOutOfRangeDays) {
227
+ return null;
228
+ }
229
+ var _a = this.getSquareCoordinates(dayIndex), x = _a[0], y = _a[1];
230
+ var _b = this.props.squareSize, squareSize = _b === void 0 ? SQUARE_SIZE : _b;
231
+ return (<Rect key={index} width={squareSize} height={squareSize} x={x + paddingLeft} y={y} title={this.getTitleForIndex(index)} fill={this.getClassNameForIndex(index)} onPress={function () {
232
+ _this.handleDayPress(index);
233
+ }} {...this.getTooltipDataAttrsForIndex(index)}/>);
234
+ };
235
+ ContributionGraph.prototype.handleDayPress = function (index) {
236
+ var _a;
237
+ if (!this.props.onDayPress) {
238
+ return;
239
+ }
240
+ this.props.onDayPress(this.state.valueCache[index] && this.state.valueCache[index].value
241
+ ? this.state.valueCache[index].value
242
+ : (_a = {},
243
+ _a[this.props.accessor] = 0,
244
+ _a.date = new Date(this.getStartDate().valueOf() + index * MILLISECONDS_IN_ONE_DAY),
245
+ _a));
246
+ };
247
+ ContributionGraph.prototype.renderWeek = function (weekIndex) {
248
+ var _this = this;
249
+ var _a = this.getTransformForWeek(weekIndex), x = _a[0], y = _a[1];
250
+ return (<G key={weekIndex} x={x} y={y}>
251
+ {range(DAYS_IN_WEEK).map(function (dayIndex) {
252
+ return _this.renderSquare(dayIndex, weekIndex * DAYS_IN_WEEK + dayIndex);
253
+ })}
254
+ </G>);
255
+ };
256
+ ContributionGraph.prototype.renderAllWeeks = function () {
257
+ var _this = this;
258
+ return range(this.getWeekCount()).map(function (weekIndex) {
259
+ return _this.renderWeek(weekIndex);
260
+ });
261
+ };
262
+ ContributionGraph.prototype.renderMonthLabels = function () {
263
+ var _this = this;
264
+ if (!this.props.showMonthLabels) {
265
+ return null;
266
+ }
267
+ var weekRange = range(this.getWeekCount() - 1); // don't render for last week, because label will be cut off
268
+ return weekRange.map(function (weekIndex) {
269
+ var endOfWeek = shiftDate(_this.getStartDateWithEmptyDays(), (weekIndex + 1) * DAYS_IN_WEEK);
270
+ var _a = _this.getMonthLabelCoordinates(weekIndex), x = _a[0], y = _a[1];
271
+ return endOfWeek.getDate() >= 1 && endOfWeek.getDate() <= DAYS_IN_WEEK ? (<Text key={weekIndex} x={x + paddingLeft} y={y + 8} {..._this.getPropsForLabels()}>
272
+ {_this.props.getMonthLabel
273
+ ? _this.props.getMonthLabel(endOfWeek.getMonth())
274
+ : MONTH_LABELS[endOfWeek.getMonth()]}
275
+ </Text>) : null;
276
+ });
277
+ };
278
+ ContributionGraph.prototype.render = function () {
279
+ var style = this.props.style;
280
+ var _a = style.borderRadius, borderRadius = _a === void 0 ? 0 : _a;
281
+ if (!borderRadius && this.props.chartConfig.style) {
282
+ var stupidXo = this.props.chartConfig.style.borderRadius;
283
+ borderRadius = stupidXo;
284
+ }
285
+ var backgroundRadius = getNumberProp(borderRadius);
286
+ return (<View style={style}>
287
+ <Svg height={this.props.height} width={this.props.width}>
288
+ {this.renderDefs(__assign({ width: this.props.width, height: this.props.height }, this.props.chartConfig))}
289
+ <Rect width="100%" height={this.props.height} rx={backgroundRadius} ry={backgroundRadius} fill={this.getGradientUrl("backgroundGradient")}/>
290
+ <G>{this.renderMonthLabels()}</G>
291
+ <G>{this.renderAllWeeks()}</G>
292
+ </Svg>
293
+ </View>);
294
+ };
295
+ ContributionGraph.defaultProps = {
296
+ numDays: 200,
297
+ endDate: new Date(),
298
+ gutterSize: 1,
299
+ squareSize: SQUARE_SIZE,
300
+ horizontal: true,
301
+ showMonthLabels: true,
302
+ showOutOfRangeDays: false,
303
+ accessor: "count",
304
+ classForValue: function (value) { return (value ? "black" : "#8cc665"); },
305
+ style: {}
306
+ };
307
+ return ContributionGraph;
308
+ }(AbstractChart));
309
+ export default ContributionGraph;
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJpYnV0aW9uR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2hhcnRzL2NvbnRyaWJ1dGlvbi1ncmFwaC9Db250cmlidXRpb25HcmFwaC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBYSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxhQUFhLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixZQUFZLEVBQ2IsTUFBTSxhQUFhLENBQUM7QUFHckIsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLElBQU0sdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLElBQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN2QixJQUFNLEtBQUssR0FBRyxVQUFDLEtBQWEsSUFBSyxPQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsVUFBQyxDQUFDLEVBQUUsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxFQUFELENBQUMsQ0FBQyxFQUExQyxDQUEwQyxDQUFDO0FBYTVFO0lBQWdDLHFDQUcvQjtJQUNDLDJCQUFZLEtBQTZCO1FBQ3ZDLFlBQUEsTUFBSyxZQUFDLEtBQUssQ0FBQyxTQUFDO1FBRVQsSUFBQSxLQUFxQyxLQUFJLENBQUMsYUFBYSxDQUFD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LENBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FDWixNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUMxQixFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNyQixFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNyQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFFbEQ7VUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNoQztVQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUMvQjtRQUFBLEVBQUUsR0FBRyxDQUNQO01BQUEsRUFBRSxJQUFJLENBQUMsQ0FDUixDQUFDO0lBQ0osQ0FBQztJQTVDYSw4QkFBWSxHQUFHO1FBQzNCLE9BQU8sRUFBRSxHQUFHO1FBQ1osT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFO1FBQ25CLFVBQVUsRUFBRSxDQUFDO1FBQ2IsVUFBVSxFQUFFLFdBQVc7UUFDdkIsVUFBVSxFQUFFLElBQUk7UUFDaEIsZUFBZSxFQUFFLElBQUk7UUFDckIsa0JBQWtCLEVBQUUsS0FBSztRQUN6QixRQUFRLEVBQUUsT0FBTztRQUNqQixhQUFhLEVBQUUsVUFBQyxLQUFLLElBQUssT0FBQSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBN0IsQ0FBNkI7UUFDdkQsS0FBSyxFQUFFLEVBQUU7S0FDVixDQUFDO0lBa0NKLHdCQUFDO0NBQUEsQUExWEQsQ0FBZ0MsYUFBYSxHQTBYNUM7QUFFRCxlQUFlLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgVmlldyB9IGZyb20gXCJyZWFjdC1uYXRpdmVcIjtcbmltcG9ydCB7IEcsIFJlY3QsIFJlY3RQcm9wcywgU3ZnLCBUZXh0IH0gZnJvbSBcInJlYWN0LW5hdGl2ZS1zdmdcIjtcblxuaW1wb3J0IEFic3RyYWN0Q2hhcnQgZnJvbSBcIi4uLy4uL3NoYXJlZC9BYnN0cmFjdENoYXJ0XCI7XG5pbXBvcnQgeyBnZXROdW1iZXJQcm9wLCBtYXBWYWx1ZSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvdXRpbHNcIjtcbmltcG9ydCB7IGNvbnZlcnRUb0RhdGUsIGdldEJlZ2lubmluZ1RpbWVGb3JEYXRlLCBzaGlmdERhdGUgfSBmcm9tIFwiLi9kYXRlXCI7XG5pbXBvcnQge1xuICBEQVlTX0lOX1dFRUssXG4gIE1JTExJU0VDT05EU19JTl9PTkVfREFZLFxuICBNT05USF9MQUJFTFNcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBDb250cmlidXRpb25HcmFwaFByb3BzLCBDb250cmlidXRpb25HcmFwaFN0YXRlIH0gZnJvbSBcIi5cIjtcblxuY29uc3QgU1FVQVJFX1NJWkUgPSAyMDtcbmNvbnN0IE1PTlRIX0xBQkVMX0dVVFRFUl9TSVpFID0gODtcbmNvbnN0IHBhZGRpbmdMZWZ0ID0gMzI7XG5jb25zdCByYW5nZSA9IChjb3VudDogbnVtYmVyKSA9PiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBjb3VudCB9LCAoXywgaSkgPT4gaSk7XG5cbmV4cG9ydCB0eXBlIENvbnRyaWJ1dGlvbkNoYXJ0VmFsdWUgPSB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRvb2x0aXBEYXRhQXR0cnM6IFRvb2x0aXBEYXRhQXR0cnM7XG4gIGRhdGU6IERhdGU7XG59O1xuXG5leHBvcnQgdHlwZSBUb29sdGlwRGF0YUF0dHJzID0gKFxuICB2YWx1ZTogQ29udHJpYnV0aW9uQ2hhcnRWYWx1ZVxuKSA9PiBQYXJ0aWFsPFJlY3RQcm9wcz4gfCBQYXJ0aWFsPFJlY3RQcm9wcz47XG5cbmNsYXNzIENvbnRyaWJ1dGlvbkdyYXBoIGV4dGVuZHMgQWJzdHJhY3RDaGFydDxcbiAgQ29udHJpYnV0aW9uR3JhcGhQcm9wcyxcbiAgQ29udHJpYnV0aW9uR3JhcGhTdGF0ZVxuPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDb250cmlidXRpb25HcmFwaFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgbGV0IHsgbWF4VmFsdWUsIG1pblZhbHVlLCB2YWx1ZUNhY2hlIH0gPSB0aGlzLmdldFZhbHVlQ2FjaGUocHJvcHMudmFsdWVzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBtYXhWYWx1ZSxcbiAgICAgIG1pblZhbHVlLFxuICAgICAgdmFsdWVDYWNoZVxuICAgIH07XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzOiBDb250cmlidXRpb25HcmFwaFByb3BzKSB7XG4gICAgY29uc3Qgc2hvdWxkVXBkYXRlVmFsdWVDYWNoZSA9XG4gICAgICBwcmV2UHJvcHMudmFsdWVzICE9PSB0aGlzLnByb3BzLnZhbHVlcyB8fFxuICAgICAgcHJldlByb3BzLmVuZERhdGUgIT09IHRoaXMucHJvcHMuZW5kRGF0ZSB8fFxuICAgICAgcHJldlByb3BzLm51bURheXMgIT09IHRoaXMucHJvcHMubnVtRGF5cyB8fFxuICAgICAgcHJldlByb3BzLmFjY2Vzc29yICE9PSB0aGlzLnByb3BzLmFjY2Vzc29yIHx8XG4gICAgICBwcmV2UHJvcHMudGl0bGVGb3JWYWx1ZSAhPT0gdGhpcy5wcm9wcy50aXRsZUZvclZhbHVlIHx8XG4gICAgICBwcmV2UHJvcHMudG9vbHRpcERhdGFBdHRycyAhPT0gdGhpcy5wcm9wcy50b29sdGlwRGF0YUF0dHJzO1xuXG4gICAgaWYgKCFzaG91bGRVcGRhdGVWYWx1ZUNhY2hlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHsgbWF4VmFsdWUsIG1pblZhbHVlLCB2YWx1ZUNhY2hlIH0gPSB0aGlzLmdldFZhbHVlQ2FjaGUoXG4gICAgICB0aGlzLnByb3BzLnZhbHVlc1xuICAgICk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIG1heFZhbHVlLFxuICAgICAgbWluVmFsdWUsXG4gICAgICB2YWx1ZUNhY2hlXG4gICAgfSk7XG4gIH1cblxuICBnZXRTcXVhcmVTaXplV2l0aEd1dHRlcigpIHtcbiAgICByZXR1cm4gKHRoaXMucHJvcHMuc3F1YXJlU2l6ZSB8fCBTUVVBUkVfU0laRSkgKyB0aGlzLnByb3BzLmd1dHRlclNpemU7XG4gIH1cblxuICBnZXRNb250aExhYmVsU2l6ZSgpIHtcbiAgICBsZXQgeyBzcXVhcmVTaXplID0gU1FVQVJFX1NJWkUgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCF0aGlzLnByb3BzLnNob3dNb250aExhYmVscykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLmhvcml6b250YWwpIHtcbiAgICAgIHJldHVybiBzcXVhcmVTaXplICsgTU9OVEhfTEFCRUxfR1VUVEVSX1NJWkU7XG4gICAgfVxuICAgIHJldHVybiAyICogKHNxdWFyZVNpemUgKyBNT05USF9MQUJFTF9HVVRURVJfU0laRSk7XG4gIH1cblxuICBnZXRTdGFydERhdGUoKSB7XG4gICAgcmV0dXJuIHNoaWZ0RGF0ZSh0aGlzLmdldEVuZERhdGUoKSwgLXRoaXMucHJvcHMubnVtRGF5cyArIDEpOyAvLyArMSBiZWNhdXNlIGVuZERhdGUgaXMgaW5jbHVzaXZlXG4gIH1cblxuICBnZXRFbmREYXRlKCkge1xuICAgIHJldHVybiBnZXRCZWdpbm5pbmdUaW1lRm9yRGF0ZShjb252ZXJ0VG9EYXRlKHRoaXMucHJvcHMuZW5kRGF0ZSkpO1xuICB9XG5cbiAgZ2V0U3RhcnREYXRlV2l0aEVtcHR5RGF5cygpIHtcbiAgICByZXR1cm4gc2hpZnREYXRlKHRoaXMuZ2V0U3RhcnREYXRlKCksIC10aGlzLmdldE51bUVtcHR5RGF5c0F0U3RhcnQoKSk7XG4gIH1cblxuICBnZXROdW1FbXB0eURheXNBdFN0YXJ0KCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0YXJ0RGF0ZSgpLmdldERheSgpO1xuICB9XG5cbiAgZ2V0TnVtRW1wdHlEYXlzQXRFbmQoKSB7XG4gICAgcmV0dXJuIERBWVNfSU5fV0VFSyAtIDEgLSB0aGlzLmdldEVuZERhdGUoKS5nZXREYXkoKTtcbiAgfVxuXG4gIGdldFdlZWtDb3VudCgpIHtcbiAgICBjb25zdCBudW1EYXlzUm91bmRlZFRvV2VlayA9XG4gICAgICB0aGlzLnByb3BzLm51bURheXMgK1xuICAgICAgdGhpcy5nZXROdW1FbXB0eURheXNBdFN0YXJ0KCkgK1xuICAgICAgdGhpcy5nZXROdW1FbXB0eURheXNBdEVuZCgpO1xuICAgIHJldHVybiBNYXRoLmNlaWwobnVtRGF5c1JvdW5kZWRUb1dlZWsgLyBEQVlTX0lOX1dFRUspO1xuICB9XG5cbiAgZ2V0V2Vla1dpZHRoKCkge1xuICAgIHJldHVybiBEQVlTX0lOX1dFRUsgKiB0aGlzLmdldFNxdWFyZVNpemVXaXRoR3V0dGVyKCk7XG4gIH1cblxuICBnZXRXaWR0aCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5nZXRXZWVrQ291bnQoKSAqIHRoaXMuZ2V0U3F1YXJlU2l6ZVdpdGhHdXR0ZXIoKSAtXG4gICAgICB0aGlzLnByb3BzLmd1dHRlclNpemVcbiAgICApO1xuICB9XG5cbiAgZ2V0SGVpZ2h0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmdldFdlZWtXaWR0aCgpICsgKHRoaXMuZ2V0TW9udGhMYWJlbFNpemUoKSAtIHRoaXMucHJvcHMuZ3V0dGVyU2l6ZSlcbiAgICApO1xuICB9XG5cbiAgZ2V0VmFsdWVDYWNoZSh2YWx1ZXM6IENvbnRyaWJ1dGlvbkNoYXJ0VmFsdWVbXSkge1xuICAgIGxldCBtaW5WYWx1ZSA9IEluZmluaXR5LFxuICAgICAgbWF4VmFsdWUgPSAtSW5maW5pdHk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWVDYWNoZTogdmFsdWVzLnJlZHVjZSgobWVtbywgdmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IGNvbnZlcnRUb0RhdGUodmFsdWUuZGF0ZSk7XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSBNYXRoLmZsb29yKFxuICAgICAgICAgIChkYXRlLnZhbHVlT2YoKSAtIHRoaXMuZ2V0U3RhcnREYXRlV2l0aEVtcHR5RGF5cygpLnZhbHVlT2YoKSkgL1xuICAgICAgICAgICAgTUlMTElTRUNPTkRTX0lOX09ORV9EQVlcbiAgICAgICAgKTtcblxuICAgICAgICBtaW5WYWx1ZSA9IE1hdGgubWluKHZhbHVlW3RoaXMucHJvcHMuYWNjZXNzb3JdLCBtaW5WYWx1ZSk7XG4gICAgICAgIG1heFZhbHVlID0gTWF0aC5tYXgodmFsdWVbdGhpcy5wcm9wcy5hY2Nlc3Nvcl0sIG1heFZhbHVlKTtcblxuICAgICAgICBtZW1vW2luZGV4XSA9IHtcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICB0aXRsZTogdGhpcy5wcm9wcy50aXRsZUZvclZhbHVlXG4gICAgICAgICAgICA/IHRoaXMucHJvcHMudGl0bGVGb3JWYWx1ZSh2YWx1ZSlcbiAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICB0b29sdGlwRGF0YUF0dHJzOiB0aGlzLmdldFRvb2x0aXBEYXRhQXR0cnNGb3JWYWx1ZSh2YWx1ZSlcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gbWVtbztcbiAgICAgIH0sIHt9KSxcbiAgICAgIG1pblZhbHVlLFxuICAgICAgbWF4VmFsdWVcbiAgICB9O1xuICB9XG5cbiAgZ2V0VmFsdWVGb3JJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUudmFsdWVDYWNoZVtpbmRleF0pIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLnZhbHVlQ2FjaGVbaW5kZXhdLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldENsYXNzTmFtZUZvckluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS52YWx1ZUNhY2hlW2luZGV4XSkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUudmFsdWVDYWNoZVtpbmRleF0udmFsdWUpIHtcbiAgICAgICAgY29uc3QgY291bnQgPSB0aGlzLnN0YXRlLnZhbHVlQ2FjaGVbaW5kZXhdLnZhbHVlW3RoaXMucHJvcHMuYWNjZXNzb3JdO1xuXG4gICAgICAgIGlmIChjb3VudCkge1xuICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSBtYXBWYWx1ZShcbiAgICAgICAgICAgIGNvdW50LFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5tYXhWYWx1ZSA9PT0gdGhpcy5zdGF0ZS5taW5WYWx1ZVxuICAgICAgICAgICAgICA/IDBcbiAgICAgICAgICAgICAgOiB0aGlzLnN0YXRlLm1pblZhbHVlLFxuICAgICAgICAgICAgaXNOYU4odGhpcy5zdGF0ZS5tYXhWYWx1ZSkgPyAxIDogdGhpcy5zdGF0ZS5tYXhWYWx1ZSxcbiAgICAgICAgICAgIDAuMTUgKyAwLjA1LCAvLyArIDAuMDUgdG8gbWFrZSBzbWFsbGVyIHZhbHVlcyBhIGJpdCBtb3JlIHZpc2libGVcbiAgICAgICAgICAgIDFcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hhcnRDb25maWcuY29sb3Iob3BhY2l0eSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGFydENvbmZpZy5jb2xvcigwLjE1KTtcbiAgfVxuXG4gIGdldFRpdGxlRm9ySW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLnN0YXRlLnZhbHVlQ2FjaGVbaW5kZXhdKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZUNhY2hlW2luZGV4XS50aXRsZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy50aXRsZUZvclZhbHVlID8gdGhpcy5wcm9wcy50aXRsZUZvclZhbHVlKG51bGwpIDogbnVsbDtcbiAgfVxuXG4gIGdldFRvb2x0aXBEYXRhQXR0cnNGb3JJbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUudmFsdWVDYWNoZVtpbmRleF0pIHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlLnZhbHVlQ2FjaGVbaW5kZXhdLnRvb2x0aXBEYXRhQXR0cnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0VG9vbHRpcERhdGFBdHRyc0ZvclZhbHVlKHtcbiAgICAgIGRhdGU6IG51bGwsXG4gICAgICBbdGhpcy5wcm9wcy5hY2Nlc3Nvcl06IG51bGxcbiAgICB9IGFzIENvbnRyaWJ1dGlvbkNoYXJ0VmFsdWUpO1xuICB9XG5cbiAgZ2V0VG9vbHRpcERhdGFBdHRyc0ZvclZhbHVlKHZhbHVlOiBDb250cmlidXRpb25DaGFydFZhbHVlKSB7XG4gICAgY29uc3QgeyB0b29sdGlwRGF0YUF0dHJzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKHR5cGVvZiB0b29sdGlwRGF0YUF0dHJzID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJldHVybiB0b29sdGlwRGF0YUF0dHJzKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9vbHRpcERhdGFBdHRycztcbiAgfVxuXG4gIGdldFRyYW5zZm9ybUZvcldlZWsod2Vla0luZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5ob3Jpem9udGFsKSB7XG4gICAgICByZXR1cm4gW3dlZWtJbmRleCAqIHRoaXMuZ2V0U3F1YXJlU2l6ZVdpdGhHdXR0ZXIoKSwgNTBdO1xuICAgIH1cbiAgICByZXR1cm4gWzEwLCB3ZWVrSW5kZXggKiB0aGlzLmdldFNxdWFyZVNpemVXaXRoR3V0dGVyKCldO1xuICB9XG5cbiAgZ2V0VHJhbnNmb3JtRm9yTW9udGhMYWJlbHMoKSB7XG4gICAgaWYgKHRoaXMucHJvcHMuaG9yaXpvbnRhbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLmdldFdlZWtXaWR0aCgpICsgTU9OVEhfTEFCRUxfR1VUVEVSX1NJWkV9LCAwYDtcbiAgfVxuXG4gIGdldFRyYW5zZm9ybUZvckFsbFdlZWtzKCkge1xuICAgIGlmICh0aGlzLnByb3BzLmhvcml6b250YWwpIHtcbiAgICAgIHJldHVybiBgMCwgJHt0aGlzLmdldE1vbnRoTGFiZWxTaXplKCkgLSAxMDB9YDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRWaWV3Qm94KCkge1xuICAgIGlmICh0aGlzLnByb3BzLmhvcml6b250YWwpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmdldFdpZHRoKCl9ICR7dGhpcy5nZXRIZWlnaHQoKX1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy5nZXRIZWlnaHQoKX0gJHt0aGlzLmdldFdpZHRoKCl9YDtcbiAgfVxuXG4gIGdldFNxdWFyZUNvb3JkaW5hdGVzKGRheUluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5ob3Jpem9udGFsKSB7XG4gICAgICByZXR1cm4gWzAsIGRheUluZGV4ICogdGhpcy5nZXRTcXVhcmVTaXplV2l0aEd1dHRlcigpXTtcbiAgICB9XG4gICAgcmV0dXJuIFtkYXlJbmRleCAqIHRoaXMuZ2V0U3F1YXJlU2l6ZVdpdGhHdXR0ZXIoKSwgMF07XG4gIH1cblxuICBnZXRNb250aExhYmVsQ29vcmRpbmF0ZXMod2Vla0luZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5ob3Jpem9udGFsKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB3ZWVrSW5kZXggKiB0aGlzLmdldFNxdWFyZVNpemVXaXRoR3V0dGVyKCksXG4gICAgICAgIHRoaXMuZ2V0TW9udGhMYWJlbFNpemUoKSAtIE1PTlRIX0xBQkVMX0dVVFRFUl9TSVpFXG4gICAgICBdO1xuICAgIH1cbiAgICBjb25zdCB2ZXJ0aWNhbE9mZnNldCA9IC0yO1xuICAgIHJldHVybiBbXG4gICAgICAwLFxuICAgICAgKHdlZWtJbmRleCArIDEpICogdGhpcy5nZXRTcXVhcmVTaXplV2l0aEd1dHRlcigpICsgdmVydGljYWxPZmZzZXRcbiAgICBdO1xuICB9XG5cbiAgcmVuZGVyU3F1YXJlKGRheUluZGV4OiBudW1iZXIsIGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBpbmRleE91dE9mUmFuZ2UgPVxuICAgICAgaW5kZXggPCB0aGlzLmdldE51bUVtcHR5RGF5c0F0U3RhcnQoKSB8fFxuICAgICAgaW5kZXggPj0gdGhpcy5nZXROdW1FbXB0eURheXNBdFN0YXJ0KCkgKyB0aGlzLnByb3BzLm51bURheXM7XG5cbiAgICBpZiAoaW5kZXhPdXRPZlJhbmdlICYmICF0aGlzLnByb3BzLnNob3dPdXRPZlJhbmdlRGF5cykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgW3gsIHldID0gdGhpcy5nZXRTcXVhcmVDb29yZGluYXRlcyhkYXlJbmRleCk7XG4gICAgY29uc3QgeyBzcXVhcmVTaXplID0gU1FVQVJFX1NJWkUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFJlY3RcbiAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgd2lkdGg9e3NxdWFyZVNpemV9XG4gICAgICAgIGhlaWdodD17c3F1YXJlU2l6ZX1cbiAgICAgICAgeD17eCArIHBhZGRpbmdMZWZ0fVxuICAgICAgICB5PXt5fVxuICAgICAgICB0aXRsZT17dGhpcy5nZXRUaXRsZUZvckluZGV4KGluZGV4KX1cbiAgICAgICAgZmlsbD17dGhpcy5nZXRDbGFzc05hbWVGb3JJbmRleChpbmRleCl9XG4gICAgICAgIG9uUHJlc3M9eygpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZURheVByZXNzKGluZGV4KTtcbiAgICAgICAgfX1cbiAgICAgICAgey4uLnRoaXMuZ2V0VG9vbHRpcERhdGFBdHRyc0ZvckluZGV4KGluZGV4KX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZURheVByZXNzKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoIXRoaXMucHJvcHMub25EYXlQcmVzcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucHJvcHMub25EYXlQcmVzcyhcbiAgICAgIHRoaXMuc3RhdGUudmFsdWVDYWNoZVtpbmRleF0gJiYgdGhpcy5zdGF0ZS52YWx1ZUNhY2hlW2luZGV4XS52YWx1ZVxuICAgICAgICA/IHRoaXMuc3RhdGUudmFsdWVDYWNoZVtpbmRleF0udmFsdWVcbiAgICAgICAgOiB7XG4gICAgICAgICAgICBbdGhpcy5wcm9wcy5hY2Nlc3Nvcl06IDAsXG4gICAgICAgICAgICBkYXRlOiBuZXcgRGF0ZShcbiAgICAgICAgICAgICAgdGhpcy5nZXRTdGFydERhdGUoKS52YWx1ZU9mKCkgKyBpbmRleCAqIE1JTExJU0VDT05EU19JTl9PTkVfREFZXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZW5kZXJXZWVrKHdlZWtJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgW3gsIHldID0gdGhpcy5nZXRUcmFuc2Zvcm1Gb3JXZWVrKHdlZWtJbmRleCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxHIGtleT17d2Vla0luZGV4fSB4PXt4fSB5PXt5fT5cbiAgICAgICAge3JhbmdlKERBWVNfSU5fV0VFSykubWFwKChkYXlJbmRleCkgPT5cbiAgICAgICAgICB0aGlzLnJlbmRlclNxdWFyZShkYXlJbmRleCwgd2Vla0luZGV4ICogREFZU19JTl9XRUVLICsgZGF5SW5kZXgpXG4gICAgICAgICl9XG4gICAgICA8L0c+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlckFsbFdlZWtzKCkge1xuICAgIHJldHVybiByYW5nZSh0aGlzLmdldFdlZWtDb3VudCgpKS5tYXAoKHdlZWtJbmRleCkgPT5cbiAgICAgIHRoaXMucmVuZGVyV2Vlayh3ZWVrSW5kZXgpXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlck1vbnRoTGFiZWxzKCkge1xuICAgIGlmICghdGhpcy5wcm9wcy5zaG93TW9udGhMYWJlbHMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHdlZWtSYW5nZSA9IHJhbmdlKHRoaXMuZ2V0V2Vla0NvdW50KCkgLSAxKTsgLy8gZG9uJ3QgcmVuZGVyIGZvciBsYXN0IHdlZWssIGJlY2F1c2UgbGFiZWwgd2lsbCBiZSBjdXQgb2ZmXG5cbiAgICByZXR1cm4gd2Vla1JhbmdlLm1hcCgod2Vla0luZGV4KSA9PiB7XG4gICAgICBjb25zdCBlbmRPZldlZWsgPSBzaGlmdERhdGUoXG4gICAgICAgIHRoaXMuZ2V0U3RhcnREYXRlV2l0aEVtcHR5RGF5cygpLFxuICAgICAgICAod2Vla0luZGV4ICsgMSkgKiBEQVlTX0lOX1dFRUtcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IFt4LCB5XSA9IHRoaXMuZ2V0TW9udGhMYWJlbENvb3JkaW5hdGVzKHdlZWtJbmRleCk7XG5cbiAgICAgIHJldHVybiBlbmRPZldlZWsuZ2V0RGF0ZSgpID49IDEgJiYgZW5kT2ZXZWVrLmdldERhdGUoKSA8PSBEQVlTX0lOX1dFRUsgPyAoXG4gICAgICAgIDxUZXh0XG4gICAgICAgICAga2V5PXt3ZWVrSW5kZXh9XG4gICAgICAgICAgeD17eCArIHBhZGRpbmdMZWZ0fVxuICAgICAgICAgIHk9e3kgKyA4fVxuICAgICAgICAgIHsuLi50aGlzLmdldFByb3BzRm9yTGFiZWxzKCl9XG4gICAgICAgID5cbiAgICAgICAgICB7dGhpcy5wcm9wcy5nZXRNb250aExhYmVsXG4gICAgICAgICAgICA/IHRoaXMucHJvcHMuZ2V0TW9udGhMYWJlbChlbmRPZldlZWsuZ2V0TW9udGgoKSlcbiAgICAgICAgICAgIDogTU9OVEhfTEFCRUxTW2VuZE9mV2Vlay5nZXRNb250aCgpXX1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKSA6IG51bGw7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBudW1EYXlzOiAyMDAsXG4gICAgZW5kRGF0ZTogbmV3IERhdGUoKSxcbiAgICBndXR0ZXJTaXplOiAxLFxuICAgIHNxdWFyZVNpemU6IFNRVUFSRV9TSVpFLFxuICAgIGhvcml6b250YWw6IHRydWUsXG4gICAgc2hvd01vbnRoTGFiZWxzOiB0cnVlLFxuICAgIHNob3dPdXRPZlJhbmdlRGF5czogZmFsc2UsXG4gICAgYWNjZXNzb3I6IFwiY291bnRcIixcbiAgICBjbGFzc0ZvclZhbHVlOiAodmFsdWUpID0+ICh2YWx1ZSA/IFwiYmxhY2tcIiA6IFwiIzhjYzY2NVwiKSxcbiAgICBzdHlsZToge31cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBzdHlsZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGxldCB7IGJvcmRlclJhZGl1cyA9IDAgfSA9IHN0eWxlO1xuXG4gICAgaWYgKCFib3JkZXJSYWRpdXMgJiYgdGhpcy5wcm9wcy5jaGFydENvbmZpZy5zdHlsZSkge1xuICAgICAgY29uc3Qgc3R1cGlkWG8gPSB0aGlzLnByb3BzLmNoYXJ0Q29uZmlnLnN0eWxlLmJvcmRlclJhZGl1cztcbiAgICAgIGJvcmRlclJhZGl1cyA9IHN0dXBpZFhvO1xuICAgIH1cbiAgICBjb25zdCBiYWNrZ3JvdW5kUmFkaXVzID0gZ2V0TnVtYmVyUHJvcChib3JkZXJSYWRpdXMpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZX0+XG4gICAgICAgIDxTdmcgaGVpZ2h0PXt0aGlzLnByb3BzLmhlaWdodH0gd2lkdGg9e3RoaXMucHJvcHMud2lkdGh9PlxuICAgICAgICAgIHt0aGlzLnJlbmRlckRlZnMoe1xuICAgICAgICAgICAgd2lkdGg6IHRoaXMucHJvcHMud2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMucHJvcHMuaGVpZ2h0LFxuICAgICAgICAgICAgLi4udGhpcy5wcm9wcy5jaGFydENvbmZpZ1xuICAgICAgICAgIH0pfVxuICAgICAgICAgIDxSZWN0XG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgaGVpZ2h0PXt0aGlzLnByb3BzLmhlaWdodH1cbiAgICAgICAgICAgIHJ4PXtiYWNrZ3JvdW5kUmFkaXVzfVxuICAgICAgICAgICAgcnk9e2JhY2tncm91bmRSYWRpdXN9XG4gICAgICAgICAgICBmaWxsPXt0aGlzLmdldEdyYWRpZW50VXJsKFwiYmFja2dyb3VuZEdyYWRpZW50XCIpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEc+e3RoaXMucmVuZGVyTW9udGhMYWJlbHMoKX08L0c+XG4gICAgICAgICAgPEc+e3RoaXMucmVuZGVyQWxsV2Vla3MoKX08L0c+XG4gICAgICAgIDwvU3ZnPlxuICAgICAgPC9WaWV3PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29udHJpYnV0aW9uR3JhcGg7XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/charts/contribution-graph/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,QAAsB,CAAC;AAE3D,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAaxB,CAAC"}
@@ -0,0 +1,17 @@
1
+ export var MILLISECONDS_IN_ONE_DAY = 24 * 60 * 60 * 1000;
2
+ export var DAYS_IN_WEEK = 7;
3
+ export var MONTH_LABELS = {
4
+ 0: "Jan",
5
+ 1: "Feb",
6
+ 2: "Mar",
7
+ 3: "Apr",
8
+ 4: "May",
9
+ 5: "Jun",
10
+ 6: "Jul",
11
+ 7: "Aug",
12
+ 8: "Sep",
13
+ 9: "Oct",
14
+ 10: "Nov",
15
+ 11: "Dec"
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NoYXJ0cy9jb250cmlidXRpb24tZ3JhcGgvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFNLHVCQUF1QixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUUzRCxNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxJQUFNLFlBQVksR0FBRztJQUMxQixDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLEtBQUs7SUFDUixDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLEtBQUs7SUFDUixDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLEtBQUs7SUFDUixDQUFDLEVBQUUsS0FBSztJQUNSLEVBQUUsRUFBRSxLQUFLO0lBQ1QsRUFBRSxFQUFFLEtBQUs7Q0FDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE1JTExJU0VDT05EU19JTl9PTkVfREFZID0gMjQgKiA2MCAqIDYwICogMTAwMDtcblxuZXhwb3J0IGNvbnN0IERBWVNfSU5fV0VFSyA9IDc7XG5cbmV4cG9ydCBjb25zdCBNT05USF9MQUJFTFMgPSB7XG4gIDA6IFwiSmFuXCIsXG4gIDE6IFwiRmViXCIsXG4gIDI6IFwiTWFyXCIsXG4gIDM6IFwiQXByXCIsXG4gIDQ6IFwiTWF5XCIsXG4gIDU6IFwiSnVuXCIsXG4gIDY6IFwiSnVsXCIsXG4gIDc6IFwiQXVnXCIsXG4gIDg6IFwiU2VwXCIsXG4gIDk6IFwiT2N0XCIsXG4gIDEwOiBcIk5vdlwiLFxuICAxMTogXCJEZWNcIlxufTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  export declare function shiftDate(date: Date, numDays: number): Date;
2
2
  export declare function getBeginningTimeForDate(date: Date): Date;
3
3
  export declare function convertToDate(obj: string | number | Date): Date;
4
- //# sourceMappingURL=DateHelpers.d.ts.map
4
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/charts/contribution-graph/date.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAIpD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,QAEjD;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,QAExD"}
@@ -0,0 +1,14 @@
1
+ // returns a new date shifted a certain number of days (can be negative)
2
+ export function shiftDate(date, numDays) {
3
+ var newDate = new Date(date);
4
+ newDate.setDate(newDate.getDate() + numDays);
5
+ return newDate;
6
+ }
7
+ export function getBeginningTimeForDate(date) {
8
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate());
9
+ }
10
+ // obj can be a parseable string, a millisecond timestamp, or a Date object
11
+ export function convertToDate(obj) {
12
+ return obj instanceof Date ? obj : new Date(obj);
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jaGFydHMvY29udHJpYnV0aW9uLWdyYXBoL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0VBQXdFO0FBQ3hFLE1BQU0sVUFBVSxTQUFTLENBQUMsSUFBVSxFQUFFLE9BQWU7SUFDbkQsSUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDN0MsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxJQUFVO0lBQ2hELE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsMkVBQTJFO0FBQzNFLE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBMkI7SUFDdkQsT0FBTyxHQUFHLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZXR1cm5zIGEgbmV3IGRhdGUgc2hpZnRlZCBhIGNlcnRhaW4gbnVtYmVyIG9mIGRheXMgKGNhbiBiZSBuZWdhdGl2ZSlcbmV4cG9ydCBmdW5jdGlvbiBzaGlmdERhdGUoZGF0ZTogRGF0ZSwgbnVtRGF5czogbnVtYmVyKSB7XG4gIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShkYXRlKTtcbiAgbmV3RGF0ZS5zZXREYXRlKG5ld0RhdGUuZ2V0RGF0ZSgpICsgbnVtRGF5cyk7XG4gIHJldHVybiBuZXdEYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmVnaW5uaW5nVGltZUZvckRhdGUoZGF0ZTogRGF0ZSkge1xuICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcbn1cblxuLy8gb2JqIGNhbiBiZSBhIHBhcnNlYWJsZSBzdHJpbmcsIGEgbWlsbGlzZWNvbmQgdGltZXN0YW1wLCBvciBhIERhdGUgb2JqZWN0XG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvRGF0ZShvYmo6IHN0cmluZyB8IG51bWJlciB8IERhdGUpIHtcbiAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGUgPyBvYmogOiBuZXcgRGF0ZShvYmopO1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { ViewStyle } from "react-native";
2
- import { AbstractChartProps } from "../AbstractChart";
2
+ import { AbstractChartProps } from "../../shared/AbstractChart";
3
3
  import ContributionGraph, { ContributionChartValue, TooltipDataAttrs } from "./ContributionGraph";
4
4
  export interface ContributionGraphProps extends AbstractChartProps {
5
5
  values: Array<any>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/contribution-graph/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,iBAAiB,EAAE,EACxB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,MAAM,CAAC;IAC1D,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import ContributionGraph from "./ContributionGraph";
2
+ export default ContributionGraph;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2hhcnRzL2NvbnRyaWJ1dGlvbi1ncmFwaC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxpQkFHTixNQUFNLHFCQUFxQixDQUFDO0FBNEI3QixlQUFlLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld1N0eWxlIH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiO1xuXG5pbXBvcnQgeyBBYnN0cmFjdENoYXJ0UHJvcHMgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL0Fic3RyYWN0Q2hhcnRcIjtcbmltcG9ydCBDb250cmlidXRpb25HcmFwaCwge1xuICBDb250cmlidXRpb25DaGFydFZhbHVlLFxuICBUb29sdGlwRGF0YUF0dHJzXG59IGZyb20gXCIuL0NvbnRyaWJ1dGlvbkdyYXBoXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJpYnV0aW9uR3JhcGhQcm9wcyBleHRlbmRzIEFic3RyYWN0Q2hhcnRQcm9wcyB7XG4gIHZhbHVlczogQXJyYXk8YW55PjtcbiAgZW5kRGF0ZTogRGF0ZTtcbiAgbnVtRGF5czogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgZ3V0dGVyU2l6ZT86IG51bWJlcjtcbiAgc3F1YXJlU2l6ZT86IG51bWJlcjtcbiAgaG9yaXpvbnRhbD86IGJvb2xlYW47XG4gIHNob3dNb250aExhYmVscz86IGJvb2xlYW47XG4gIHNob3dPdXRPZlJhbmdlRGF5cz86IGJvb2xlYW47XG4gIGFjY2Vzc29yPzogc3RyaW5nO1xuICBnZXRNb250aExhYmVsPzogKG1vbnRoSW5kZXg6IG51bWJlcikgPT4gc3RyaW5nO1xuICBvbkRheVByZXNzPzogKHZhbHVlOiB7IGNvdW50OiBudW1iZXI7IGRhdGU6IERhdGUgfSkgPT4gdm9pZDtcbiAgY2xhc3NGb3JWYWx1ZT86ICh2YWx1ZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIHN0eWxlPzogUGFydGlhbDxWaWV3U3R5bGU+O1xuICB0aXRsZUZvclZhbHVlPzogKHZhbHVlOiBDb250cmlidXRpb25DaGFydFZhbHVlKSA9PiBzdHJpbmc7XG4gIHRvb2x0aXBEYXRhQXR0cnM6IFRvb2x0aXBEYXRhQXR0cnM7XG59XG5cbmV4cG9ydCB0eXBlIENvbnRyaWJ1dGlvbkdyYXBoU3RhdGUgPSB7XG4gIG1heFZhbHVlOiBudW1iZXI7XG4gIG1pblZhbHVlOiBudW1iZXI7XG4gIHZhbHVlQ2FjaGU6IG9iamVjdDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbnRyaWJ1dGlvbkdyYXBoO1xuIl19
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { RectProps, TextProps } from "react-native-svg";
3
+ export type LegendItemProps = {
4
+ baseLegendItemX: number;
5
+ index: number;
6
+ legendOffset: number;
7
+ legendText: string;
8
+ iconColor: RectProps["fill"];
9
+ labelProps: TextProps;
10
+ };
11
+ export declare const LegendItem: (props: LegendItemProps) => React.JSX.Element;
12
+ //# sourceMappingURL=LegendItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendItem.d.ts","sourceRoot":"","sources":["../../../src/charts/line/LegendItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAQ,SAAS,EAAQ,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMpE,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,sBAmChD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { Rect, Text } from "react-native-svg";
3
+ var CIRCLE_WIDTH = 16;
4
+ var PADDING_LEFT = 4;
5
+ var CHARACTER_WIDTH = 6;
6
+ export var LegendItem = function (props) {
7
+ var baseLegendItemX = props.baseLegendItemX, index = props.index;
8
+ /* half the height of the legend Rect, minus half the height of the circle to align the
9
+ circle from its center, rather than its top. */
10
+ var centerAlignedCircle = props.legendOffset / 2 - CIRCLE_WIDTH / 2;
11
+ // 65% of the legend container height centers the text in relation to the circles
12
+ var centerAlignedText = props.legendOffset * 0.65;
13
+ // to center the legendItem on the baseLegendItemX
14
+ var textLengthOffset = (props.legendText.length * CHARACTER_WIDTH) / 2;
15
+ var legendItemNumber = index + 1;
16
+ return (<>
17
+ <Rect width={CIRCLE_WIDTH} height={CIRCLE_WIDTH} fill={props.iconColor} rx={8} ry={8} x={baseLegendItemX * legendItemNumber - (CIRCLE_WIDTH + textLengthOffset)} y={centerAlignedCircle}/>
18
+ <Text x={baseLegendItemX * legendItemNumber + (PADDING_LEFT - textLengthOffset)} y={centerAlignedText} {...props.labelProps}>
19
+ {props.legendText}
20
+ </Text>
21
+ </>);
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kSXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jaGFydHMvbGluZS9MZWdlbmRJdGVtLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLElBQUksRUFBYSxJQUFJLEVBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRSxJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLElBQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQVcxQixNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsVUFBQyxLQUFzQjtJQUN2QyxJQUFBLGVBQWUsR0FBWSxLQUFLLGdCQUFqQixFQUFFLEtBQUssR0FBSyxLQUFLLE1BQVYsQ0FBVztJQUN6QztzREFDa0Q7SUFDbEQsSUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ3RFLGlGQUFpRjtJQUNqRixJQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BELGtEQUFrRDtJQUNsRCxJQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pFLElBQU0sZ0JBQWdCLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVuQyxPQUFPLENBQ0wsRUFDRTtNQUFBLENBQUMsSUFBSSxDQUNILEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUNwQixNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FDckIsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUN0QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDTixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDTixDQUFDLENBQUMsQ0FDQSxlQUFlLEdBQUcsZ0JBQWdCLEdBQUcsQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQ3ZFLENBQUMsQ0FDRCxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUV6QjtNQUFBLENBQUMsSUFBSSxDQUNILENBQUMsQ0FBQyxDQUNBLGVBQWUsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FDdkUsQ0FBQyxDQUNELENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQ3JCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUVyQjtRQUFBLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FDbkI7TUFBQSxFQUFFLElBQUksQ0FDUjtJQUFBLEdBQUcsQ0FDSixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUmVjdCwgUmVjdFByb3BzLCBUZXh0LCBUZXh0UHJvcHMgfSBmcm9tIFwicmVhY3QtbmF0aXZlLXN2Z1wiO1xuXG5jb25zdCBDSVJDTEVfV0lEVEggPSAxNjtcbmNvbnN0IFBBRERJTkdfTEVGVCA9IDQ7XG5jb25zdCBDSEFSQUNURVJfV0lEVEggPSA2O1xuXG5leHBvcnQgdHlwZSBMZWdlbmRJdGVtUHJvcHMgPSB7XG4gIGJhc2VMZWdlbmRJdGVtWDogbnVtYmVyO1xuICBpbmRleDogbnVtYmVyO1xuICBsZWdlbmRPZmZzZXQ6IG51bWJlcjtcbiAgbGVnZW5kVGV4dDogc3RyaW5nO1xuICBpY29uQ29sb3I6IFJlY3RQcm9wc1tcImZpbGxcIl07XG4gIGxhYmVsUHJvcHM6IFRleHRQcm9wcztcbn07XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRJdGVtID0gKHByb3BzOiBMZWdlbmRJdGVtUHJvcHMpID0+IHtcbiAgY29uc3QgeyBiYXNlTGVnZW5kSXRlbVgsIGluZGV4IH0gPSBwcm9wcztcbiAgLyogaGFsZiB0aGUgaGVpZ2h0IG9mIHRoZSBsZWdlbmQgUmVjdCwgbWludXMgaGFsZiB0aGUgaGVpZ2h0IG9mIHRoZSBjaXJjbGUgdG8gYWxpZ24gdGhlXG4gICAgIGNpcmNsZSBmcm9tIGl0cyBjZW50ZXIsIHJhdGhlciB0aGFuIGl0cyB0b3AuICovXG4gIGNvbnN0IGNlbnRlckFsaWduZWRDaXJjbGUgPSBwcm9wcy5sZWdlbmRPZmZzZXQgLyAyIC0gQ0lSQ0xFX1dJRFRIIC8gMjtcbiAgLy8gNjUlIG9mIHRoZSBsZWdlbmQgY29udGFpbmVyIGhlaWdodCBjZW50ZXJzIHRoZSB0ZXh0IGluIHJlbGF0aW9uIHRvIHRoZSBjaXJjbGVzXG4gIGNvbnN0IGNlbnRlckFsaWduZWRUZXh0ID0gcHJvcHMubGVnZW5kT2Zmc2V0ICogMC42NTtcbiAgLy8gdG8gY2VudGVyIHRoZSBsZWdlbmRJdGVtIG9uIHRoZSBiYXNlTGVnZW5kSXRlbVhcbiAgY29uc3QgdGV4dExlbmd0aE9mZnNldCA9IChwcm9wcy5sZWdlbmRUZXh0Lmxlbmd0aCAqIENIQVJBQ1RFUl9XSURUSCkgLyAyO1xuICBjb25zdCBsZWdlbmRJdGVtTnVtYmVyID0gaW5kZXggKyAxO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxSZWN0XG4gICAgICAgIHdpZHRoPXtDSVJDTEVfV0lEVEh9XG4gICAgICAgIGhlaWdodD17Q0lSQ0xFX1dJRFRIfVxuICAgICAgICBmaWxsPXtwcm9wcy5pY29uQ29sb3J9XG4gICAgICAgIHJ4PXs4fVxuICAgICAgICByeT17OH1cbiAgICAgICAgeD17XG4gICAgICAgICAgYmFzZUxlZ2VuZEl0ZW1YICogbGVnZW5kSXRlbU51bWJlciAtIChDSVJDTEVfV0lEVEggKyB0ZXh0TGVuZ3RoT2Zmc2V0KVxuICAgICAgICB9XG4gICAgICAgIHk9e2NlbnRlckFsaWduZWRDaXJjbGV9XG4gICAgICAvPlxuICAgICAgPFRleHRcbiAgICAgICAgeD17XG4gICAgICAgICAgYmFzZUxlZ2VuZEl0ZW1YICogbGVnZW5kSXRlbU51bWJlciArIChQQURESU5HX0xFRlQgLSB0ZXh0TGVuZ3RoT2Zmc2V0KVxuICAgICAgICB9XG4gICAgICAgIHk9e2NlbnRlckFsaWduZWRUZXh0fVxuICAgICAgICB7Li4ucHJvcHMubGFiZWxQcm9wc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmxlZ2VuZFRleHR9XG4gICAgICA8L1RleHQ+XG4gICAgPC8+XG4gICk7XG59O1xuIl19
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { Animated, TextInput, ViewStyle } from "react-native";
3
- import AbstractChart, { AbstractChartConfig, AbstractChartProps } from "../AbstractChart";
4
- import { ChartData, Dataset } from "../HelperTypes";
3
+ import AbstractChart, { AbstractChartConfig, AbstractChartProps } from "../../shared/AbstractChart";
4
+ import { ChartData, Dataset } from "../../shared/types";
5
5
  export interface LineChartData extends ChartData {
6
6
  legend?: string[];
7
7
  }
@@ -107,7 +107,7 @@ export interface LineChartProps extends AbstractChartProps {
107
107
  */
108
108
  transparent?: boolean;
109
109
  /**
110
- * This function takes a [whole bunch](https://github.com/indiespirit/react-native-chart-kit/blob/master/src/line-chart.js#L266)
110
+ * This function takes a [whole bunch](https://github.com/indiespirit/react-native-chart-kit/blob/master/src/charts/line/LineChart.tsx)
111
111
  * of stuff and can render extra elements,
112
112
  * such as data point info or additional markup.
113
113
  */
@@ -197,6 +197,7 @@ declare class LineChart extends AbstractChart<LineChartProps, LineChartState> {
197
197
  };
198
198
  getColor: (dataset: Dataset, opacity: number) => string;
199
199
  getStrokeWidth: (dataset: Dataset) => number;
200
+ getChartRightPadding: (data: Dataset[], withDots: boolean) => number;
200
201
  getDatas: (data: Dataset[]) => number[];
201
202
  getStrokeDashArray: (dataset: Dataset) => string;
202
203
  getPropsForDots: (x: any, i: number) => object;
@@ -209,16 +210,16 @@ declare class LineChart extends AbstractChart<LineChartProps, LineChartState> {
209
210
  }) => any[];
210
211
  renderShadow: ({ width, height, paddingRight, paddingTop, data, useColorFromDataset }: Pick<AbstractChartConfig, "data" | "width" | "height" | "paddingRight" | "paddingTop"> & {
211
212
  useColorFromDataset: AbstractChartConfig["useShadowColorFromDataset"];
212
- }) => JSX.Element[];
213
+ }) => React.JSX.Element[];
213
214
  renderLine: ({ width, height, paddingRight, paddingTop, data, linejoinType }: Pick<AbstractChartConfig, "data" | "width" | "height" | "paddingRight" | "paddingTop" | "linejoinType">) => any[];
214
215
  getXMaxValues: (data: Dataset[]) => number;
215
216
  getBezierLinePoints: (dataset: Dataset, { width, height, paddingRight, paddingTop, data }: Pick<AbstractChartConfig, "width" | "height" | "paddingRight" | "paddingTop" | "data">) => string;
216
- renderBezierLine: ({ data, width, height, paddingRight, paddingTop }: Pick<AbstractChartConfig, "data" | "width" | "height" | "paddingRight" | "paddingTop">) => JSX.Element[];
217
+ renderBezierLine: ({ data, width, height, paddingRight, paddingTop }: Pick<AbstractChartConfig, "data" | "width" | "height" | "paddingRight" | "paddingTop">) => React.JSX.Element[];
217
218
  renderBezierShadow: ({ width, height, paddingRight, paddingTop, data, useColorFromDataset }: Pick<AbstractChartConfig, "data" | "width" | "height" | "paddingRight" | "paddingTop"> & {
218
219
  useColorFromDataset: AbstractChartConfig["useShadowColorFromDataset"];
219
- }) => JSX.Element[];
220
- renderLegend: (width: any, legendOffset: any) => JSX.Element[];
221
- render(): JSX.Element;
220
+ }) => React.JSX.Element[];
221
+ renderLegend: (width: any, legendOffset: any) => React.JSX.Element[];
222
+ render(): React.JSX.Element;
222
223
  }
223
224
  export default LineChart;
224
225
  //# sourceMappingURL=LineChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../src/charts/line/LineChart.tsx"],"names":[],"mappings":"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"}