@wavemaker/app-rn-runtime 11.5.0-rc.5397 → 11.5.1-next.26253

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 (33) hide show
  1. app-rn-runtime/components/chart/area-chart/area-chart.component.js +15 -10
  2. app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
  3. app-rn-runtime/components/chart/area-chart/area-chart.props.js +9 -1
  4. app-rn-runtime/components/chart/area-chart/area-chart.props.js.map +1 -1
  5. app-rn-runtime/components/chart/basechart.component.js +82 -39
  6. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  7. app-rn-runtime/components/chart/basechart.props.js +8 -3
  8. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  9. app-rn-runtime/components/chart/basechart.styles.js +25 -1
  10. app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
  11. app-rn-runtime/components/chart/line-chart/line-chart.component.js +31 -6
  12. app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
  13. app-rn-runtime/components/chart/line-chart/line-chart.props.js +1 -0
  14. app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
  15. app-rn-runtime/components/container/wizard/wizard.component.js +94 -2
  16. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  17. app-rn-runtime/components/container/wizard/wizard.props.js +4 -0
  18. app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
  19. app-rn-runtime/components/container/wizard/wizard.styles.js +103 -5
  20. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  21. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +1 -0
  22. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
  23. app-rn-runtime/components/input/basenumber/basenumber.component.js +39 -5
  24. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  25. app-rn-runtime/components/input/basenumber/basenumber.props.js +1 -0
  26. app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
  27. app-rn-runtime/components/input/currency/currency.component.js +4 -1
  28. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  29. app-rn-runtime/components/input/number/number.component.js +4 -1
  30. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  31. app-rn-runtime/core/utils.js +16 -0
  32. app-rn-runtime/core/utils.js.map +1 -1
  33. app-rn-runtime/package.json +3 -3
@@ -2,12 +2,14 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
2
2
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
3
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
4
  import React from 'react';
5
+ import Color from "color";
5
6
  import { View } from 'react-native';
6
7
  import { Defs, LinearGradient, Stop, Svg } from 'react-native-svg';
7
8
  import { VictoryArea, VictoryChart, VictoryLegend, VictoryStack, VictoryScatter, VictoryGroup } from "victory-native";
8
9
  import WmAreaChartProps from './area-chart.props';
9
10
  import { DEFAULT_CLASS } from './area-chart.styles';
10
11
  import { BaseChartComponent, BaseChartComponentState } from "@wavemaker/app-rn-runtime/components/chart/basechart.component";
