victory-pie 36.8.2 → 36.8.4

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.
package/es/victory-pie.js CHANGED
@@ -1,3 +1,17 @@
1
+ import _isNil from "lodash/isNil";
2
+
3
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4
+
5
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+
9
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
10
+
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
+
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
14
+
1
15
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2
16
 
3
17
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -18,12 +32,10 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
18
32
 
19
33
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
20
34
 
21
- /* eslint no-magic-numbers: ["error", { "ignore": [-1, 0, 1, 2] }]*/
22
35
  import React from "react";
23
- import PropTypes from "prop-types";
24
- import { addEvents, Helpers, Data, PropTypes as CustomPropTypes, VictoryContainer, VictoryLabel, VictoryTheme, UserProps } from "victory-core";
25
- import Slice from "./slice";
36
+ import { addEvents, Helpers, Data, LineSegment, VictoryContainer, VictoryLabel, VictoryTheme, UserProps } from "victory-core";
26
37
  import { getBaseProps } from "./helper-methods";
38
+ import { Slice } from "./slice";
27
39
  var fallbackProps = {
28
40
  endAngle: 360,
29
41
  height: 400,
@@ -34,26 +46,98 @@ var fallbackProps = {
34
46
  width: 400,
35
47
  startAngle: 0,
36
48
  colorScale: ["#ffffff", "#f0f0f0", "#d9d9d9", "#bdbdbd", "#969696", "#737373", "#525252", "#252525", "#000000"],
37
- labelPosition: "centroid"
49
+ labelPosition: "centroid",
50
+ labelIndicatorInnerOffset: 15,
51
+ labelIndicatorOuterOffset: 5
38
52
  };
39
53
 
40
- var VictoryPie = /*#__PURE__*/function (_React$Component) {
41
- _inherits(VictoryPie, _React$Component);
54
+ var datumHasXandY = function (datum) {
55
+ return !_isNil(datum._x) && !_isNil(datum._y);
56
+ }; // eslint-disable-next-line @typescript-eslint/no-empty-interface
42
57
 
43
- var _super = _createSuper(VictoryPie);
44
58
 
45
- function VictoryPie() {
46
- _classCallCheck(this, VictoryPie);
59
+ var VictoryPieBase = /*#__PURE__*/function (_React$Component) {
60
+ _inherits(VictoryPieBase, _React$Component);
61
+
62
+ var _super = _createSuper(VictoryPieBase);
63
+
64
+ function VictoryPieBase() {
65
+ _classCallCheck(this, VictoryPieBase);
47
66
 
48
67
  return _super.apply(this, arguments);
49
68
  }
50
69
 
51
- _createClass(VictoryPie, [{
70
+ _createClass(VictoryPieBase, [{
52
71
  key: "shouldAnimate",
53
72
  value: // Overridden in victory-native
54
73
  function shouldAnimate() {
55
74
  return Boolean(this.props.animate);
56
75
  }
76
+ }, {
77
+ key: "renderComponents",
78
+ value: function renderComponents(props) {
79
+ var _this = this;
80
+
81
+ var shouldRenderDatum = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : datumHasXandY;
82
+ var dataComponent = props.dataComponent,
83
+ labelComponent = props.labelComponent,
84
+ groupComponent = props.groupComponent,
85
+ labelIndicator = props.labelIndicator,
86
+ labelPosition = props.labelPosition;
87
+
88
+ if (!groupComponent) {
89
+ throw new Error("VictoryPie expects a groupComponent prop");
90
+ }
91
+
92
+ var showIndicator = labelIndicator && labelPosition === "centroid";
93
+ var children = [];
94
+
95
+ if (dataComponent) {
96
+ var dataComponents = this.dataKeys.reduce(function (validDataComponents, _dataKey, index) {
97
+ var dataProps = _this.getComponentProps(dataComponent, "data", index);
98
+
99
+ if (shouldRenderDatum(dataProps.datum)) {
100
+ validDataComponents.push( /*#__PURE__*/React.cloneElement(dataComponent, dataProps));
101
+ }
102
+
103
+ return validDataComponents;
104
+ }, []);
105
+ children.push.apply(children, _toConsumableArray(dataComponents));
106
+ }
107
+
108
+ if (labelComponent) {
109
+ var labelComponents = this.dataKeys.map(function (_dataKey, index) {
110
+ var labelProps = _this.getComponentProps(labelComponent, "labels", index);
111
+
112
+ if (labelProps.text !== undefined && labelProps.text !== null) {
113
+ return /*#__PURE__*/React.cloneElement(labelComponent, labelProps);
114
+ }
115
+
116
+ return undefined;
117
+ }).filter(function (comp) {
118
+ return comp !== undefined;
119
+ });
120
+ children.push.apply(children, _toConsumableArray(labelComponents));
121
+ }
122
+
123
+ if (showIndicator && labelIndicator) {
124
+ var labelIndicatorComponent = /*#__PURE__*/React.createElement(LineSegment, null);
125
+
126
+ if (typeof labelIndicator === "object") {
127
+ // pass user provided react component
128
+ labelIndicatorComponent = labelIndicator;
129
+ }
130
+
131
+ var labelIndicatorComponents = this.dataKeys.map(function (_dataKey, index) {
132
+ var labelIndicatorProps = _this.getComponentProps(labelIndicatorComponent, "labelIndicators", index);
133
+
134
+ return /*#__PURE__*/React.cloneElement(labelIndicatorComponent, labelIndicatorProps);
135
+ });
136
+ children.push.apply(children, _toConsumableArray(labelIndicatorComponents));
137
+ }
138
+
139
+ return this.renderContainer(groupComponent, children);
140
+ }
57
141
  }, {
58
142
  key: "render",
59
143
  value: function render() {
@@ -65,19 +149,19 @@ var VictoryPie = /*#__PURE__*/function (_React$Component) {
65
149
  return this.animateComponent(props, animationWhitelist);
66
150
  }
67
151
 
68
- var children = this.renderData(props);
152
+ var children = this.renderComponents(props);
69
153
  var component = props.standalone ? this.renderContainer(props.containerComponent, children) : children;
70
154
  return UserProps.withSafeUserProps(component, props);
71
155
  }
72
156
  }]);
73
157
 
74
- return VictoryPie;
158
+ return VictoryPieBase;
75
159
  }(React.Component);
76
160
 
77
- VictoryPie.animationWhitelist = ["data", "endAngle", "height", "innerRadius", "cornerRadius", "padAngle", "padding", "colorScale", "startAngle", "style", "width"];
78
- VictoryPie.displayName = "VictoryPie";
79
- VictoryPie.role = "pie";
80
- VictoryPie.defaultTransitions = {
161
+ VictoryPieBase.animationWhitelist = ["data", "endAngle", "height", "innerRadius", "cornerRadius", "padAngle", "padding", "colorScale", "startAngle", "style", "width"];
162
+ VictoryPieBase.displayName = "VictoryPie";
163
+ VictoryPieBase.role = "pie";
164
+ VictoryPieBase.defaultTransitions = {
81
165
  onExit: {
82
166
  duration: 500,
83
167
  before: function () {
@@ -103,68 +187,7 @@ VictoryPie.defaultTransitions = {
103
187
  }
104
188
  }
105
189
  };
106
- VictoryPie.propTypes = {
107
- animate: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),
108
- colorScale: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.oneOf(["grayscale", "qualitative", "heatmap", "warm", "cool", "red", "green", "blue"])]),
109
- containerComponent: PropTypes.element,
110
- cornerRadius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),
111
- data: PropTypes.array,
112
- dataComponent: PropTypes.element,
113
- disableInlineStyes: PropTypes.bool,
114
- endAngle: PropTypes.number,
115
- eventKey: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),
116
- events: PropTypes.arrayOf(PropTypes.shape({
117
- target: PropTypes.oneOf(["data", "labels", "parent"]),
118
- eventKey: PropTypes.oneOfType([PropTypes.array, PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),
119
- eventHandlers: PropTypes.object
120
- })),
121
- externalEventMutations: PropTypes.arrayOf(PropTypes.shape({
122
- callback: PropTypes.func,
123
- childName: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
124
- eventKey: PropTypes.oneOfType([PropTypes.array, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string]),
125
- mutation: PropTypes.func,
126
- target: PropTypes.oneOfType([PropTypes.string, PropTypes.array])
127
- })),
128
- groupComponent: PropTypes.element,
129
- height: CustomPropTypes.nonNegative,
130
- innerRadius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),
131
- labelComponent: PropTypes.element,
132
- labelPlacement: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOf(["parallel", "perpendicular", "vertical"])]),
133
- labelPosition: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOf(["startAngle", "centroid", "endAngle"])]),
134
- labelRadius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),
135
- labels: PropTypes.oneOfType([PropTypes.func, PropTypes.array]),
136
- name: PropTypes.string,
137
- origin: PropTypes.shape({
138
- x: CustomPropTypes.nonNegative,
139
- y: CustomPropTypes.nonNegative
140
- }),
141
- padAngle: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),
142
- padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
143
- top: PropTypes.number,
144
- bottom: PropTypes.number,
145
- left: PropTypes.number,
146
- right: PropTypes.number
147
- })]),
148
- radius: PropTypes.oneOfType([CustomPropTypes.nonNegative, PropTypes.func]),
149
- sharedEvents: PropTypes.shape({
150
- events: PropTypes.array,
151
- getEventState: PropTypes.func
152
- }),
153
- sortKey: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
154
- sortOrder: PropTypes.oneOf(["ascending", "descending"]),
155
- standalone: PropTypes.bool,
156
- startAngle: PropTypes.number,
157
- style: PropTypes.shape({
158
- parent: PropTypes.object,
159
- data: PropTypes.object,
160
- labels: PropTypes.object
161
- }),
162
- theme: PropTypes.object,
163
- width: CustomPropTypes.nonNegative,
164
- x: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
165
- y: PropTypes.oneOfType([PropTypes.func, CustomPropTypes.allOfType([CustomPropTypes.integer, CustomPropTypes.nonNegative]), PropTypes.string, PropTypes.arrayOf(PropTypes.string)])
166
- };
167
- VictoryPie.defaultProps = {
190
+ VictoryPieBase.defaultProps = {
168
191
  data: [{
169
192
  x: "A",
170
193
  y: 1
@@ -190,10 +213,10 @@ VictoryPie.defaultProps = {
190
213
  theme: VictoryTheme.grayscale
191
214
  };
192
215
 
193
- VictoryPie.getBaseProps = function (props) {
216
+ VictoryPieBase.getBaseProps = function (props) {
194
217
  return getBaseProps(props, fallbackProps);
195
218
  };
196
219
 
197
- VictoryPie.getData = Data.getData;
198
- VictoryPie.expectedComponents = ["dataComponent", "labelComponent", "groupComponent", "containerComponent"];
199
- export default addEvents(VictoryPie);
220
+ VictoryPieBase.getData = Data.getData;
221
+ VictoryPieBase.expectedComponents = ["dataComponent", "labelComponent", "groupComponent", "containerComponent", "labelIndicatorComponent"];
222
+ export var VictoryPie = addEvents(VictoryPieBase);
@@ -0,0 +1,14 @@
1
+ export declare const getXOffsetMultiplayerByAngle: (angle: any) => number;
2
+ export declare const getYOffsetMultiplayerByAngle: (angle: any) => number;
3
+ export declare const getXOffset: (offset: any, angle: any) => number;
4
+ export declare const getYOffset: (offset: any, angle: any) => number;
5
+ export declare const getAverage: (array: any) => number;
6
+ export declare const getLabelIndicatorPropsForLineSegment: (props: any, calculatedValues: any, labelProps: any) => {
7
+ x1: number;
8
+ y1: number;
9
+ x2: number;
10
+ y2: number;
11
+ index: any;
12
+ };
13
+ export declare const getBaseProps: (initialProps: any, fallbackProps: any) => any;
14
+ //# sourceMappingURL=helper-methods.d.ts.map
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getBaseProps = void 0;
6
+ exports.getYOffsetMultiplayerByAngle = exports.getYOffset = exports.getXOffsetMultiplayerByAngle = exports.getXOffset = exports.getLabelIndicatorPropsForLineSegment = exports.getBaseProps = exports.getAverage = void 0;
7
7
 
8
8
  var _isNil2 = _interopRequireDefault(require("lodash/isNil"));
9
9
 
@@ -72,7 +72,7 @@ var getCalculatedValues = function (props) {
72
72
 
73
73
  var styleObject = _victoryCore.Helpers.getDefaultStyles(props, "pie");
74
74
 
75
- var style = _victoryCore.Helpers.getStyles(props.style, styleObject, "auto", "100%");
75
+ var style = _victoryCore.Helpers.getStyles(props.style, styleObject);
76
76
 
77
77
  var colors = Array.isArray(colorScale) ? colorScale : _victoryCore.Style.getColorScale(colorScale);
78
78
 
@@ -118,10 +118,13 @@ var getLabelText = function (props, datum, index) {
118
118
  return checkForValidText(text);
119
119
  };
120
120
 
121
- var getLabelArc = function (radius, labelRadius, style) {
121
+ var getLabelArc = function (labelRadius) {
122
+ return d3Shape.arc().outerRadius(labelRadius).innerRadius(labelRadius);
123
+ };
124
+
125
+ var getCalculatedLabelRadius = function (radius, labelRadius, style) {
122
126
  var padding = style && style.padding || 0;
123
- var arcRadius = labelRadius || radius + padding;
124
- return d3Shape.arc().outerRadius(arcRadius).innerRadius(arcRadius);
127
+ return labelRadius || radius + padding;
125
128
  };
126
129
 
127
130
  var getLabelPosition = function (arc, slice, position) {
@@ -226,7 +229,8 @@ var getLabelProps = function (text, dataProps, calculatedValues) {
226
229
  text: text
227
230
  }, dataProps));
228
231
 
229
- var labelArc = getLabelArc(defaultRadius, labelRadius, evaluatedStyle);
232
+ var calculatedLabelRadius = getCalculatedLabelRadius(defaultRadius, labelRadius, evaluatedStyle);
233
+ var labelArc = getLabelArc(calculatedLabelRadius);
230
234
  var position = getLabelPosition(labelArc, slice, labelPosition);
231
235
  var baseAngle = getBaseLabelAngle(slice, labelPosition, labelStyle);
232
236
  var labelAngle = getLabelAngle(baseAngle, labelPlacement);
@@ -247,7 +251,8 @@ var getLabelProps = function (text, dataProps, calculatedValues) {
247
251
  y: Math.round(position[1]) + origin.y,
248
252
  textAnchor: textAnchor,
249
253
  verticalAnchor: verticalAnchor,
250
- angle: labelAngle
254
+ angle: labelAngle,
255
+ calculatedLabelRadius: calculatedLabelRadius
251
256
  };
252
257
 
253
258
  if (!_victoryCore.Helpers.isTooltip(labelComponent)) {
@@ -258,8 +263,76 @@ var getLabelProps = function (text, dataProps, calculatedValues) {
258
263
  return (0, _defaults2.default)({}, labelProps, _victoryCore.Helpers.omit(tooltipTheme, ["style"]));
259
264
  };
260
265
 
261
- var getBaseProps = function (props, fallbackProps) {
262
- props = _victoryCore.Helpers.modifyProps(props, fallbackProps, "pie");
266
+ var getXOffsetMultiplayerByAngle = function (angle) {
267
+ return Math.cos(angle - _victoryCore.Helpers.degreesToRadians(90));
268
+ };
269
+
270
+ exports.getXOffsetMultiplayerByAngle = getXOffsetMultiplayerByAngle;
271
+
272
+ var getYOffsetMultiplayerByAngle = function (angle) {
273
+ return Math.sin(angle - _victoryCore.Helpers.degreesToRadians(90));
274
+ };
275
+
276
+ exports.getYOffsetMultiplayerByAngle = getYOffsetMultiplayerByAngle;
277
+
278
+ var getXOffset = function (offset, angle) {
279
+ return offset * getXOffsetMultiplayerByAngle(angle);
280
+ };
281
+
282
+ exports.getXOffset = getXOffset;
283
+
284
+ var getYOffset = function (offset, angle) {
285
+ return offset * getYOffsetMultiplayerByAngle(angle);
286
+ };
287
+
288
+ exports.getYOffset = getYOffset;
289
+
290
+ var getAverage = function (array) {
291
+ return array.reduce(function (acc, cur) {
292
+ return acc + cur;
293
+ }, 0) / array.length;
294
+ };
295
+
296
+ exports.getAverage = getAverage;
297
+
298
+ var getLabelIndicatorPropsForLineSegment = function (props, calculatedValues, labelProps) {
299
+ var innerRadius = props.innerRadius,
300
+ radius = props.radius,
301
+ _props$slice = props.slice,
302
+ startAngle = _props$slice.startAngle,
303
+ endAngle = _props$slice.endAngle,
304
+ labelIndicatorInnerOffset = props.labelIndicatorInnerOffset,
305
+ labelIndicatorOuterOffset = props.labelIndicatorOuterOffset,
306
+ index = props.index;
307
+ var height = calculatedValues.height,
308
+ width = calculatedValues.width;
309
+ var calculatedLabelRadius = labelProps.calculatedLabelRadius; // calculation
310
+
311
+ var middleRadius = getAverage([innerRadius, radius]);
312
+ var midAngle = getAverage([endAngle, startAngle]);
313
+ var centerX = width / 2;
314
+ var centerY = height / 2;
315
+ var innerOffset = middleRadius + labelIndicatorInnerOffset;
316
+ var outerOffset = calculatedLabelRadius - labelIndicatorOuterOffset;
317
+ var x1 = centerX + getXOffset(innerOffset, midAngle);
318
+ var y1 = centerY + getYOffset(innerOffset, midAngle);
319
+ var x2 = centerX + getXOffset(outerOffset, midAngle);
320
+ var y2 = centerY + getYOffset(outerOffset, midAngle);
321
+ var labelIndicatorProps = {
322
+ x1: x1,
323
+ y1: y1,
324
+ x2: x2,
325
+ y2: y2,
326
+ index: index
327
+ };
328
+ return (0, _defaults2.default)({}, labelIndicatorProps);
329
+ };
330
+
331
+ exports.getLabelIndicatorPropsForLineSegment = getLabelIndicatorPropsForLineSegment;
332
+
333
+ var getBaseProps = function (initialProps, fallbackProps) {
334
+ var props = _victoryCore.Helpers.modifyProps(initialProps, fallbackProps, "pie");
335
+
263
336
  var calculatedValues = getCalculatedValues(props);
264
337
  var slices = calculatedValues.slices,
265
338
  style = calculatedValues.style,
@@ -276,7 +349,8 @@ var getBaseProps = function (props, fallbackProps) {
276
349
  innerRadius = calculatedValues.innerRadius,
277
350
  cornerRadius = calculatedValues.cornerRadius,
278
351
  padAngle = calculatedValues.padAngle,
279
- disableInlineStyles = calculatedValues.disableInlineStyles;
352
+ disableInlineStyles = calculatedValues.disableInlineStyles,
353
+ labelIndicator = calculatedValues.labelIndicator;
280
354
  var radius = props.radius || defaultRadius;
281
355
  var initialChildProps = {
282
356
  parent: {
@@ -317,6 +391,14 @@ var getBaseProps = function (props, fallbackProps) {
317
391
  var evaluatedText = _victoryCore.Helpers.evaluateProp(text, dataProps);
318
392
 
319
393
  childProps[eventKey].labels = getLabelProps(evaluatedText, (0, _assign2.default)({}, props, dataProps), calculatedValues);
394
+
395
+ if (labelIndicator) {
396
+ var labelProps = childProps[eventKey].labels;
397
+
398
+ if (labelProps.calculatedLabelRadius > radius) {
399
+ childProps[eventKey].labelIndicators = getLabelIndicatorPropsForLineSegment((0, _assign2.default)({}, props, dataProps), calculatedValues, labelProps);
400
+ }
401
+ }
320
402
  }
321
403
 
322
404
  return childProps;
package/lib/index.d.ts CHANGED
@@ -1,83 +1,3 @@
1
- import * as React from "react";
2
- import {
3
- CategoryPropType,
4
- ColorScalePropType,
5
- DataGetterPropType,
6
- EventPropTypeInterface,
7
- StringOrCallback,
8
- NumberOrCallback,
9
- OriginType,
10
- SliceNumberOrCallback,
11
- StringOrNumberOrCallback,
12
- VictoryCommonProps,
13
- VictoryLabelableProps,
14
- VictoryMultiLabelableProps,
15
- VictoryStyleInterface,
16
- } from "victory-core";
17
-
18
- export type VictorySliceLabelPositionType =
19
- | "startAngle"
20
- | "centroid"
21
- | "endAngle";
22
- export type VictorySliceLabelPlacementType =
23
- | "vertical"
24
- | "parallel"
25
- | "perpendicular";
26
- export type VictorySliceTTargetType = "data" | "labels" | "parent";
27
-
28
- export interface SliceProps extends VictoryCommonProps {
29
- ariaLabel?: StringOrCallback;
30
- cornerRadius?: SliceNumberOrCallback<SliceProps, "cornerRadius">;
31
- datum?: any;
32
- innerRadius?: NumberOrCallback;
33
- padAngle?: SliceNumberOrCallback<SliceProps, "padAngle">;
34
- pathComponent?: React.ReactElement;
35
- pathFunction?: (props: SliceProps) => string;
36
- radius?: SliceNumberOrCallback<SliceProps, "radius">;
37
- slice?: {
38
- startAngle?: number;
39
- endAngle?: number;
40
- padAngle?: number;
41
- data?: any[];
42
- };
43
- sliceEndAngle?: SliceNumberOrCallback<SliceProps, "sliceEndAngle">;
44
- sliceStartAngle?: SliceNumberOrCallback<SliceProps, "sliceStartAngle">;
45
- style?: VictoryStyleInterface;
46
- tabIndex?: NumberOrCallback;
47
- }
48
-
49
- export class Slice extends React.Component<SliceProps, any> {}
50
-
51
- export interface VictoryPieProps
52
- extends Omit<VictoryCommonProps, "polar">,
53
- VictoryLabelableProps,
54
- VictoryMultiLabelableProps {
55
- categories?: CategoryPropType;
56
- colorScale?: ColorScalePropType;
57
- cornerRadius?: SliceNumberOrCallback<SliceProps, "cornerRadius">;
58
- data?: any[];
59
- dataComponent?: React.ReactElement;
60
- endAngle?: number;
61
- events?: EventPropTypeInterface<
62
- VictorySliceTTargetType,
63
- StringOrNumberOrCallback | string[] | number[]
64
- >[];
65
- eventKey?: StringOrNumberOrCallback;
66
- innerRadius?: NumberOrCallback;
67
- labelPlacement?:
68
- | VictorySliceLabelPlacementType
69
- | ((props: SliceProps) => VictorySliceLabelPlacementType);
70
- labelPosition?:
71
- | VictorySliceLabelPositionType
72
- | ((props: SliceProps) => VictorySliceLabelPositionType);
73
- labelRadius?: number | ((props: SliceProps) => number);
74
- origin?: OriginType;
75
- padAngle?: NumberOrCallback;
76
- radius?: NumberOrCallback;
77
- startAngle?: number;
78
- style?: VictoryStyleInterface;
79
- x?: DataGetterPropType;
80
- y?: DataGetterPropType;
81
- }
82
-
83
- export class VictoryPie extends React.Component<VictoryPieProps, any> {}
1
+ export * from "./victory-pie";
2
+ export * from "./slice";
3
+ //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -3,21 +3,29 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "Slice", {
7
- enumerable: true,
8
- get: function () {
9
- return _slice.default;
10
- }
11
- });
12
- Object.defineProperty(exports, "VictoryPie", {
13
- enumerable: true,
14
- get: function () {
15
- return _victoryPie.default;
16
- }
17
- });
18
6
 
19
- var _victoryPie = _interopRequireDefault(require("./victory-pie"));
7
+ var _victoryPie = require("./victory-pie");
8
+
9
+ Object.keys(_victoryPie).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _victoryPie[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _victoryPie[key];
16
+ }
17
+ });
18
+ });
20
19
 
21
- var _slice = _interopRequireDefault(require("./slice"));
20
+ var _slice = require("./slice");
22
21
 
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ Object.keys(_slice).forEach(function (key) {
23
+ if (key === "default" || key === "__esModule") return;
24
+ if (key in exports && exports[key] === _slice[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _slice[key];
29
+ }
30
+ });
31
+ });
package/lib/slice.d.ts ADDED
@@ -0,0 +1,62 @@
1
+ import React from "react";
2
+ import PropTypes from "prop-types";
3
+ import { NumberOrCallback, SliceNumberOrCallback, StringOrCallback, VictoryCommonProps, VictoryStyleInterface } from "victory-core";
4
+ export declare type VictorySliceLabelPositionType = "startAngle" | "centroid" | "endAngle";
5
+ export declare type VictorySliceLabelPlacementType = "vertical" | "parallel" | "perpendicular";
6
+ export declare type VictorySliceTTargetType = "data" | "labels" | "parent";
7
+ export interface SliceProps extends VictoryCommonProps {
8
+ ariaLabel?: StringOrCallback;
9
+ cornerRadius?: SliceNumberOrCallback<SliceProps, "cornerRadius">;
10
+ datum?: any;
11
+ innerRadius?: NumberOrCallback;
12
+ padAngle?: SliceNumberOrCallback<SliceProps, "padAngle">;
13
+ pathComponent?: React.ReactElement;
14
+ pathFunction?: (props: SliceProps) => string;
15
+ radius?: SliceNumberOrCallback<SliceProps, "radius">;
16
+ slice?: {
17
+ startAngle?: number;
18
+ endAngle?: number;
19
+ padAngle?: number;
20
+ data?: any[];
21
+ };
22
+ sliceEndAngle?: SliceNumberOrCallback<SliceProps, "sliceEndAngle">;
23
+ sliceStartAngle?: SliceNumberOrCallback<SliceProps, "sliceStartAngle">;
24
+ style?: VictoryStyleInterface;
25
+ tabIndex?: NumberOrCallback;
26
+ role?: string;
27
+ shapeRendering?: string;
28
+ }
29
+ export declare const Slice: {
30
+ (initialProps: SliceProps): React.DetailedReactHTMLElement<any, HTMLElement>;
31
+ propTypes: {
32
+ cornerRadius: PropTypes.Requireable<number | ((...args: any[]) => any)>;
33
+ datum: PropTypes.Requireable<object>;
34
+ innerRadius: PropTypes.Requireable<number | ((...args: any[]) => any)>;
35
+ padAngle: PropTypes.Requireable<number | ((...args: any[]) => any)>;
36
+ pathComponent: PropTypes.Requireable<PropTypes.ReactElementLike>;
37
+ pathFunction: PropTypes.Requireable<(...args: any[]) => any>;
38
+ radius: PropTypes.Requireable<number | ((...args: any[]) => any)>;
39
+ slice: PropTypes.Requireable<object>;
40
+ sliceEndAngle: PropTypes.Requireable<number | ((...args: any[]) => any)>;
41
+ sliceStartAngle: PropTypes.Requireable<number | ((...args: any[]) => any)>;
42
+ active?: React.Validator<boolean | null | undefined> | undefined;
43
+ ariaLabel?: React.Validator<StringOrCallback | null | undefined> | undefined;
44
+ className?: React.Validator<string | null | undefined> | undefined;
45
+ clipPath?: React.Validator<string | null | undefined> | undefined;
46
+ data?: React.Validator<any> | undefined;
47
+ desc?: React.Validator<string | Function | null | undefined> | undefined;
48
+ disableInlineStyles?: React.Validator<boolean | null | undefined> | undefined;
49
+ events?: React.Validator<object | null | undefined> | undefined;
50
+ id?: React.Validator<string | number | Function | null | undefined> | undefined;
51
+ index?: React.Validator<string | number | null | undefined> | undefined;
52
+ origin?: React.Validator<import("victory-core").OriginType | null | undefined> | undefined;
53
+ polar?: React.Validator<boolean | null | undefined> | undefined;
54
+ role?: React.Validator<string | null | undefined> | undefined;
55
+ scale?: React.Validator<any> | undefined;
56
+ shapeRendering?: React.Validator<string | null | undefined> | undefined;
57
+ style?: React.Validator<any> | undefined;
58
+ tabIndex?: React.Validator<NumberOrCallback | null | undefined> | undefined;
59
+ transform?: React.Validator<string | null | undefined> | undefined;
60
+ };
61
+ };
62
+ //# sourceMappingURL=slice.d.ts.map
package/lib/slice.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.Slice = void 0;
7
7
 
8
8
  var _assign2 = _interopRequireDefault(require("lodash/assign"));
9
9
 
@@ -116,8 +116,8 @@ var defaultProps = {
116
116
  shapeRendering: "auto"
117
117
  };
118
118
 
119
- var Slice = function (props) {
120
- props = evaluateProps(_objectSpread(_objectSpread({}, defaultProps), props));
119
+ var Slice = function (initialProps) {
120
+ var props = evaluateProps(_objectSpread(_objectSpread({}, defaultProps), initialProps));
121
121
  var defaultTransform = props.origin ? "translate(".concat(props.origin.x, ", ").concat(props.origin.y, ")") : undefined;
122
122
  return /*#__PURE__*/_react.default.cloneElement(props.pathComponent, _objectSpread(_objectSpread({}, props.events), {}, {
123
123
  "aria-label": props.ariaLabel,
@@ -132,6 +132,7 @@ var Slice = function (props) {
132
132
  }));
133
133
  };
134
134
 
135
+ exports.Slice = Slice;
135
136
  Slice.propTypes = _objectSpread(_objectSpread({}, _victoryCore.CommonProps.primitiveProps), {}, {
136
137
  cornerRadius: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.func]),
137
138
  datum: _propTypes.default.object,
@@ -143,6 +144,4 @@ Slice.propTypes = _objectSpread(_objectSpread({}, _victoryCore.CommonProps.primi
143
144
  slice: _propTypes.default.object,
144
145
  sliceEndAngle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.func]),
145
146
  sliceStartAngle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.func])
146
- });
147
- var _default = Slice;
148
- exports.default = _default;
147
+ });