12
+ import { isNumber } from 'lodash-es';
11
13
  export class WmAreaChartState extends BaseChartComponentState {
12
14
  constructor() {
13
15
  super(...arguments);
@@ -30,10 +32,14 @@ export default class WmAreaChart extends BaseChartComponent {
30
32
  return null;
31
33
  }
32
34
  let mindomain = {
33
- x: this.props.xdomain === 'Min' ? this.state.chartMinX : undefined,
34
- y: this.props.ydomain === 'Min' ? this.state.chartMinY : undefined
35
+ x: props.xdomain === 'Min' ? this.state.chartMinX : undefined,
36
+ y: props.ydomain === 'Min' ? this.state.chartMinY : undefined
35
37
  };
36
38
  const chartName = this.props.name ?? 'nonameAreachart';
39
+ let gradientStop = '100%';
40
+ if (isNumber(this.state.chartMaxY) && isNumber(this.state.chartMinY) && this.state.chartMaxY > 0) {
41
+ gradientStop = (this.state.chartMaxY - this.state.chartMinY) * 100 / this.state.chartMaxY + '%';
42
+ }
37
43
  return /*#__PURE__*/React.createElement(View, {
38
44
  style: this.styles.root,
39
45
  onLayout: this.onViewLayoutChange.bind(this)
@@ -45,7 +51,7 @@ export default class WmAreaChart extends BaseChartComponent {
45
51
  top: 70,
46
52
  bottom: 50,
47
53
  left: 50,
48
- right: 50
54
+ right: 30
49
55
  },
50
56
  minDomain: mindomain
51
57
  }, /*#__PURE__*/React.createElement(VictoryLegend, {
@@ -67,18 +73,18 @@ export default class WmAreaChart extends BaseChartComponent {
67
73
  y2: "100%"
68
74
  }, /*#__PURE__*/React.createElement(Stop, {
69
75
  offset: "0%",
70
- stopColor: this.state.colors[i]
76
+ stopColor: Color(this.state.colors[i]).lighten(0.2).rgb().toString()
71
77
  }), /*#__PURE__*/React.createElement(Stop, {
72
- offset: "100%",
73
- stopColor: '#ffffff00',
74
- stopOpacity: "0"
78
+ offset: gradientStop,
79
+ stopColor: Color(this.state.colors[i]).lighten(0.6).rgb().toString()
75
80
  }))), /*#__PURE__*/React.createElement(VictoryArea, {
76
81
  interpolation: props.interpolation,
77
82
  key: props.name + '_' + i,
78
83
  style: {
79
84
  data: {
80
85
  fill: `url(#${chartName}Gradient${i})`,
81
- stroke: this.state.colors[i]
86
+ stroke: this.state.colors[i],
87
+ strokeWidth: props.linethickness
82
88
  }
83
89
  },
84
90
  data: d
@@ -87,8 +93,7 @@ export default class WmAreaChart extends BaseChartComponent {
87
93
  key: props.name + '_scatter' + i,
88
94
  style: {
89
95
  data: {
90
- fill: this.state.colors[i],
91
- opacity: 0.8
96
+ fill: Color(this.state.colors[i]).darken(0.2).rgb().toString()
92
97
  }
93
98
  },
94
99
  data: d
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Defs","LinearGradient","Stop","Svg","VictoryArea","VictoryChart","VictoryLegend","VictoryStack","VictoryScatter","VictoryGroup","WmAreaChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","WmAreaChartState","constructor","arguments","_defineProperty","WmAreaChart","props","e","viewWidth","nativeEvent","layout","width","updateState","chartWidth","renderWidget","_this$state$data","state","data","length","mindomain","x","xdomain","chartMinX","undefined","y","ydomain","chartMinY","chartName","name","createElement","style","styles","root","onLayout","onViewLayoutChange","bind","theme","height","padding","top","bottom","left","right","minDomain","containerComponent","title","subheading","orientation","gutter","getLegendView","getXaxis","getYAxis","map","d","i","key","id","x1","y1","x2","y2","offset","stopColor","colors","stopOpacity","interpolation","fill","stroke","highlightpoints","size","opacity"],"sources":["area-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View } from 'react-native';\nimport { Defs, LinearGradient, Stop, Svg } from 'react-native-svg';\nimport { VictoryArea, VictoryChart, VictoryLegend, VictoryStack, VictoryScatter, VictoryGroup } from \"victory-native\";\nimport { InterpolationPropType } from 'victory-core';\nimport WmAreaChartProps from './area-chart.props';\nimport { DEFAULT_CLASS, WmAreaChartStyles } from './area-chart.styles';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from \"@wavemaker/app-rn-runtime/components/chart/basechart.component\";\n\nexport class WmAreaChartState extends BaseChartComponentState<WmAreaChartProps> {\n chartWidth = 0;\n}\n\nexport default class WmAreaChart extends BaseChartComponent<WmAreaChartProps, WmAreaChartState, WmAreaChartStyles> {\n\n constructor(props: WmAreaChartProps) {\n super(props, DEFAULT_CLASS, new WmAreaChartProps(), new WmAreaChartState());\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n this.updateState({\n chartWidth: viewWidth\n } as WmAreaChartState)\n }\n\n renderWidget(props: WmAreaChartProps) {\n if (!this.state.data?.length) {\n return null;\n }\n let mindomain={\n x: this.props.xdomain === 'Min' ? this.state.chartMinX: undefined,\n y: this.props.ydomain === 'Min' ? this.state.chartMinY: undefined\n };\n const chartName = this.props.name ?? 'nonameAreachart';\n return (\n <View\n style={this.styles.root}\n onLayout={this.onViewLayoutChange.bind(this)}\n >\n {this.state.chartWidth ? \n (\n <VictoryChart\n theme={this.state.theme}\n height={this.styles.root.height as number}\n width={this.state.chartWidth || 120}\n padding={{ top: 70, bottom: 50, left: 50, right: 50 }}\n minDomain={mindomain}\n > \n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getLegendView()}\n {this.getXaxis()}\n {this.getYAxis()}\n <VictoryStack>\n {\n this.state.data.map((d: any, i: number) => {\n return <VictoryGroup key={props.name + '_area_group_' + i}>\n <Defs>\n <LinearGradient id={`${chartName}Gradient${i}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <Stop offset=\"0%\" stopColor={this.state.colors[i]}/>\n <Stop offset=\"100%\" stopColor={'#ffffff00'} stopOpacity=\"0\"/>\n </LinearGradient>\n </Defs>\n <VictoryArea\n interpolation={props.interpolation as InterpolationPropType}\n key={props.name + '_' + i}\n style={{\n data: {\n fill: `url(#${chartName}Gradient${i})`,\n stroke: this.state.colors[i]\n }\n }}\n data={d}\n />\n {props.highlightpoints ?\n <VictoryScatter\n size={5}\n key={props.name + '_scatter' + i}\n style={{\n data: { fill: this.state.colors[i], opacity: 0.8}\n }}\n data={d}/>\n : null}\n </VictoryGroup>\n })\n }\n </VictoryStack>\n </VictoryChart>\n )\n : null}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Color","View","Defs","LinearGradient","Stop","Svg","VictoryArea","VictoryChart","VictoryLegend","VictoryStack","VictoryScatter","VictoryGroup","WmAreaChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","isNumber","WmAreaChartState","constructor","arguments","_defineProperty","WmAreaChart","props","e","viewWidth","nativeEvent","layout","width","updateState","chartWidth","renderWidget","_this$state$data","state","data","length","mindomain","x","xdomain","chartMinX","undefined","y","ydomain","chartMinY","chartName","name","gradientStop","chartMaxY","createElement","style","styles","root","onLayout","onViewLayoutChange","bind","theme","height","padding","top","bottom","left","right","minDomain","containerComponent","title","subheading","orientation","gutter","getLegendView","getXaxis","getYAxis","map","d","i","key","id","x1","y1","x2","y2","offset","stopColor","colors","lighten","rgb","toString","interpolation","fill","stroke","strokeWidth","linethickness","highlightpoints","size","darken"],"sources":["area-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport Color from \"color\";\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { Defs, LinearGradient, Stop, Svg } from 'react-native-svg';\nimport { VictoryArea, VictoryLine, VictoryChart, VictoryLegend, VictoryStack, VictoryScatter, VictoryGroup } from \"victory-native\";\nimport { InterpolationPropType } from 'victory-core';\nimport WmAreaChartProps from './area-chart.props';\nimport { DEFAULT_CLASS, WmAreaChartStyles } from './area-chart.styles';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from \"@wavemaker/app-rn-runtime/components/chart/basechart.component\";\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { isNil, isNumber } from 'lodash-es';\n\nexport class WmAreaChartState extends BaseChartComponentState<WmAreaChartProps> {\n chartWidth = 0;\n}\n\nexport default class WmAreaChart extends BaseChartComponent<WmAreaChartProps, WmAreaChartState, WmAreaChartStyles> {\n\n constructor(props: WmAreaChartProps) {\n super(props, DEFAULT_CLASS, new WmAreaChartProps(), new WmAreaChartState());\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n this.updateState({\n chartWidth: viewWidth\n } as WmAreaChartState)\n }\n\n renderWidget(props: WmAreaChartProps) {\n if (!this.state.data?.length) {\n return null;\n }\n let mindomain={\n x: props.xdomain === 'Min' ? this.state.chartMinX: undefined,\n y: props.ydomain === 'Min' ? this.state.chartMinY: undefined\n };\n const chartName = this.props.name ?? 'nonameAreachart';\n let gradientStop = '100%';\n if (isNumber(this.state.chartMaxY) && isNumber(this.state.chartMinY) && this.state.chartMaxY > 0) {\n gradientStop = (this.state.chartMaxY - this.state.chartMinY) * 100 / this.state.chartMaxY + '%';\n }\n return (\n <View\n style={this.styles.root}\n onLayout={this.onViewLayoutChange.bind(this)}\n >\n {this.state.chartWidth ? \n (\n <VictoryChart\n theme={this.state.theme}\n height={this.styles.root.height as number}\n width={this.state.chartWidth || 120}\n padding={{ top: 70, bottom: 50, left: 50, right: 30 }}\n minDomain={mindomain}\n > \n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getLegendView()}\n {this.getXaxis()}\n {this.getYAxis()}\n <VictoryStack>\n {\n this.state.data.map((d: any, i: number) => {\n return <VictoryGroup key={props.name + '_area_group_' + i}>\n <Defs>\n <LinearGradient id={`${chartName}Gradient${i}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <Stop offset=\"0%\" stopColor={Color(this.state.colors[i]).lighten(0.2).rgb().toString()}/>\n <Stop offset={gradientStop} stopColor={Color(this.state.colors[i]).lighten(0.6).rgb().toString()}/>\n </LinearGradient>\n </Defs>\n <VictoryArea\n interpolation={props.interpolation as InterpolationPropType}\n key={props.name + '_' + i}\n style={{\n data: {\n fill: `url(#${chartName}Gradient${i})`,\n stroke: this.state.colors[i],\n strokeWidth: props.linethickness,\n }\n }}\n data={d}\n />\n {props.highlightpoints ?\n <VictoryScatter\n size={5}\n key={props.name + '_scatter' + i}\n style={{\n data: { \n fill: Color(this.state.colors[i]).darken(0.2).rgb().toString()}\n }} \n data={d}\n />\n : null}\n </VictoryGroup>\n })\n }\n </VictoryStack>\n </VictoryChart>\n )\n : null}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
4
  import BaseChartComponentProps from "@wavemaker/app-rn-runtime/components/chart/basechart.props";
2
- export default class WmAreaChartProps extends BaseChartComponentProps {}
5
+ export default class WmAreaChartProps extends BaseChartComponentProps {
6
+ constructor() {
7
+ super(...arguments);
8
+ _defineProperty(this, "linethickness", 2);
9
+ }
10
+ }
3
11
  //# sourceMappingURL=area-chart.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseChartComponentProps","WmAreaChartProps"],"sources":["area-chart.props.ts"],"sourcesContent":["import BaseChartComponentProps from \"@wavemaker/app-rn-runtime/components/chart/basechart.props\";\n\nexport default class WmAreaChartProps extends BaseChartComponentProps {\n\n}\n"],"mappings":"AAAA,OAAOA,uBAAuB,MAAM,4DAA4D;AAEhG,eAAe,MAAMC,gBAAgB,SAASD,uBAAuB,CAAC"}
1
+ {"version":3,"names":["BaseChartComponentProps","WmAreaChartProps","constructor","arguments","_defineProperty"],"sources":["area-chart.props.ts"],"sourcesContent":["import BaseChartComponentProps from \"@wavemaker/app-rn-runtime/components/chart/basechart.props\";\n\nexport default class WmAreaChartProps extends BaseChartComponentProps {\n linethickness: number = 2;\n}\n"],"mappings":";;;AAAA,OAAOA,uBAAuB,MAAM,4DAA4D;AAEhG,eAAe,MAAMC,gBAAgB,SAASD,uBAAuB,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,wBAC1C,CAAC;EAAA;AAC7B"}
@@ -84,12 +84,13 @@ export class BaseChartComponent extends BaseComponent {
84
84
  if (this.state.props.showlegend === 'hide') {
85
85
  return null;
86
86
  }
87
- let top = this.props.showlegend === 'bottom' ? parseInt(this.styles.root.height) : 0;
87
+ const props = this.state.props;
88
+ let top = props.showlegend === 'bottom' ? parseInt(this.styles.root.height) : 0;
88
89
  if (top) {
89
90
  top = top - 50; // remove legendHeight
90
91
  }
91
92
 
92
- const orientation = this.props.showlegend === 'right' || this.props.showlegend === 'left' ? 'vertical' : 'horizontal';
93
+ const orientation = props.showlegend === 'right' || props.showlegend === 'left' ? 'vertical' : 'horizontal';
93
94
  return /*#__PURE__*/React.createElement(VictoryLegend, {
94
95
  colorScale: colorScale,
95
96
  name: 'legendData',
@@ -114,39 +115,75 @@ export class BaseChartComponent extends BaseComponent {
114
115
  }
115
116
  // x axis with vertical lines having grid stroke colors
116
117
  getXaxis() {
117
- if (this.props.showxaxis === false) {
118
- return null;
119
- }
118
+ const minIndex = 0;
119
+ const maxIndex = this.state.xaxisDatakeyArr.length - 1;
120
+ const props = this.state.props;
121
+ const getTickValueLabel = props.xtickexpr;
120
122
  return /*#__PURE__*/React.createElement(VictoryAxis, {
121
- crossAxis: true,
122
- label: (this.props.xaxislabel || this.props.xaxisdatakey) + (this.props.xunits ? `(${this.props.xunits})` : ''),
123
+ crossAxis: false,
124
+ label: (props.xaxislabel || props.xaxisdatakey || "name") + (props.xunits ? `(${props.xunits})` : ''),
123
125
  style: {
124
- grid: this.styles.grid
126
+ axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel, {
127
+ padding: props.yaxislabeldistance
128
+ }),
129
+ grid: props.hidegridxaxis ? {
130
+ stroke: null
131
+ } : this.theme.mergeStyle(this.styles.grid, this.styles.xGrid),
132
+ axis: props.showxaxis === false ? {
133
+ stroke: 'none'
134
+ } : this.theme.mergeStyle(this.styles.axis, this.styles.xAxis),
135
+ ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.xTicks),
136
+ tickLabels: this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)
125
137
  },
126
- fixLabelOverlap: true,
138
+ fixLabelOverlap: props.autoadjustlabels ? true : false,
127
139
  tickLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, {
128
- angle: this.props.labelangle || 0
140
+ angle: props.labelangle || 0
129
141
  }),
130
142
  theme: this.state.theme,
131
- tickFormat: d => `${this.state.xaxisDatakeyArr.length ? this.state.xaxisDatakeyArr[d] : d}`
143
+ tickCount: this.state.xaxisDatakeyArr.length,
144
+ invertAxis: this.isRTL,
145
+ tickFormat: (d, i, ticks) => {
146
+ if (getTickValueLabel) {
147
+ return getTickValueLabel(this.state.xaxisDatakeyArr[d], i, (ticks || []).length);
148
+ } else if (this.state.xaxisDatakeyArr) {
149
+ return this.state.xaxisDatakeyArr[d];
150
+ }
151
+ return '';
152
+ }
132
153
  });
133
154
  }
155
+
134
156
  /* y axis with horizontal lines having grid stroke colors*/
135
157
  getYAxis() {
136
- if (this.props.showyaxis === false) {
158
+ const props = this.state.props;
159
+ if (props.showyaxis === false) {
137
160
  return null;
138
161
  }
162
+ const getTickValueLabel = props.ytickexpr;
139
163
  return /*#__PURE__*/React.createElement(VictoryAxis, {
140
- crossAxis: true,
141
- label: (this.props.yaxislabel || this.props.yaxisdatakey) + (this.props.yunits ? `(${this.props.yunits})` : ''),
164
+ crossAxis: false,
165
+ label: (props.yaxislabel || props.yaxisdatakey) + (props.yunits ? `(${props.yunits})` : ''),
142
166
  style: {
143
- axisLabel: {
144
- padding: this.props.yaxislabeldistance
145
- },
146
- grid: this.styles.grid
167
+ axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel, {
168
+ padding: props.yaxislabeldistance
169
+ }),
170
+ grid: props.hidegridyaxis ? {
171
+ stroke: null
172
+ } : this.theme.mergeStyle(this.styles.grid, this.styles.yGrid),
173
+ axis: props.showxaxis === false ? {
174
+ stroke: 'none'
175
+ } : this.theme.mergeStyle(this.styles.axis, this.styles.yAxis),
176
+ ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.yTicks),
177
+ tickLabels: this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)
147
178
  },
179
+ fixLabelOverlap: props.autoadjustlabels ? true : false,
148
180
  theme: this.state.theme,
149
- tickFormat: t => `${this.abbreviateNumber(t)}`,
181
+ tickFormat: (d, i, ticks) => {
182
+ if (getTickValueLabel) {
183
+ return getTickValueLabel(d, i, (ticks || []).length);
184
+ }
185
+ return this.abbreviateNumber(d);
186
+ },
150
187
  dependentAxis: true
151
188
  });
152
189
  }
@@ -158,7 +195,8 @@ export class BaseChartComponent extends BaseComponent {
158
195
 
159
196
  // Check whether X/Y Domain was set to Min and is supported for the present chart
160
197
  isAxisDomainValid(axis) {
161
- if (get(this.props, axis + 'domain') === 'Min' && this.isAxisDomainSupported(this.props.type)) {
198
+ const props = this.state.props;
199
+ if (get(props, axis + 'domain') === 'Min' && this.isAxisDomainSupported(props.type)) {
162
200
  return true;
163
201
  }
164
202
  return false;
@@ -208,7 +246,7 @@ export class BaseChartComponent extends BaseComponent {
208
246
  }
209
247
  const xValues = {};
210
248
  /*
211
- compute the min x value
249
+ compute the min x valuex
212
250
  eg: When data has objects
213
251
  input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]
214
252
  min x: 1
@@ -300,7 +338,7 @@ export class BaseChartComponent extends BaseComponent {
300
338
  if (!colorsToUse.length) {
301
339
  colorsToUse = ThemeFactory.getColorsObj(themeName);
302
340
  }
303
- themeToUse = ThemeFactory.getTheme(themeName, this.props.styles, colorsToUse);
341
+ themeToUse = ThemeFactory.getTheme(themeName, props.styles, colorsToUse);
304
342
  } else if (typeof themeName === 'object') {
305
343
  // if theme is passed as an object then use that custom theme.
306
344
  themeToUse = props.theme;
@@ -311,9 +349,10 @@ export class BaseChartComponent extends BaseComponent {
311
349
  });
312
350
  }
313
351
  prepareLegendData() {
352
+ const props = this.state.props;
314
353
  if (this.state.yAxis) {
315
354
  let ldata;
316
- if (this.props.type === 'Stack') {
355
+ if (props.type === 'Stack') {
317
356
  const data = orderBy(this.state.data[0], 'y', 'asc');
318
357
  ldata = data.map(d => {
319
358
  return {
@@ -366,8 +405,9 @@ export class BaseChartComponent extends BaseComponent {
366
405
  return value;
367
406
  }
368
407
  prepareDataItems(dataset) {
369
- let xaxis = this.props.xaxisdatakey;
370
- let yaxis = this.props.yaxisdatakey;
408
+ const props = this.state.props;
409
+ let xaxis = props.xaxisdatakey;
410
+ let yaxis = props.yaxisdatakey;
371
411
  let xaxisDatakeyArr = [];
372
412
  let datasets = [];
373
413
  if (xaxis && yaxis) {
@@ -384,11 +424,11 @@ export class BaseChartComponent extends BaseComponent {
384
424
  x: xVal,
385
425
  y: yVal
386
426
  };
387
- if (this.props.bubblesize) {
388
- set(dataObj, 'size', get(o, this.props.bubblesize, 5));
427
+ if (props.bubblesize) {
428
+ set(dataObj, 'size', get(o, props.bubblesize, 5));
389
429
  }
390
- if (this.props.shape) {
391
- set(dataObj, 'symbol', shapes[this.props.shape]);
430
+ if (props.shape) {
431
+ set(dataObj, 'symbol', shapes[props.shape]);
392
432
  }
393
433
  return dataObj;
394
434
  }));
@@ -396,7 +436,7 @@ export class BaseChartComponent extends BaseComponent {
396
436
  });
397
437
  // chartTransform
398
438
  this.invokeEventCallback('onTransform', [undefined, this.proxy]);
399
- if (this.props.type == 'Pie' || this.props.type === 'Donut') {
439
+ if (props.type == 'Pie' || props.type === 'Donut') {
400
440
  // for animation effect
401
441
  setTimeout(() => {
402
442
  this.updateState({
@@ -408,23 +448,25 @@ export class BaseChartComponent extends BaseComponent {
408
448
  }
409
449
  }
410
450
  renderLoadingIcon() {
451
+ const props = this.state.props;
411
452
  return /*#__PURE__*/React.createElement(WmIcon, {
412
453
  styles: this.styles.loadingIcon,
413
- iconclass: this.props.loadingicon,
414
- caption: this.props.loadingdatamsg
454
+ iconclass: props.loadingicon,
455
+ caption: props.loadingdatamsg
415
456
  });
416
457
  }
417
458
  updateData(datasets, yPts, xaxisDatakeyArr) {
459
+ const props = this.state.props;
418
460
  this.updateState({
419
461
  data: datasets,
420
462
  yAxis: yPts,
421
463
  xaxisDatakeyArr: xaxisDatakeyArr
422
464
  }, () => {
423
465
  this.prepareLegendData();
424
- if (!this.props.labeltype || this.props.labeltype === 'percent') {
466
+ if (!props.labeltype || props.labeltype === 'percent') {
425
467
  this.setTotal(this.state.data[0]);
426
468
  }
427
- if (this.isAxisDomainSupported(this.props.type) && (this.props.ydomain || this.props.xdomain)) {
469
+ if (this.isAxisDomainSupported(props.type) && (props.ydomain || props.xdomain)) {
428
470
  this.setDomainValues();
429
471
  }
430
472
  this.updateState({
@@ -443,6 +485,7 @@ export class BaseChartComponent extends BaseComponent {
443
485
  }
444
486
  onPropertyChange(name, $new, $old) {
445
487
  super.onPropertyChange(name, $new, $old);
488
+ const props = this.state.props;
446
489
  let units = '';
447
490
  switch (name) {
448
491
  case 'customcolors':
@@ -457,7 +500,7 @@ export class BaseChartComponent extends BaseComponent {
457
500
  });
458
501
  break;
459
502
  case 'theme':
460
- this.applyTheme(this.props);
503
+ this.applyTheme(props);
461
504
  break;
462
505
  case 'dataset':
463
506
  if (!isArray($new)) {
@@ -470,16 +513,16 @@ export class BaseChartComponent extends BaseComponent {
470
513
  $new && this.prepareDataItems($new);
471
514
  break;
472
515
  case 'xaxislabel':
473
- if (this.props.xunits) {
474
- units = ' (' + this.props.xunits + ')';
516
+ if (props.xunits) {
517
+ units = ' (' + props.xunits + ')';
475
518
  }
476
519
  this.updateState({
477
520
  xLabel: $new + units
478
521
  });
479
522
  break;
480
523
  case 'yaxislabel':
481
- if (this.props.yunits) {
482
- units = ' (' + this.props.yunits + ')';
524
+ if (props.yunits) {
525
+ units = ' (' + props.yunits + ')';
483
526
  }
484
527
  this.updateState({
485
528
  yLabel: $new + units
@@ -1 +1 @@
1
- {"version":3,"names":["React","Dimensions","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","trim","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","BaseChartComponentState","constructor","arguments","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","length","defaultProps","defaultState","theme","applyTheme","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","state","showlegend","top","parseInt","styles","root","height","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","getXaxis","showxaxis","crossAxis","label","xaxislabel","xaxisdatakey","xunits","grid","fixLabelOverlap","tickLabelComponent","angle","labelangle","tickFormat","d","xaxisDatakeyArr","getYAxis","showyaxis","yaxislabel","yaxisdatakey","yunits","axisLabel","padding","yaxislabeldistance","t","dependentAxis","isAxisDomainSupported","type","isAxisDomainValid","axis","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","x","getXMinMaxValues","getYMinMaxValues","updateState","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","chartWidth","themeName","colorsToUse","customcolors","split","map","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","yAxis","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","index","isValid","isNaN","prepareDataItems","dataset","xaxis","yaxis","datasets","yPts","o","xindex","xVal","yVal","parseFloat","bubblesize","shape","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions } from 'react-native';\nimport moment from \"moment\";\nimport {forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim, orderBy} from \"lodash-es\";\nimport { ScatterSymbolType } from \"victory-core\";\nimport {VictoryAxis, VictoryLegend, VictoryLabel} from \"victory-native\";\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\n\nexport class BaseChartComponentState <T extends BaseChartComponentProps> extends BaseComponentState<T> {\n data: any = [];\n content: any = null;\n yAxis: Array<string> = [];\n xaxisDatakeyArr: Array<any> = [];\n legendData: any = [];\n theme: any;\n colors: any;\n xLabel: string = '';\n yLabel: string = '';\n total: number = 0;\n endAngle: number = 0;\n loading: boolean = true;\n chartHeight: number = 0;\n chartWidth: number = 0;\n chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: ScatterSymbolType} = {\n 'circle': 'circle',\n 'cross': 'cross',\n 'diamond': 'diamond',\n 'plus': 'plus',\n 'minus': 'minus',\n 'square': 'square',\n 'star': 'star',\n 'triangle-down': 'triangleDown',\n 'triangle-up': 'triangleUp'\n};\n\nconst SI_SYMBOL = [\"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\"];\n\nexport abstract class BaseChartComponent<T extends BaseChartComponentProps, S extends BaseChartComponentState<T>, L extends BaseChartComponentStyles> extends BaseComponent<T, S, L> {\n protected screenWidth: number = screenWidth;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n if (!props.theme) {\n this.applyTheme(props);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n abbreviateNumber(number: any) {\n if (typeof number !== 'number') {\n return number;\n }\n const tier = Math.log10(Math.abs(number)) / 3 | 0;\n\n if (tier == 0) {\n return number;\n }\n\n // get suffix and determine scale\n const suffix = SI_SYMBOL[tier];\n const scale = Math.pow(10, tier * 3);\n\n // scale the number\n var scaled = number / scale;\n\n // format number and add suffix\n return scaled.toFixed(1) + suffix;\n }\n\n getLegendView(colorScale?: any) {\n if (this.state.props.showlegend === 'hide') {\n return null;\n }\n let top = this.props.showlegend === 'bottom' ? parseInt(this.styles.root.height as string) : 0;\n if (top) {\n top = top - (50); // remove legendHeight\n }\n const orientation = (this.props.showlegend === 'right' || this.props.showlegend === 'left') ? 'vertical' : 'horizontal';\n return <VictoryLegend\n colorScale={colorScale}\n name={'legendData'}\n orientation={orientation}\n gutter={20}\n data={this.state.legendData}\n style={{ border: { stroke: 'none' } }}\n borderPadding={{top: 30, left: 50}}\n y={top}\n />\n }\n\n getYScaleMinValue(value: number) {\n const _min = Math.floor(value);\n return Math.abs(value) - _min > 0 ? value - .1 : _min - 1;\n };\n\n // x axis with vertical lines having grid stroke colors\n getXaxis() {\n if (this.props.showxaxis === false) {\n return null;\n }\n return <VictoryAxis crossAxis label={(this.props.xaxislabel || this.props.xaxisdatakey) + (this.props.xunits ? `(${this.props.xunits})` : '')}\n style={{\n grid: this.styles.grid\n }}\n fixLabelOverlap={true}\n tickLabelComponent={<VictoryLabel angle={this.props.labelangle || 0} />} theme={this.state.theme}\n tickFormat={(d) => `${this.state.xaxisDatakeyArr.length ? this.state.xaxisDatakeyArr[d] : d}`}/>;\n }\n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n if (this.props.showyaxis === false) {\n return null;\n }\n return <VictoryAxis crossAxis label={(this.props.yaxislabel || this.props.yaxisdatakey) + (this.props.yunits ? `(${this.props.yunits})` : '')}\n style={{\n axisLabel: {padding: this.props.yaxislabeldistance},\n grid: this.styles.grid\n }}\n theme={this.state.theme}\n tickFormat={(t) => `${this.abbreviateNumber(t)}`} dependentAxis />;\n }\n\n // X/Y Domain properties are supported only for Column and Area charts\n isAxisDomainSupported(type: string) {\n return type === 'Column'|| type === 'Area';\n }\n\n // Check whether X/Y Domain was set to Min and is supported for the present chart\n isAxisDomainValid(axis: string) {\n if (get(this.props, axis + 'domain') === 'Min' && (this.isAxisDomainSupported(this.props.type))) {\n return true;\n }\n return false;\n };\n\n// Check whether min and max values are finite or not\n areMinMaxValuesValid(values: any) {\n if (isFinite(values.min) && isFinite(values.max)) {\n return true;\n }\n return false;\n };\n\n setDomainValues() {\n let xDomainValues, yDomainValues;\n if (this.state.data.length > 0) {\n if (this.isAxisDomainValid('x') && typeof this.state.data[0].x === 'number') {\n xDomainValues = this.getXMinMaxValues(this.state.data[0]);\n }\n if (this.isAxisDomainValid('y')) {\n yDomainValues = this.getYMinMaxValues(this.state.data);\n }\n if (xDomainValues) {\n this.updateState({\n chartMinX: yDomainValues.min.x,\n chartMaxX: yDomainValues.max.x\n } as S)\n }\n let yMin;\n if (yDomainValues) {\n if (this.areMinMaxValuesValid({max: yDomainValues.max.y, min: yDomainValues.min.y})) {\n yMin = this.getYScaleMinValue(yDomainValues.min.y);\n }\n this.updateState({\n chartMinY: yMin ? yMin : yDomainValues.min.y,\n chartMaxY: yDomainValues.max.y\n } as S);\n }\n }\n }\n\n // Getting the min and max values among all the x values\n getXMinMaxValues(datum: Array<{x: number, y: any}>) {\n if (!datum) {\n return;\n }\n const xValues: any = {};\n /*\n compute the min x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n min x: 1\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n min x: 10\n */\n xValues.min = minBy(datum, (dataObject: {x: any, y: any}) => dataObject.x) || {x: undefined};\n /*\n compute the max x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n max x: 3\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n max x: 30\n */\n xValues.max = maxBy(datum, (dataObject: {x: any, y: any}) => dataObject.x)|| {x: undefined};\n return xValues;\n }\n\n // Getting the min and max values among all the y values\n getYMinMaxValues(datum: Array<Array<{x: any, y: number}>>) {\n const yValues: any = {},\n minValues: any = [],\n maxValues: any = [];\n if (!datum) {\n return;\n }\n\n /*\n Getting the min and max y values among all the series of data\n compute the min y value\n eg: When data has objects\n input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]\n min y values : '2'(among first set) & '3'(among second set)\n max y values : '4'(among first set) & '5'(among second set)\n\n eg: When data has arrays\n input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]\n min y values : '20'(among first set) & '30'(among second set)\n max y values : '40'(among first set) & '50'(among second set)\n */\n\n forEach(datum, data => {\n if (data && !isEmpty(data)) {\n minValues.push(minBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n maxValues.push(maxBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n }\n });\n // Gets the least and highest values among all the min and max values of respective series of data\n yValues.min = minBy(minValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n yValues.max = maxBy(maxValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n return yValues;\n }\n\n setHeightWidthOnChart(cb?: () => void) {\n let height = this.styles.root.height || 250;\n let width = this.styles.root.width || screenWidth;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n if (width && typeof width === 'string') {\n width = parseInt(width);\n }\n this.updateState({\n chartHeight: height,\n chartWidth: width\n } as S, cb);\n }\n\n applyTheme(props: BaseChartComponentProps) {\n let themeName = props.theme ? props.theme : (props.type === 'Pie' ? 'Azure' : 'Terrestrial');\n let colorsToUse = [];\n if (typeof props.customcolors === 'string' && !isEmpty(props.customcolors)) {\n colorsToUse = props.customcolors.split(',').map(trim);\n }\n let themeToUse;\n if (typeof themeName === 'string') {\n if (!colorsToUse.length) {\n colorsToUse = ThemeFactory.getColorsObj(themeName);\n }\n themeToUse = ThemeFactory.getTheme(themeName, this.props.styles, colorsToUse);\n } else if (typeof themeName === 'object') {\n // if theme is passed as an object then use that custom theme.\n themeToUse = props.theme;\n }\n this.updateState({\n colors: colorsToUse,\n theme: themeToUse\n } as S);\n }\n\n prepareLegendData() {\n if (this.state.yAxis) {\n let ldata: any;\n if (this.props.type === 'Stack') {\n const data = orderBy(this.state.data[0], 'y', 'asc');\n ldata = data.map((d: any) => {\n return {\n name: this.state.xaxisDatakeyArr[d.x]\n }\n });\n } else {\n ldata = this.state.yAxis.map((d: string) => {\n return {\n name: d\n }\n });\n }\n\n this.updateState({\n legendData: ldata\n } as S);\n }\n }\n\n prepareEvents(name: string) {\n return this.state.legendData.map((_: any, idx: number) => {\n return {\n childName: ['legend'],\n target: 'data',\n eventKey: String(idx),\n eventHandlers: {\n onClick: () => {\n return [\n {\n childName: [name + '_' + idx],\n target: 'data',\n eventKey: 'all',\n mutation: (props: any) => {\n return null;\n }\n }\n ];\n },\n onMouseOver: () => {\n },\n onMouseOut: () => {\n }\n }\n };\n });\n }\n\n // If date string is bound to xaxis then we are pushing the x values as indexes.\n getxAxisVal(dataObj: {[key: string] : any}, xKey: string, index: number, xaxisDatakeyArr: Array<any>) {\n const value: any = get(dataObj, xKey);\n if (moment(value, true).isValid() || isNaN(value)) {\n xaxisDatakeyArr.push(value);\n return index;\n }\n return value;\n }\n\n prepareDataItems(dataset: any) {\n let xaxis = this.props.xaxisdatakey;\n let yaxis = this.props.yaxisdatakey;\n let xaxisDatakeyArr: Array<any> = [];\n let datasets: any = [];\n\n if (xaxis && yaxis) {\n let yPts = yaxis.split(',');\n yPts.forEach((y: any) => {\n if (xaxis !== y) {\n datasets.push(dataset.map((o: {[key: string] : any}, xindex: number) => {\n const xVal = this.getxAxisVal(o, xaxis, xindex, xaxisDatakeyArr);\n let yVal: string | number = get(o, y);\n if (typeof yVal === 'string') {\n yVal = parseFloat(yVal) || yVal;\n }\n let dataObj = {\n x: xVal,\n y: yVal,\n };\n if (this.props.bubblesize) {\n set(dataObj, 'size', get(o, this.props.bubblesize, 5));\n }\n if (this.props.shape) {\n set(dataObj, 'symbol', shapes[this.props.shape]);\n }\n return dataObj;\n }));\n }\n });\n // chartTransform\n this.invokeEventCallback('onTransform', [undefined, this.proxy]);\n if (this.props.type == 'Pie' || this.props.type === 'Donut') {\n // for animation effect\n setTimeout(() => {\n this.updateState({\n endAngle: 360,\n } as S);\n }, 500);\n }\n this.updateData(datasets, yPts, xaxisDatakeyArr);\n }\n }\n\n\n protected renderLoadingIcon() {\n return (<WmIcon styles={this.styles.loadingIcon}\n iconclass={this.props.loadingicon}\n caption={this.props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!this.props.labeltype || this.props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(this.props.type) && (this.props.ydomain || this.props.xdomain)) {\n this.setDomainValues();\n }\n this.updateState({\n loading: false\n } as S);\n });\n }\n\n setTotal(data: Array<{x: any, y: number}>) {\n let total = 0;\n data.forEach((d: {x: any, y: any}) => {\n total += d.y as number;\n });\n this.updateState({\n total: total\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n let units = '';\n switch(name) {\n case 'customcolors':\n if (isEmpty($new)) {\n return;\n }\n if (typeof $new === 'string') {\n $new = $new.split(',');\n }\n this.updateState({\n colors: $new\n } as S);\n break;\n case 'theme':\n this.applyTheme(this.props);\n break;\n case 'dataset':\n if (!isArray($new)) {\n if (isObject($new) && !isEmpty($new)) {\n $new = [$new];\n } else {\n $new = [];\n }\n }\n $new && this.prepareDataItems($new);\n break;\n case 'xaxislabel':\n if (this.props.xunits) {\n units = ' (' + this.props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (this.props.yunits) {\n units = ' (' + this.props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Dimensions","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","trim","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","BaseChartComponentState","constructor","arguments","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","length","defaultProps","defaultState","theme","applyTheme","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","state","showlegend","top","parseInt","styles","root","height","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","getXaxis","minIndex","maxIndex","xaxisDatakeyArr","getTickValueLabel","xtickexpr","crossAxis","label","xaxislabel","xaxisdatakey","xunits","axisLabel","mergeStyle","yAxisLabel","padding","yaxislabeldistance","grid","hidegridxaxis","xGrid","axis","showxaxis","xAxis","ticks","xTicks","tickLabels","xTickLabels","fixLabelOverlap","autoadjustlabels","tickLabelComponent","angle","labelangle","tickCount","invertAxis","isRTL","tickFormat","d","i","getYAxis","showyaxis","ytickexpr","yaxislabel","yaxisdatakey","yunits","hidegridyaxis","yGrid","yAxis","yTicks","yTickLabels","dependentAxis","isAxisDomainSupported","type","isAxisDomainValid","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","x","getXMinMaxValues","getYMinMaxValues","updateState","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","chartWidth","themeName","colorsToUse","customcolors","split","map","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","index","isValid","isNaN","prepareDataItems","dataset","xaxis","yaxis","datasets","yPts","o","xindex","xVal","yVal","parseFloat","bubblesize","shape","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions } from 'react-native';\nimport moment from \"moment\";\nimport {forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim, orderBy} from \"lodash-es\";\nimport { ScatterSymbolType } from \"victory-core\";\nimport {VictoryAxis, VictoryLegend, VictoryLabel} from \"victory-native\";\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\n\n\nexport class BaseChartComponentState <T extends BaseChartComponentProps> extends BaseComponentState<T> {\n data: any = [];\n content: any = null;\n yAxis: Array<string> = [];\n xaxisDatakeyArr: Array<any> = [];\n legendData: any = [];\n theme: any;\n colors: any;\n xLabel: string = '';\n yLabel: string = '';\n total: number = 0;\n endAngle: number = 0;\n loading: boolean = true;\n chartHeight: number = 0;\n chartWidth: number = 0;\n chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: ScatterSymbolType} = {\n 'circle': 'circle',\n 'cross': 'cross',\n 'diamond': 'diamond',\n 'plus': 'plus',\n 'minus': 'minus',\n 'square': 'square',\n 'star': 'star',\n 'triangle-down': 'triangleDown',\n 'triangle-up': 'triangleUp'\n};\n\nconst SI_SYMBOL = [\"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\"];\n\nexport abstract class BaseChartComponent<T extends BaseChartComponentProps, S extends BaseChartComponentState<T>, L extends BaseChartComponentStyles> extends BaseComponent<T, S, L> {\n protected screenWidth: number = screenWidth;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n if (!props.theme) {\n this.applyTheme(props);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n abbreviateNumber(number: any) {\n if (typeof number !== 'number') {\n return number;\n }\n const tier = Math.log10(Math.abs(number)) / 3 | 0;\n\n if (tier == 0) {\n return number;\n }\n\n // get suffix and determine scale\n const suffix = SI_SYMBOL[tier];\n const scale = Math.pow(10, tier * 3);\n\n // scale the number\n var scaled = number / scale;\n\n // format number and add suffix\n return scaled.toFixed(1) + suffix;\n }\n\n getLegendView(colorScale?: any) {\n if (this.state.props.showlegend === 'hide') {\n return null;\n }\n const props = this.state.props;\n let top = props.showlegend === 'bottom' ? parseInt(this.styles.root.height as string) : 0;\n if (top) {\n top = top - (50); // remove legendHeight\n }\n const orientation = (props.showlegend === 'right' || props.showlegend === 'left') ? 'vertical' : 'horizontal';\n return <VictoryLegend\n colorScale={colorScale}\n name={'legendData'}\n orientation={orientation}\n gutter={20}\n data={this.state.legendData}\n style={{ border: { stroke: 'none' } }}\n borderPadding={{top: 30, left: 50}}\n y={top}\n />\n }\n\n getYScaleMinValue(value: number) {\n const _min = Math.floor(value);\n return Math.abs(value) - _min > 0 ? value - .1 : _min - 1;\n };\n\n // x axis with vertical lines having grid stroke colors\n getXaxis() {\n const minIndex = 0;\n const maxIndex = this.state.xaxisDatakeyArr.length - 1;\n const props = this.state.props;\n const getTickValueLabel = props.xtickexpr as any;\n return <VictoryAxis crossAxis={false} label={(props.xaxislabel || props.xaxisdatakey || \"name\") + (props.xunits ? `(${props.xunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel, {padding: props.yaxislabeldistance}),\n grid: props.hidegridxaxis ?\n { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.xGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.xAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.xTicks),\n tickLabels: this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n tickLabelComponent={<VictoryLabel angle={props.labelangle || 0} />} theme={this.state.theme}\n tickCount={this.state.xaxisDatakeyArr.length} \n invertAxis={this.isRTL}\n tickFormat= {(d, i, ticks) => {\n if (getTickValueLabel) {\n return getTickValueLabel(this.state.xaxisDatakeyArr[d], i, (ticks || []).length);\n } else if (this.state.xaxisDatakeyArr) {\n return this.state.xaxisDatakeyArr[d];\n }\n return '';\n }}\n />; \n} \n\n\n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n const props = this.state.props;\n if (props.showyaxis === false) {\n return null;\n }\n const getTickValueLabel = props.ytickexpr as any;\n return <VictoryAxis crossAxis={false} label={(props.yaxislabel || props.yaxisdatakey) + (props.yunits ? `(${props.yunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel, {padding: props.yaxislabeldistance}),\n grid: props.hidegridyaxis ? { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.yGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.yAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.yTicks),\n tickLabels: this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n theme={this.state.theme}\n tickFormat= {(d, i, ticks) => {\n if (getTickValueLabel) {\n return getTickValueLabel(d, i, (ticks || []).length);\n }\n return this.abbreviateNumber(d);\n }}\n dependentAxis />;\n }\n \n \n\n // X/Y Domain properties are supported only for Column and Area charts\n isAxisDomainSupported(type: string) {\n return type === 'Column'|| type === 'Area';\n }\n\n // Check whether X/Y Domain was set to Min and is supported for the present chart\n isAxisDomainValid(axis: string) {\n const props = this.state.props;\n if (get(props, axis + 'domain') === 'Min' && (this.isAxisDomainSupported(props.type))) {\n return true;\n }\n return false;\n };\n\n// Check whether min and max values are finite or not\n areMinMaxValuesValid(values: any) {\n if (isFinite(values.min) && isFinite(values.max)) {\n return true;\n }\n return false;\n };\n\n setDomainValues() {\n let xDomainValues, yDomainValues;\n if (this.state.data.length > 0) {\n if (this.isAxisDomainValid('x') && typeof this.state.data[0].x === 'number') {\n xDomainValues = this.getXMinMaxValues(this.state.data[0]);\n }\n if (this.isAxisDomainValid('y')) {\n yDomainValues = this.getYMinMaxValues(this.state.data);\n }\n if (xDomainValues) {\n this.updateState({\n chartMinX: yDomainValues.min.x,\n chartMaxX: yDomainValues.max.x\n } as S)\n }\n let yMin;\n if (yDomainValues) {\n if (this.areMinMaxValuesValid({max: yDomainValues.max.y, min: yDomainValues.min.y})) {\n yMin = this.getYScaleMinValue(yDomainValues.min.y);\n }\n this.updateState({\n chartMinY: yMin ? yMin : yDomainValues.min.y,\n chartMaxY: yDomainValues.max.y\n } as S);\n }\n }\n }\n\n // Getting the min and max values among all the x values\n getXMinMaxValues(datum: Array<{x: number, y: any}>) {\n if (!datum) {\n return;\n }\n const xValues: any = {};\n /*\n compute the min x valuex\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n min x: 1\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n min x: 10\n */\n xValues.min = minBy(datum, (dataObject: {x: any, y: any}) => dataObject.x) || {x: undefined};\n /*\n compute the max x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n max x: 3\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n max x: 30\n */\n xValues.max = maxBy(datum, (dataObject: {x: any, y: any}) => dataObject.x)|| {x: undefined};\n return xValues;\n }\n\n // Getting the min and max values among all the y values\n getYMinMaxValues(datum: Array<Array<{x: any, y: number}>>) {\n const yValues: any = {},\n minValues: any = [],\n maxValues: any = [];\n if (!datum) {\n return;\n }\n\n /*\n Getting the min and max y values among all the series of data\n compute the min y value\n eg: When data has objects\n input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]\n min y values : '2'(among first set) & '3'(among second set)\n max y values : '4'(among first set) & '5'(among second set)\n\n eg: When data has arrays\n input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]\n min y values : '20'(among first set) & '30'(among second set)\n max y values : '40'(among first set) & '50'(among second set)\n */\n\n forEach(datum, data => {\n if (data && !isEmpty(data)) {\n minValues.push(minBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n maxValues.push(maxBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n }\n });\n // Gets the least and highest values among all the min and max values of respective series of data\n yValues.min = minBy(minValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n yValues.max = maxBy(maxValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n return yValues;\n }\n\n setHeightWidthOnChart(cb?: () => void) {\n let height = this.styles.root.height || 250;\n let width = this.styles.root.width || screenWidth;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n if (width && typeof width === 'string') {\n width = parseInt(width);\n }\n this.updateState({\n chartHeight: height,\n chartWidth: width\n } as S, cb);\n }\n\n applyTheme(props: BaseChartComponentProps) {\n let themeName = props.theme ? props.theme : (props.type === 'Pie' ? 'Azure' : 'Terrestrial');\n let colorsToUse = [];\n if (typeof props.customcolors === 'string' && !isEmpty(props.customcolors)) {\n colorsToUse = props.customcolors.split(',').map(trim);\n }\n let themeToUse;\n if (typeof themeName === 'string') {\n if (!colorsToUse.length) {\n colorsToUse = ThemeFactory.getColorsObj(themeName);\n }\n themeToUse = ThemeFactory.getTheme(themeName, props.styles, colorsToUse);\n } else if (typeof themeName === 'object') {\n // if theme is passed as an object then use that custom theme.\n themeToUse = props.theme;\n }\n this.updateState({\n colors: colorsToUse,\n theme: themeToUse\n } as S);\n }\n\n prepareLegendData() {\n const props = this.state.props;\n if (this.state.yAxis) {\n let ldata: any;\n if (props.type === 'Stack') {\n const data = orderBy(this.state.data[0], 'y', 'asc');\n ldata = data.map((d: any) => {\n return {\n name: this.state.xaxisDatakeyArr[d.x]\n }\n });\n } else {\n ldata = this.state.yAxis.map((d: string) => {\n return {\n name: d\n }\n });\n }\n\n this.updateState({\n legendData: ldata\n } as S);\n }\n }\n\n prepareEvents(name: string) {\n return this.state.legendData.map((_: any, idx: number) => {\n return {\n childName: ['legend'],\n target: 'data',\n eventKey: String(idx),\n eventHandlers: {\n onClick: () => {\n return [\n {\n childName: [name + '_' + idx],\n target: 'data',\n eventKey: 'all',\n mutation: (props: any) => {\n return null;\n }\n }\n ];\n },\n onMouseOver: () => {\n },\n onMouseOut: () => {\n }\n }\n };\n });\n }\n\n // If date string is bound to xaxis then we are pushing the x values as indexes.\n getxAxisVal(dataObj: {[key: string] : any}, xKey: string, index: number, xaxisDatakeyArr: Array<any>) {\n const value: any = get(dataObj, xKey);\n if (moment(value, true).isValid() || isNaN(value)) {\n xaxisDatakeyArr.push(value);\n return index;\n }\n return value;\n }\n\n prepareDataItems(dataset: any) {\n const props = this.state.props;\n let xaxis = props.xaxisdatakey;\n let yaxis = props.yaxisdatakey;\n let xaxisDatakeyArr: Array<any> = [];\n let datasets: any = [];\n\n if (xaxis && yaxis) {\n let yPts = yaxis.split(',');\n yPts.forEach((y: any) => {\n if (xaxis !== y) {\n datasets.push(dataset.map((o: {[key: string] : any}, xindex: number) => {\n const xVal = this.getxAxisVal(o, xaxis, xindex, xaxisDatakeyArr);\n let yVal: string | number = get(o, y);\n if (typeof yVal === 'string') {\n yVal = parseFloat(yVal) || yVal;\n }\n let dataObj = {\n x: xVal,\n y: yVal,\n };\n if (props.bubblesize) {\n set(dataObj, 'size', get(o, props.bubblesize, 5));\n }\n if (props.shape) {\n set(dataObj, 'symbol', shapes[props.shape]);\n }\n return dataObj;\n }));\n }\n });\n // chartTransform\n this.invokeEventCallback('onTransform', [undefined, this.proxy]);\n if (props.type == 'Pie' || props.type === 'Donut') {\n // for animation effect\n setTimeout(() => {\n this.updateState({\n endAngle: 360,\n } as S);\n }, 500);\n }\n this.updateData(datasets, yPts, xaxisDatakeyArr);\n }\n }\n\n\n protected renderLoadingIcon() {\n const props = this.state.props;\n return (<WmIcon styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n const props = this.state.props;\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!props.labeltype || props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(props.type) && (props.ydomain || props.xdomain)) {\n this.setDomainValues();\n }\n this.updateState({\n loading: false\n } as S);\n });\n }\n\n setTotal(data: Array<{x: any, y: number}>) {\n let total = 0;\n data.forEach((d: {x: any, y: any}) => {\n total += d.y as number;\n });\n this.updateState({\n total: total\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n let units = '';\n switch(name) {\n case 'customcolors':\n if (isEmpty($new)) {\n return;\n }\n if (typeof $new === 'string') {\n $new = $new.split(',');\n }\n this.updateState({\n colors: $new\n } as S);\n break;\n case 'theme':\n this.applyTheme(props);\n break;\n case 'dataset':\n if (!isArray($new)) {\n if (isObject($new) && !isEmpty($new)) {\n $new = [$new];\n } else {\n $new = [];\n }\n }\n $new && this.prepareDataItems($new);\n break;\n case 'xaxislabel':\n if (props.xunits) {\n units = ' (' + props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (props.yunits) {\n units = ' (' + props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAAQC,OAAO,EAAEC,GAAG,EAAEC,OAAO,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,GAAG,EAAEC,IAAI,EAAEC,OAAO,QAAO,WAAW;AAEpG,SAAQC,WAAW,EAAEC,aAAa,EAAEC,YAAY,QAAO,gBAAgB;AAEvE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AACnF,OAAOC,YAAY,MAAO,8DAA8D;AAGxF,SAASC,aAAa,QAAiC,oBAAoB;AAI3E,OAAO,MAAMC,uBAAuB,SAA6CJ,kBAAkB,CAAI;EAAAK,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,eACzF,EAAE;IAAAA,eAAA,kBACC,IAAI;IAAAA,eAAA,gBACI,EAAE;IAAAA,eAAA,0BACK,EAAE;IAAAA,eAAA,qBACd,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,iBAGH,EAAE;IAAAA,eAAA,iBACF,EAAE;IAAAA,eAAA,gBACH,CAAC;IAAAA,eAAA,mBACE,CAAC;IAAAA,eAAA,kBACD,IAAI;IAAAA,eAAA,sBACD,CAAC;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA,oBACUC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,oBACTC,SAAS;EAAA;AAC3C;AAEA,MAAMC,WAAW,GAAGzB,UAAU,CAACG,GAAG,CAAC,QAAQ,CAAC,CAACuB,KAAK;AAElD,MAAMC,MAA0C,GAAG;EACjD,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,SAAS;EACpB,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,OAAO;EAChB,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,MAAM;EACd,eAAe,EAAE,cAAc;EAC/B,aAAa,EAAE;AACjB,CAAC;AAED,MAAMC,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAEpD,OAAO,MAAeC,kBAAkB,SAAsHd,aAAa,CAAU;EAEnLM,WAAWA,CAACS,KAAQ,EAAmF;IAAA,IAA1EC,YAAoB,GAAAT,SAAA,CAAAU,MAAA,QAAAV,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,aAAa;IAAA,IAAEc,YAAgB,GAAAX,SAAA,CAAAU,MAAA,OAAAV,SAAA,MAAAE,SAAA;IAAA,IAAEU,YAAgB,GAAAZ,SAAA,CAAAU,MAAA,OAAAV,SAAA,MAAAE,SAAA;IACnG,KAAK,CAACM,KAAK,EAAEC,YAAY,EAAEE,YAAY,EAAEC,YAAY,CAAC;IAAC,KAD5BH,YAAoB,GAApBA,YAAoB;IAAAR,eAAA,sBADjBE,WAAW;IAGzC,IAAI,CAACK,KAAK,CAACK,KAAK,EAAE;MAChB,IAAI,CAACC,UAAU,CAACN,KAAK,CAAC;IACxB;EACF;EAEAO,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;EAC3B;EAEAC,gBAAgBA,CAACC,MAAW,EAAE;IAC5B,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MAC9B,OAAOA,MAAM;IACf;IACA,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAACJ,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAEjD,IAAIC,IAAI,IAAI,CAAC,EAAE;MACb,OAAOD,MAAM;IACf;;IAEA;IACA,MAAMK,MAAM,GAAGhB,SAAS,CAACY,IAAI,CAAC;IAC9B,MAAMK,KAAK,GAAGJ,IAAI,CAACK,GAAG,CAAC,EAAE,EAAEN,IAAI,GAAG,CAAC,CAAC;;IAEpC;IACA,IAAIO,MAAM,GAAGR,MAAM,GAAGM,KAAK;;IAE3B;IACA,OAAOE,MAAM,CAACC,OAAO,CAAC,CAAC,CAAC,GAAGJ,MAAM;EACnC;EAEAK,aAAaA,CAACC,UAAgB,EAAE;IAC9B,IAAI,IAAI,CAACC,KAAK,CAACrB,KAAK,CAACsB,UAAU,KAAK,MAAM,EAAE;MAC1C,OAAO,IAAI;IACb;IACA,MAAMtB,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAIuB,GAAG,GAAGvB,KAAK,CAACsB,UAAU,KAAK,QAAQ,GAAGE,QAAQ,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,CAACC,MAAgB,CAAC,GAAG,CAAC;IACzF,IAAIJ,GAAG,EAAE;MACPA,GAAG,GAAGA,GAAG,GAAI,EAAG,CAAC,CAAC;IACpB;;IACA,MAAMK,WAAW,GAAI5B,KAAK,CAACsB,UAAU,KAAK,OAAO,IAAItB,KAAK,CAACsB,UAAU,KAAK,MAAM,GAAI,UAAU,GAAG,YAAY;IAC7G,oBAAOrD,KAAA,CAAA4D,aAAA,CAAC9C,aAAa;MACnBqC,UAAU,EAAEA,UAAW;MACvBU,IAAI,EAAE,YAAa;MACnBF,WAAW,EAAEA,WAAY;MACzBG,MAAM,EAAE,EAAG;MACXC,IAAI,EAAE,IAAI,CAACX,KAAK,CAACY,UAAW;MAC5BC,KAAK,EAAE;QAAEC,MAAM,EAAE;UAAEC,MAAM,EAAE;QAAO;MAAE,CAAE;MACtCC,aAAa,EAAE;QAACd,GAAG,EAAE,EAAE;QAAEe,IAAI,EAAE;MAAE,CAAE;MACnCC,CAAC,EAAEhB;IAAI,CACR,CAAC;EACJ;EAEAiB,iBAAiBA,CAACC,KAAa,EAAE;IAC/B,MAAMC,IAAI,GAAG/B,IAAI,CAACgC,KAAK,CAACF,KAAK,CAAC;IAC9B,OAAO9B,IAAI,CAACE,GAAG,CAAC4B,KAAK,CAAC,GAAGC,IAAI,GAAG,CAAC,GAAGD,KAAK,GAAG,EAAE,GAAGC,IAAI,GAAG,CAAC;EAC3D;EAEA;EACAE,QAAQA,CAAA,EAAG;IACT,MAAMC,QAAQ,GAAG,CAAC;IAClB,MAAMC,QAAQ,GAAG,IAAI,CAACzB,KAAK,CAAC0B,eAAe,CAAC7C,MAAM,GAAG,CAAC;IACtD,MAAMF,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,MAAMgD,iBAAiB,GAAGhD,KAAK,CAACiD,SAAgB;IAChD,oBAAOhF,KAAA,CAAA4D,aAAA,CAAC/C,WAAW;MAACoE,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAACnD,KAAK,CAACoD,UAAU,IAAIpD,KAAK,CAACqD,YAAY,IAAI,MAAM,KAAKrD,KAAK,CAACsD,MAAM,GAAI,IAAGtD,KAAK,CAACsD,MAAO,GAAE,GAAG,EAAE,CAAE;MACxHpB,KAAK,EAAE;QACLqB,SAAS,EAAE,IAAI,CAAClD,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAAC8B,SAAS,EAAE,IAAI,CAAC9B,MAAM,CAACgC,UAAU,EAAE;UAACC,OAAO,EAAE1D,KAAK,CAAC2D;QAAkB,CAAC,CAAC;QACpHC,IAAI,EAAE5D,KAAK,CAAC6D,aAAa,GACrB;UAAEzB,MAAM,EAAE;QAAK,CAAC,GAAI,IAAI,CAAC/B,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACmC,IAAI,EAAE,IAAI,CAACnC,MAAM,CAACqC,KAAK,CAAC;QAClFC,IAAI,EAAE/D,KAAK,CAACgE,SAAS,KAAK,KAAK,GAC3B;UAAE5B,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAC/B,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACsC,IAAI,EAAE,IAAI,CAACtC,MAAM,CAACwC,KAAK,CAAC;QACpFC,KAAK,EAAE,IAAI,CAAC7D,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACyC,KAAK,EAAE,IAAI,CAACzC,MAAM,CAAC0C,MAAM,CAAC;QACnEC,UAAU,EAAE,IAAI,CAAC/D,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAAC2C,UAAU,EAAE,IAAI,CAAC3C,MAAM,CAAC4C,WAAW;MACnF,CAAE;MACFC,eAAe,EAAGtE,KAAK,CAACuE,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDC,kBAAkB,eAAEvG,KAAA,CAAA4D,aAAA,CAAC7C,YAAY;QAACyF,KAAK,EAAEzE,KAAK,CAAC0E,UAAU,IAAI;MAAE,CAAE,CAAE;MAACrE,KAAK,EAAE,IAAI,CAACgB,KAAK,CAAChB,KAAM;MAC5FsE,SAAS,EAAE,IAAI,CAACtD,KAAK,CAAC0B,eAAe,CAAC7C,MAAO;MAC7C0E,UAAU,EAAE,IAAI,CAACC,KAAM;MACvBC,UAAU,EAAGA,CAACC,CAAC,EAAEC,CAAC,EAAEd,KAAK,KAAK;QAC5B,IAAIlB,iBAAiB,EAAE;UACnB,OAAOA,iBAAiB,CAAC,IAAI,CAAC3B,KAAK,CAAC0B,eAAe,CAACgC,CAAC,CAAC,EAAEC,CAAC,EAAE,CAACd,KAAK,IAAI,EAAE,EAAEhE,MAAM,CAAC;QACpF,CAAC,MAAM,IAAI,IAAI,CAACmB,KAAK,CAAC0B,eAAe,EAAE;UACrC,OAAO,IAAI,CAAC1B,KAAK,CAAC0B,eAAe,CAACgC,CAAC,CAAC;QACtC;QACA,OAAO,EAAE;MACX;IAAE,CACD,CAAC;EAC1B;;EAGE;EACAE,QAAQA,CAAA,EAAG;IACT,MAAMjF,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAIA,KAAK,CAACkF,SAAS,KAAK,KAAK,EAAE;MAC7B,OAAO,IAAI;IACb;IACA,MAAMlC,iBAAiB,GAAGhD,KAAK,CAACmF,SAAgB;IAChD,oBAAOlH,KAAA,CAAA4D,aAAA,CAAC/C,WAAW;MAACoE,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAACnD,KAAK,CAACoF,UAAU,IAAIpF,KAAK,CAACqF,YAAY,KAAKrF,KAAK,CAACsF,MAAM,GAAI,IAAGtF,KAAK,CAACsF,MAAO,GAAE,GAAG,EAAE,CAAE;MAC9GpD,KAAK,EAAE;QACLqB,SAAS,EAAE,IAAI,CAAClD,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAAC8B,SAAS,EAAE,IAAI,CAAC9B,MAAM,CAACgC,UAAU,EAAE;UAACC,OAAO,EAAE1D,KAAK,CAAC2D;QAAkB,CAAC,CAAC;QACpHC,IAAI,EAAE5D,KAAK,CAACuF,aAAa,GAAG;UAAEnD,MAAM,EAAE;QAAK,CAAC,GAAG,IAAI,CAAC/B,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACmC,IAAI,EAAE,IAAI,CAACnC,MAAM,CAAC+D,KAAK,CAAC;QACzGzB,IAAI,EAAE/D,KAAK,CAACgE,SAAS,KAAK,KAAK,GAC/B;UAAE5B,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAC/B,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACsC,IAAI,EAAE,IAAI,CAACtC,MAAM,CAACgE,KAAK,CAAC;QAChFvB,KAAK,EAAE,IAAI,CAAC7D,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACyC,KAAK,EAAE,IAAI,CAACzC,MAAM,CAACiE,MAAM,CAAC;QACnEtB,UAAU,EAAE,IAAI,CAAC/D,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAAC2C,UAAU,EAAE,IAAI,CAAC3C,MAAM,CAACkE,WAAW;MACnF,CAAE;MACFrB,eAAe,EAAGtE,KAAK,CAACuE,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDlE,KAAK,EAAE,IAAI,CAACgB,KAAK,CAAChB,KAAM;MACxByE,UAAU,EAAGA,CAACC,CAAC,EAAEC,CAAC,EAAEd,KAAK,KAAK;QAC5B,IAAIlB,iBAAiB,EAAE;UACrB,OAAOA,iBAAiB,CAAC+B,CAAC,EAAEC,CAAC,EAAE,CAACd,KAAK,IAAI,EAAE,EAAEhE,MAAM,CAAC;QACtD;QACA,OAAO,IAAI,CAACM,gBAAgB,CAACuE,CAAC,CAAC;MACjC,CAAE;MACFa,aAAa;IAAA,CAAE,CAAC;EACtC;;EAIA;EACAC,qBAAqBA,CAACC,IAAY,EAAE;IAClC,OAAOA,IAAI,KAAK,QAAQ,IAAGA,IAAI,KAAK,MAAM;EAC5C;;EAEA;EACAC,iBAAiBA,CAAChC,IAAY,EAAE;IAC9B,MAAM/D,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI3B,GAAG,CAAC2B,KAAK,EAAE+D,IAAI,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAK,IAAI,CAAC8B,qBAAqB,CAAC7F,KAAK,CAAC8F,IAAI,CAAE,EAAE;MACrF,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEF;EACEE,oBAAoBA,CAACC,MAAW,EAAE;IAChC,IAAIC,QAAQ,CAACD,MAAM,CAACE,GAAG,CAAC,IAAID,QAAQ,CAACD,MAAM,CAACG,GAAG,CAAC,EAAE;MAChD,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEAC,eAAeA,CAAA,EAAG;IAChB,IAAIC,aAAa,EAAEC,aAAa;IAChC,IAAI,IAAI,CAAClF,KAAK,CAACW,IAAI,CAAC9B,MAAM,GAAG,CAAC,EAAE;MAC9B,IAAI,IAAI,CAAC6F,iBAAiB,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC1E,KAAK,CAACW,IAAI,CAAC,CAAC,CAAC,CAACwE,CAAC,KAAK,QAAQ,EAAE;QAC3EF,aAAa,GAAG,IAAI,CAACG,gBAAgB,CAAC,IAAI,CAACpF,KAAK,CAACW,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3D;MACA,IAAI,IAAI,CAAC+D,iBAAiB,CAAC,GAAG,CAAC,EAAE;QAC/BQ,aAAa,GAAG,IAAI,CAACG,gBAAgB,CAAC,IAAI,CAACrF,KAAK,CAACW,IAAI,CAAC;MACxD;MACA,IAAIsE,aAAa,EAAE;QACjB,IAAI,CAACK,WAAW,CAAC;UACfC,SAAS,EAAEL,aAAa,CAACJ,GAAG,CAACK,CAAC;UAC9BK,SAAS,EAAEN,aAAa,CAACH,GAAG,CAACI;QAC/B,CAAM,CAAC;MACT;MACA,IAAIM,IAAI;MACR,IAAIP,aAAa,EAAE;QACjB,IAAI,IAAI,CAACP,oBAAoB,CAAC;UAACI,GAAG,EAAEG,aAAa,CAACH,GAAG,CAAC7D,CAAC;UAAE4D,GAAG,EAAEI,aAAa,CAACJ,GAAG,CAAC5D;QAAC,CAAC,CAAC,EAAE;UACnFuE,IAAI,GAAG,IAAI,CAACtE,iBAAiB,CAAC+D,aAAa,CAACJ,GAAG,CAAC5D,CAAC,CAAC;QACpD;QACA,IAAI,CAACoE,WAAW,CAAC;UACfI,SAAS,EAAED,IAAI,GAAGA,IAAI,GAAGP,aAAa,CAACJ,GAAG,CAAC5D,CAAC;UAC5CyE,SAAS,EAAET,aAAa,CAACH,GAAG,CAAC7D;QAC/B,CAAM,CAAC;MACT;IACF;EACF;;EAEA;EACAkE,gBAAgBA,CAACQ,KAAiC,EAAE;IAClD,IAAI,CAACA,KAAK,EAAE;MACV;IACF;IACA,MAAMC,OAAY,GAAG,CAAC,CAAC;IACvB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIA,OAAO,CAACf,GAAG,GAAGzH,KAAK,CAACuI,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAACX,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE9G;IAAS,CAAC;IAC5F;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIwH,OAAO,CAACd,GAAG,GAAG3H,KAAK,CAACwI,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAACX,CAAC,CAAC,IAAG;MAACA,CAAC,EAAE9G;IAAS,CAAC;IAC3F,OAAOwH,OAAO;EAChB;;EAEA;EACAR,gBAAgBA,CAACO,KAAwC,EAAE;IACzD,MAAMG,OAAY,GAAG,CAAC,CAAC;MACrBC,SAAc,GAAG,EAAE;MACnBC,SAAc,GAAG,EAAE;IACrB,IAAI,CAACL,KAAK,EAAE;MACV;IACF;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAGI7I,OAAO,CAAC6I,KAAK,EAAEjF,IAAI,IAAI;MACrB,IAAIA,IAAI,IAAI,CAACzD,OAAO,CAACyD,IAAI,CAAC,EAAE;QAC1BqF,SAAS,CAACE,IAAI,CAAC7I,KAAK,CAACsD,IAAI,EAAImF,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC5E,CAAC;QAAC,CAAC,CAAC,CAAC;QACvF+E,SAAS,CAACC,IAAI,CAAC9I,KAAK,CAACuD,IAAI,EAAImF,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC5E,CAAC;QAAC,CAAC,CAAC,CAAC;MACzF;IACF,CAAC,CAAC;IACF;IACA6E,OAAO,CAACjB,GAAG,GAAGzH,KAAK,CAAC2I,SAAS,EAAGF,UAA4B,IAAKA,UAAU,CAAC5E,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE7C;IAAS,CAAC;IAChG0H,OAAO,CAAChB,GAAG,GAAG3H,KAAK,CAAC6I,SAAS,EAAGH,UAA4B,IAAKA,UAAU,CAAC5E,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE7C;IAAS,CAAC;IAChG,OAAO0H,OAAO;EAChB;EAEAI,qBAAqBA,CAACC,EAAe,EAAE;IACrC,IAAI9F,MAAM,GAAG,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC,MAAM,IAAI,GAAG;IAC3C,IAAI/B,KAAK,GAAG,IAAI,CAAC6B,MAAM,CAACC,IAAI,CAAC9B,KAAK,IAAID,WAAW;IACjD,IAAIgC,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MACxCA,MAAM,GAAGH,QAAQ,CAACG,MAAM,CAAC;IAC3B;IACA,IAAI/B,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCA,KAAK,GAAG4B,QAAQ,CAAC5B,KAAK,CAAC;IACzB;IACA,IAAI,CAAC+G,WAAW,CAAC;MACfe,WAAW,EAAE/F,MAAM;MACnBgG,UAAU,EAAE/H;IACd,CAAC,EAAO6H,EAAE,CAAC;EACb;EAEAnH,UAAUA,CAACN,KAA8B,EAAE;IACzC,IAAI4H,SAAS,GAAG5H,KAAK,CAACK,KAAK,GAAGL,KAAK,CAACK,KAAK,GAAIL,KAAK,CAAC8F,IAAI,KAAK,KAAK,GAAG,OAAO,GAAG,aAAc;IAC5F,IAAI+B,WAAW,GAAG,EAAE;IACpB,IAAI,OAAO7H,KAAK,CAAC8H,YAAY,KAAK,QAAQ,IAAI,CAACvJ,OAAO,CAACyB,KAAK,CAAC8H,YAAY,CAAC,EAAE;MAC1ED,WAAW,GAAG7H,KAAK,CAAC8H,YAAY,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACpJ,IAAI,CAAC;IACvD;IACA,IAAIqJ,UAAU;IACd,IAAI,OAAOL,SAAS,KAAK,QAAQ,EAAE;MACjC,IAAI,CAACC,WAAW,CAAC3H,MAAM,EAAE;QACvB2H,WAAW,GAAGzI,YAAY,CAAC8I,YAAY,CAACN,SAAS,CAAC;MACpD;MACAK,UAAU,GAAG7I,YAAY,CAAC+I,QAAQ,CAACP,SAAS,EAAE5H,KAAK,CAACyB,MAAM,EAAEoG,WAAW,CAAC;IAC1E,CAAC,MAAM,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;MACxC;MACAK,UAAU,GAAGjI,KAAK,CAACK,KAAK;IAC1B;IACA,IAAI,CAACsG,WAAW,CAAC;MACfyB,MAAM,EAAEP,WAAW;MACnBxH,KAAK,EAAE4H;IACT,CAAM,CAAC;EACT;EAEAI,iBAAiBA,CAAA,EAAG;IAClB,MAAMrI,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI,IAAI,CAACqB,KAAK,CAACoE,KAAK,EAAE;MACpB,IAAI6C,KAAU;MACd,IAAItI,KAAK,CAAC8F,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM9D,IAAI,GAAGnD,OAAO,CAAC,IAAI,CAACwC,KAAK,CAACW,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;QACpDsG,KAAK,GAAGtG,IAAI,CAACgG,GAAG,CAAEjD,CAAM,IAAK;UAC3B,OAAO;YACLjD,IAAI,EAAE,IAAI,CAACT,KAAK,CAAC0B,eAAe,CAACgC,CAAC,CAACyB,CAAC;UACtC,CAAC;QACH,CAAC,CAAC;MACJ,CAAC,MAAM;QACL8B,KAAK,GAAG,IAAI,CAACjH,KAAK,CAACoE,KAAK,CAACuC,GAAG,CAAEjD,CAAS,IAAK;UAC1C,OAAO;YACLjD,IAAI,EAAEiD;UACR,CAAC;QACH,CAAC,CAAC;MACJ;MAEA,IAAI,CAAC4B,WAAW,CAAC;QACf1E,UAAU,EAAEqG;MACd,CAAM,CAAC;IACT;EACF;EAEAC,aAAaA,CAACzG,IAAY,EAAE;IAC1B,OAAO,IAAI,CAACT,KAAK,CAACY,UAAU,CAAC+F,GAAG,CAAC,CAACQ,CAAM,EAAEC,GAAW,KAAK;MACxD,OAAO;QACLC,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrBC,MAAM,EAAE,MAAM;QACdC,QAAQ,EAAEC,MAAM,CAACJ,GAAG,CAAC;QACrBK,aAAa,EAAE;UACbC,OAAO,EAAEA,CAAA,KAAM;YACb,OAAO,CACL;cACEL,SAAS,EAAE,CAAC5G,IAAI,GAAG,GAAG,GAAG2G,GAAG,CAAC;cAC7BE,MAAM,EAAE,MAAM;cACdC,QAAQ,EAAE,KAAK;cACfI,QAAQ,EAAGhJ,KAAU,IAAK;gBACxB,OAAO,IAAI;cACb;YACF,CAAC,CACF;UACH,CAAC;UACDiJ,WAAW,EAAEA,CAAA,KAAM,CACnB,CAAC;UACDC,UAAU,EAAEA,CAAA,KAAM,CAClB;QACF;MACF,CAAC;IACH,CAAC,CAAC;EACJ;;EAEA;EACAC,WAAWA,CAACC,OAA8B,EAAEC,IAAY,EAAEC,KAAa,EAAEvG,eAA2B,EAAE;IACpG,MAAMN,KAAU,GAAGpE,GAAG,CAAC+K,OAAO,EAAEC,IAAI,CAAC;IACrC,IAAIlL,MAAM,CAACsE,KAAK,EAAE,IAAI,CAAC,CAAC8G,OAAO,CAAC,CAAC,IAAIC,KAAK,CAAC/G,KAAK,CAAC,EAAE;MACjDM,eAAe,CAACwE,IAAI,CAAC9E,KAAK,CAAC;MAC3B,OAAO6G,KAAK;IACd;IACA,OAAO7G,KAAK;EACd;EAEAgH,gBAAgBA,CAACC,OAAY,EAAE;IAC7B,MAAM1J,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI2J,KAAK,GAAG3J,KAAK,CAACqD,YAAY;IAC9B,IAAIuG,KAAK,GAAG5J,KAAK,CAACqF,YAAY;IAC9B,IAAItC,eAA2B,GAAG,EAAE;IACpC,IAAI8G,QAAa,GAAG,EAAE;IAEtB,IAAIF,KAAK,IAAIC,KAAK,EAAE;MAClB,IAAIE,IAAI,GAAGF,KAAK,CAAC7B,KAAK,CAAC,GAAG,CAAC;MAC3B+B,IAAI,CAAC1L,OAAO,CAAEmE,CAAM,IAAK;QACvB,IAAIoH,KAAK,KAAKpH,CAAC,EAAE;UACfsH,QAAQ,CAACtC,IAAI,CAACmC,OAAO,CAAC1B,GAAG,CAAC,CAAC+B,CAAwB,EAAEC,MAAc,KAAK;YACtE,MAAMC,IAAI,GAAG,IAAI,CAACd,WAAW,CAACY,CAAC,EAAEJ,KAAK,EAAEK,MAAM,EAAEjH,eAAe,CAAC;YAChE,IAAImH,IAAqB,GAAG7L,GAAG,CAAC0L,CAAC,EAAExH,CAAC,CAAC;YACrC,IAAI,OAAO2H,IAAI,KAAK,QAAQ,EAAE;cAC5BA,IAAI,GAAGC,UAAU,CAACD,IAAI,CAAC,IAAIA,IAAI;YACjC;YACA,IAAId,OAAO,GAAG;cACZ5C,CAAC,EAAEyD,IAAI;cACP1H,CAAC,EAAE2H;YACL,CAAC;YACD,IAAIlK,KAAK,CAACoK,UAAU,EAAE;cACpBzL,GAAG,CAACyK,OAAO,EAAE,MAAM,EAAE/K,GAAG,CAAC0L,CAAC,EAAE/J,KAAK,CAACoK,UAAU,EAAE,CAAC,CAAC,CAAC;YACnD;YACA,IAAIpK,KAAK,CAACqK,KAAK,EAAE;cACf1L,GAAG,CAACyK,OAAO,EAAE,QAAQ,EAAEvJ,MAAM,CAACG,KAAK,CAACqK,KAAK,CAAC,CAAC;YAC7C;YACA,OAAOjB,OAAO;UAChB,CAAC,CAAC,CAAC;QACL;MACF,CAAC,CAAC;MACF;MACA,IAAI,CAACkB,mBAAmB,CAAC,aAAa,EAAE,CAAC5K,SAAS,EAAE,IAAI,CAAC6K,KAAK,CAAC,CAAC;MAChE,IAAIvK,KAAK,CAAC8F,IAAI,IAAI,KAAK,IAAI9F,KAAK,CAAC8F,IAAI,KAAK,OAAO,EAAE;QACjD;QACA0E,UAAU,CAAC,MAAM;UACf,IAAI,CAAC7D,WAAW,CAAC;YACf8D,QAAQ,EAAE;UACZ,CAAM,CAAC;QACT,CAAC,EAAE,GAAG,CAAC;MACT;MACA,IAAI,CAACC,UAAU,CAACb,QAAQ,EAAEC,IAAI,EAAE/G,eAAe,CAAC;IAClD;EACF;EAGU4H,iBAAiBA,CAAA,EAAG;IAC5B,MAAM3K,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,oBAAQ/B,KAAA,CAAA4D,aAAA,CAAC1C,MAAM;MAACsC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACmJ,WAAY;MAChDC,SAAS,EAAE7K,KAAK,CAAC8K,WAAY;MAC7BC,OAAO,EAAE/K,KAAK,CAACgL;IAAe,CAAS,CAAC;EAC1C;EAEAN,UAAUA,CAACb,QAAa,EAAEC,IAAS,EAAE/G,eAA2B,EAAE;IAChE,MAAM/C,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI,CAAC2G,WAAW,CAAC;MACf3E,IAAI,EAAE6H,QAAe;MACrBpE,KAAK,EAAEqE,IAAI;MACX/G,eAAe,EAAEA;IACnB,CAAC,EAAO,MAAM;MACZ,IAAI,CAACsF,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACrI,KAAK,CAACiL,SAAS,IAAIjL,KAAK,CAACiL,SAAS,KAAK,SAAS,EAAE;QACrD,IAAI,CAACC,QAAQ,CAAC,IAAI,CAAC7J,KAAK,CAACW,IAAI,CAAC,CAAC,CAAC,CAAC;MACnC;MACA,IAAI,IAAI,CAAC6D,qBAAqB,CAAC7F,KAAK,CAAC8F,IAAI,CAAC,KAAK9F,KAAK,CAACmL,OAAO,IAAInL,KAAK,CAACoL,OAAO,CAAC,EAAE;QAC9E,IAAI,CAAC/E,eAAe,CAAC,CAAC;MACxB;MACA,IAAI,CAACM,WAAW,CAAC;QACf0E,OAAO,EAAE;MACX,CAAM,CAAC;IACT,CAAC,CAAC;EACJ;EAEAH,QAAQA,CAAClJ,IAAgC,EAAE;IACzC,IAAIsJ,KAAK,GAAG,CAAC;IACbtJ,IAAI,CAAC5D,OAAO,CAAE2G,CAAmB,IAAK;MACpCuG,KAAK,IAAIvG,CAAC,CAACxC,CAAW;IACxB,CAAC,CAAC;IACF,IAAI,CAACoE,WAAW,CAAC;MACf2E,KAAK,EAAEA;IACT,CAAM,CAAC;EACT;EAEAC,gBAAgBA,CAACzJ,IAAY,EAAE0J,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACF,gBAAgB,CAACzJ,IAAI,EAAE0J,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMzL,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI0L,KAAK,GAAG,EAAE;IACd,QAAO5J,IAAI;MACT,KAAK,cAAc;QACjB,IAAIvD,OAAO,CAACiN,IAAI,CAAC,EAAE;UACjB;QACF;QACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;UAC5BA,IAAI,GAAGA,IAAI,CAACzD,KAAK,CAAC,GAAG,CAAC;QACxB;QACA,IAAI,CAACpB,WAAW,CAAC;UACfyB,MAAM,EAAEoD;QACV,CAAM,CAAC;QACP;MACF,KAAK,OAAO;QACV,IAAI,CAAClL,UAAU,CAACN,KAAK,CAAC;QACtB;MACF,KAAK,SAAS;QACZ,IAAI,CAAC1B,OAAO,CAACkN,IAAI,CAAC,EAAE;UAClB,IAAIhN,QAAQ,CAACgN,IAAI,CAAC,IAAI,CAACjN,OAAO,CAACiN,IAAI,CAAC,EAAE;YACpCA,IAAI,GAAG,CAACA,IAAI,CAAC;UACf,CAAC,MAAM;YACLA,IAAI,GAAG,EAAE;UACX;QACF;QACAA,IAAI,IAAI,IAAI,CAAC/B,gBAAgB,CAAC+B,IAAI,CAAC;QACnC;MACF,KAAK,YAAY;QACf,IAAIxL,KAAK,CAACsD,MAAM,EAAE;UAChBoI,KAAK,GAAG,IAAI,GAAG1L,KAAK,CAACsD,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACqD,WAAW,CAAC;UACfgF,MAAM,EAAEH,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;MACF,KAAK,YAAY;QACf,IAAI1L,KAAK,CAACsF,MAAM,EAAE;UAChBoG,KAAK,GAAG,IAAI,GAAG1L,KAAK,CAACsF,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACqB,WAAW,CAAC;UACfiF,MAAM,EAAEJ,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;IACJ;EACF;AACF"}
@@ -18,7 +18,7 @@ export default class BaseChartComponentProps extends BaseProps {
18
18
  _defineProperty(this, "staggerlabels", false);
19
19
  _defineProperty(this, "yaxislabel", '');
20
20
  _defineProperty(this, "yunits", '');
21
- _defineProperty(this, "yaxislabeldistance", 50);
21
+ _defineProperty(this, "yaxislabeldistance", 60);
22
22
  _defineProperty(this, "xaxislabeldistance", 30);
23
23
  _defineProperty(this, "customcolors", '');
24
24
  _defineProperty(this, "legendheight", 0);
@@ -41,9 +41,14 @@ export default class BaseChartComponentProps extends BaseProps {
41
41
  _defineProperty(this, "showvalues", false);
42
42
  _defineProperty(this, "showyaxis", true);
43
43
  _defineProperty(this, "showxaxis", true);
44
- _defineProperty(this, "ydomain", '');
45
- _defineProperty(this, "xdomain", '');
44
+ _defineProperty(this, "ydomain", 'Min');
45
+ _defineProperty(this, "xdomain", 'Min');
46
46
  _defineProperty(this, "labelangle", 0);
47
+ _defineProperty(this, "xtickexpr", void 0);
48
+ _defineProperty(this, "ytickexpr", void 0);
49
+ _defineProperty(this, "hidegridxaxis", false);
50
+ _defineProperty(this, "hidegridyaxis", false);
51
+ _defineProperty(this, "autoadjustlabels", false);
47
52
  }
48
53
  }
49
54
  //# sourceMappingURL=basechart.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","BaseChartComponentProps","constructor","arguments","_defineProperty"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseChartComponentProps extends BaseProps {\n xaxisdatakey: string = '';\n yaxisdatakey: string = '';\n iconclass = '';\n dataset: any;\n type: string = '';\n title: string = '';\n subheading: string = '';\n theme: string = '';\n xaxislabel: string = '';\n xunits: string = '';\n staggerlabels: boolean = false;\n yaxislabel: string = '';\n yunits: string = '';\n yaxislabeldistance: number = 50;\n xaxislabeldistance: number = 30;\n customcolors: string | Array<string> = '';\n legendheight: number = 0;\n labellegendheight: number = 0;\n labeltype: 'percent' | 'value' | 'key-value' | 'key' = 'percent';\n bubblesize: string= '';\n shape: string = '';\n loadingicon='fa fa-circle-o-notch fa-pulse';\n loadingdatamsg = 'Loading...';\n nodatamessage = 'No data found';\n offsetbottom: number = 50;\n offsettop: number = 70;\n offsetleft: number = 65;\n offsetright: number = 25;\n showlegend: string = 'top';\n showlabels: 'inside' | 'outside' | 'hide' = 'outside';\n tooltips: boolean = false;\n interpolation: string = 'linear';\n highlightpoints: boolean = false;\n showvalues: boolean = false;\n showyaxis: boolean = true;\n showxaxis: boolean = true;\n ydomain: string = '';\n xdomain: string = '';\n labelangle: number = 0;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,uBAAuB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,uBACtC,EAAE;IAAAA,eAAA,uBACF,EAAE;IAAAA,eAAA,oBACb,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEC,EAAE;IAAAA,eAAA,gBACD,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,gBACP,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,wBACM,KAAK;IAAAA,eAAA,qBACT,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,6BACU,EAAE;IAAAA,eAAA,6BACF,EAAE;IAAAA,eAAA,uBACQ,EAAE;IAAAA,eAAA,uBAClB,CAAC;IAAAA,eAAA,4BACI,CAAC;IAAAA,eAAA,oBAC0B,SAAS;IAAAA,eAAA,qBAC5C,EAAE;IAAAA,eAAA,gBACN,EAAE;IAAAA,eAAA,sBACN,+BAA+B;IAAAA,eAAA,yBAC1B,YAAY;IAAAA,eAAA,wBACb,eAAe;IAAAA,eAAA,uBACR,EAAE;IAAAA,eAAA,oBACL,EAAE;IAAAA,eAAA,qBACD,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA,qBACkB,SAAS;IAAAA,eAAA,mBACjC,KAAK;IAAAA,eAAA,wBACD,QAAQ;IAAAA,eAAA,0BACL,KAAK;IAAAA,eAAA,qBACV,KAAK;IAAAA,eAAA,oBACN,IAAI;IAAAA,eAAA,oBACJ,IAAI;IAAAA,eAAA,kBACP,EAAE;IAAAA,eAAA,kBACF,EAAE;IAAAA,eAAA,qBACC,CAAC;EAAA;AACxB"}
1
+ {"version":3,"names":["BaseProps","BaseChartComponentProps","constructor","arguments","_defineProperty"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseChartComponentProps extends BaseProps {\n xaxisdatakey: string = '';\n yaxisdatakey: string = '';\n iconclass = '';\n dataset: any;\n type: string = '';\n title: string = '';\n subheading: string = '';\n theme: string = '';\n xaxislabel: string = '';\n xunits: string = '';\n staggerlabels: boolean = false;\n yaxislabel: string = '';\n yunits: string = '';\n yaxislabeldistance: number = 60;\n xaxislabeldistance: number = 30;\n customcolors: string | Array<string> = '';\n legendheight: number = 0;\n labellegendheight: number = 0;\n labeltype: 'percent' | 'value' | 'key-value' | 'key' = 'percent';\n bubblesize: string= '';\n shape: string = '';\n loadingicon='fa fa-circle-o-notch fa-pulse';\n loadingdatamsg = 'Loading...';\n nodatamessage = 'No data found';\n offsetbottom: number = 50;\n offsettop: number = 70;\n offsetleft: number = 65;\n offsetright: number = 25;\n showlegend: string = 'top';\n showlabels: 'inside' | 'outside' | 'hide' = 'outside';\n tooltips: boolean = false;\n interpolation: string = 'linear';\n highlightpoints: boolean = false;\n showvalues: boolean = false;\n showyaxis: boolean = true;\n showxaxis: boolean = true;\n ydomain: string = 'Min';\n xdomain: string = 'Min';\n labelangle: number = 0;\n xtickexpr?: (item: any, index: number, length: number) => any;\n ytickexpr?: (item: any, index: number, length: number) => any;\n hidegridxaxis: boolean = false;\n hidegridyaxis: boolean = false;\n autoadjustlabels: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,uBAAuB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,uBACtC,EAAE;IAAAA,eAAA,uBACF,EAAE;IAAAA,eAAA,oBACb,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEC,EAAE;IAAAA,eAAA,gBACD,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,gBACP,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,wBACM,KAAK;IAAAA,eAAA,qBACT,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,6BACU,EAAE;IAAAA,eAAA,6BACF,EAAE;IAAAA,eAAA,uBACQ,EAAE;IAAAA,eAAA,uBAClB,CAAC;IAAAA,eAAA,4BACI,CAAC;IAAAA,eAAA,oBAC0B,SAAS;IAAAA,eAAA,qBAC5C,EAAE;IAAAA,eAAA,gBACN,EAAE;IAAAA,eAAA,sBACN,+BAA+B;IAAAA,eAAA,yBAC1B,YAAY;IAAAA,eAAA,wBACb,eAAe;IAAAA,eAAA,uBACR,EAAE;IAAAA,eAAA,oBACL,EAAE;IAAAA,eAAA,qBACD,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA,qBACkB,SAAS;IAAAA,eAAA,mBACjC,KAAK;IAAAA,eAAA,wBACD,QAAQ;IAAAA,eAAA,0BACL,KAAK;IAAAA,eAAA,qBACV,KAAK;IAAAA,eAAA,oBACN,IAAI;IAAAA,eAAA,oBACJ,IAAI;IAAAA,eAAA,kBACP,KAAK;IAAAA,eAAA,kBACL,KAAK;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGG,KAAK;IAAAA,eAAA,wBACL,KAAK;IAAAA,eAAA,2BACF,KAAK;EAAA;AACnC"}