@wavemaker-ai/app-rn-runtime 1.0.0-rc.324 → 1.0.0-rc.328

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 (172) hide show
  1. package/components/advanced/offline-banner/offline-banner.component.js +68 -0
  2. package/components/advanced/offline-banner/offline-banner.component.js.map +1 -0
  3. package/components/advanced/offline-banner/offline-banner.props.js +12 -0
  4. package/components/advanced/offline-banner/offline-banner.props.js.map +1 -0
  5. package/components/advanced/offline-banner/offline-banner.styles.js +99 -0
  6. package/components/advanced/offline-banner/offline-banner.styles.js.map +1 -0
  7. package/components/advanced/webview/webview.component.js +2 -2
  8. package/components/advanced/webview/webview.component.js.map +1 -1
  9. package/components/advanced/webview/webview.props.js +1 -1
  10. package/components/advanced/webview/webview.props.js.map +1 -1
  11. package/components/basic/bottomsheet/bottomsheet.component.js +156 -14
  12. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  13. package/components/basic/bottomsheet/bottomsheet.styles.js +0 -3
  14. package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
  15. package/components/basic/progress-circle/progress-circle.component.js +3 -1
  16. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  17. package/components/chart/area-chart/area-chart.component.js +86 -93
  18. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  19. package/components/chart/area-chart/area-chart.props.js +2 -0
  20. package/components/chart/area-chart/area-chart.props.js.map +1 -1
  21. package/components/chart/bar-chart/bar-chart.component.js +79 -97
  22. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  23. package/components/chart/basechart.component.js +117 -96
  24. package/components/chart/basechart.component.js.map +1 -1
  25. package/components/chart/basechart.props.js +12 -0
  26. package/components/chart/basechart.props.js.map +1 -1
  27. package/components/chart/basechart.styles.js.map +1 -1
  28. package/components/chart/bubble-chart/bubble-chart.component.js +72 -70
  29. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  30. package/components/chart/bubble-chart/bubble-chart.props.js +1 -0
  31. package/components/chart/bubble-chart/bubble-chart.props.js.map +1 -1
  32. package/components/chart/line-chart/line-chart.component.js +105 -79
  33. package/components/chart/line-chart/line-chart.component.js.map +1 -1
  34. package/components/chart/pie-chart/pie-chart.component.js +70 -166
  35. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  36. package/components/chart/pie-chart/pie-chart.props.js +1 -0
  37. package/components/chart/pie-chart/pie-chart.props.js.map +1 -1
  38. package/components/container/accordion/accordionpane/accordionpane.component.js +6 -2
  39. package/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  40. package/components/container/container.component.js +27 -1
  41. package/components/container/container.component.js.map +1 -1
  42. package/components/container/container.props.js +7 -0
  43. package/components/container/container.props.js.map +1 -1
  44. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +25 -1
  45. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  46. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +1 -0
  47. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
  48. package/components/container/tabs/tabheader/tabheader.component.js +5 -14
  49. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  50. package/components/container/tabs/tabheader/tabheader.props.js +0 -2
  51. package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  52. package/components/container/tabs/tabheader/tabheader.styles.js +1 -43
  53. package/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
  54. package/components/container/tabs/tabpane/tabpane.component.js +6 -2
  55. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  56. package/components/container/tabs/tabs.component.js +2 -6
  57. package/components/container/tabs/tabs.component.js.map +1 -1
  58. package/components/container/tabs/tabs.props.js +0 -2
  59. package/components/container/tabs/tabs.props.js.map +1 -1
  60. package/components/container/wizard/wizardstep/wizardstep.component.js +28 -5
  61. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  62. package/components/container/wizard/wizardstep/wizardstep.props.js +2 -0
  63. package/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
  64. package/components/data/form/form-field/form-field.component.js +1 -0
  65. package/components/data/form/form-field/form-field.component.js.map +1 -1
  66. package/components/data/form/form-field/form-field.props.js +1 -0
  67. package/components/data/form/form-field/form-field.props.js.map +1 -1
  68. package/components/data/list/list-template/list-template.component.js +3 -0
  69. package/components/data/list/list-template/list-template.component.js.map +1 -1
  70. package/components/data/list/list.component.js +6 -4
  71. package/components/data/list/list.component.js.map +1 -1
  72. package/components/data/list/list.styles.js +1 -14
  73. package/components/data/list/list.styles.js.map +1 -1
  74. package/components/input/baseinput/baseinput.component.js +7 -0
  75. package/components/input/baseinput/baseinput.component.js.map +1 -1
  76. package/components/input/calendar/calendar.component.js +4 -0
  77. package/components/input/calendar/calendar.component.js.map +1 -1
  78. package/components/input/calendar/views/month-view.js +8 -1
  79. package/components/input/calendar/views/month-view.js.map +1 -1
  80. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  81. package/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  82. package/components/input/chips/chips.component.js +3 -4
  83. package/components/input/chips/chips.component.js.map +1 -1
  84. package/components/input/chips/chips.styles.js +1 -2
  85. package/components/input/chips/chips.styles.js.map +1 -1
  86. package/components/input/currency/currency.component.js +1 -0
  87. package/components/input/currency/currency.component.js.map +1 -1
  88. package/components/input/number/number.component.js +1 -0
  89. package/components/input/number/number.component.js.map +1 -1
  90. package/components/input/switch/switch.component.js +2 -16
  91. package/components/input/switch/switch.component.js.map +1 -1
  92. package/components/input/switch/switch.props.js +0 -1
  93. package/components/input/switch/switch.props.js.map +1 -1
  94. package/components/input/switch/switch.styles.js +0 -19
  95. package/components/input/switch/switch.styles.js.map +1 -1
  96. package/components/input/text/text.component.js +14 -3
  97. package/components/input/text/text.component.js.map +1 -1
  98. package/components/input/text/text.props.js +1 -0
  99. package/components/input/text/text.props.js.map +1 -1
  100. package/components/input/text/text.styles.js +3 -1
  101. package/components/input/text/text.styles.js.map +1 -1
  102. package/components/input/textarea/textarea.component.js +3 -2
  103. package/components/input/textarea/textarea.component.js.map +1 -1
  104. package/components/input/toggle/toggle.component.js +4 -13
  105. package/components/input/toggle/toggle.component.js.map +1 -1
  106. package/components/input/toggle/toggle.props.js +1 -3
  107. package/components/input/toggle/toggle.props.js.map +1 -1
  108. package/components/input/toggle/toggle.styles.js +4 -12
  109. package/components/input/toggle/toggle.styles.js.map +1 -1
  110. package/components/navigation/appnavbar/appnavbar.props.js +1 -1
  111. package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
  112. package/components/page/page-content/page-content.component.js +3 -0
  113. package/components/page/page-content/page-content.component.js.map +1 -1
  114. package/components/page/page-content/page-content.props.js +2 -0
  115. package/components/page/page-content/page-content.props.js.map +1 -1
  116. package/components/page/page.component.js +95 -2
  117. package/components/page/page.component.js.map +1 -1
  118. package/components/page/page.props.js +3 -0
  119. package/components/page/page.props.js.map +1 -1
  120. package/components/page/tabbar/tabbar.component.js +3 -2
  121. package/components/page/tabbar/tabbar.component.js.map +1 -1
  122. package/components/page/tabbar/tabbar.props.js +1 -0
  123. package/components/page/tabbar/tabbar.props.js.map +1 -1
  124. package/components-prism/basic/search/search.component.js +8 -12
  125. package/components-prism/basic/search/search.component.js.map +1 -1
  126. package/components-prism/basic/search/search.props.js +1 -1
  127. package/components-prism/basic/search/search.props.js.map +1 -1
  128. package/components-prism/basic/search/search.styles.js +60 -25
  129. package/components-prism/basic/search/search.styles.js.map +1 -1
  130. package/core/AppConfig.js.map +1 -1
  131. package/core/accessibility.js +9 -0
  132. package/core/accessibility.js.map +1 -1
  133. package/core/auto-layout-host.component.js +8 -2
  134. package/core/auto-layout-host.component.js.map +1 -1
  135. package/core/auto-layout.utils.js +59 -0
  136. package/core/auto-layout.utils.js.map +1 -1
  137. package/core/base.component.js +22 -1
  138. package/core/base.component.js.map +1 -1
  139. package/core/components/floatinglabel.component.js +5 -2
  140. package/core/components/floatinglabel.component.js.map +1 -1
  141. package/core/components/textinput.component.js +3 -0
  142. package/core/components/textinput.component.js.map +1 -1
  143. package/core/network.service.js.map +1 -1
  144. package/core/tappable.component.js +109 -15
  145. package/core/tappable.component.js.map +1 -1
  146. package/npm-shrinkwrap.json +2835 -5858
  147. package/package-lock.json +2835 -5858
  148. package/package.json +25 -18
  149. package/runtime/base-fragment.component.js +7 -1
  150. package/runtime/base-fragment.component.js.map +1 -1
  151. package/runtime/base-page.component.js +24 -0
  152. package/runtime/base-page.component.js.map +1 -1
  153. package/runtime/base-partial.component.js.map +1 -1
  154. package/runtime/navigator/drawer.navigator.js +1 -0
  155. package/runtime/navigator/drawer.navigator.js.map +1 -1
  156. package/runtime/navigator/stack.navigator.js +16 -1
  157. package/runtime/navigator/stack.navigator.js.map +1 -1
  158. package/runtime/services/device/scan-service.js +12 -34
  159. package/runtime/services/device/scan-service.js.map +1 -1
  160. package/styles/theme.variables.js.map +1 -1
  161. package/variables/http.service.js +6 -1
  162. package/variables/http.service.js.map +1 -1
  163. package/variables/interceptor/intercept-context.impl.js +46 -0
  164. package/variables/interceptor/intercept-context.impl.js.map +1 -0
  165. package/variables/interceptor/interceptor.factory.js +78 -0
  166. package/variables/interceptor/interceptor.factory.js.map +1 -0
  167. package/variables/interceptor/persistent.storage.js +142 -0
  168. package/variables/interceptor/persistent.storage.js.map +1 -0
  169. package/variables/interceptor/service-variable-interceptor.js +52 -0
  170. package/variables/interceptor/service-variable-interceptor.js.map +1 -0
  171. package/variables/service-variable.js +109 -1
  172. package/variables/service-variable.js.map +1 -1
@@ -5,7 +5,7 @@ import React from "react";
5
5
  import { Dimensions, View, Text } from 'react-native';
6
6
  import moment from "moment";
7
7
  import { forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, orderBy } from "lodash-es";
8
- import { VictoryAxis, VictoryLegend, VictoryLabel } from "victory-native";
8
+ import { VictoryLegend } from "victory-native";
9
9
  import { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';
10
10
  import WmIcon from "@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component";
11
11
  import ThemeFactory from "@wavemaker-ai/app-rn-runtime/components/chart/theme/chart.theme";
@@ -161,101 +161,94 @@ export class BaseChartComponent extends BaseComponent {
161
161
  return yVal.toLocaleString();
162
162
  }
163
163
  }
164
-
165
- // x axis with vertical lines having grid stroke colors
166
- getXaxis() {
167
- const minIndex = 0;
168
- const maxIndex = this.state.xaxisDatakeyArr.length - 1;
169
- const props = this.state.props;
170
- const getTickValueLabel = props.xtickexpr;
171
- let height = this.styles.root.height || 250;
172
- let yaxislabeldistance = props.yaxislabeldistance ? props.yaxislabeldistance : height - 20;
173
- if (height && typeof height === 'string') {
174
- height = parseInt(height);
175
- }
176
- return /*#__PURE__*/React.createElement(VictoryAxis, {
177
- crossAxis: false,
178
- label: (props.xaxislabel || props.xaxisdatakey || "name") + (props.xunits ? `(${props.xunits})` : ''),
179
- style: {
180
- axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),
181
- grid: props.hidegridxaxis ? {
182
- stroke: null
183
- } : this.theme.mergeStyle(this.styles.grid, this.styles.xGrid),
184
- axis: props.showxaxis === false ? {
185
- stroke: 'none'
186
- } : this.theme.mergeStyle(this.styles.axis, this.styles.xAxis),
187
- ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.xTicks),
188
- tickLabels: props.showxaxislabels === false ? {
189
- fill: 'none'
190
- } : this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)
191
- },
192
- fixLabelOverlap: props.autoadjustlabels ? true : false,
193
- axisLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, {
194
- y: yaxislabeldistance
195
- }),
196
- tickLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, {
197
- y: props.offsetyaxis ? props.offsetyaxis : height - 30,
198
- angle: props.labelangle || 0
199
- }),
200
- theme: this.state.theme,
201
- tickCount: this.state.xaxisDatakeyArr.length,
202
- invertAxis: this.isRTL,
203
- tickFormat: (d, i, ticks) => {
204
- if (getTickValueLabel) {
205
- return getTickValueLabel(this.state.xaxisDatakeyArr[d], i, (ticks || []).length);
206
- } else if (this.state.xaxisDatakeyArr) {
207
- return this.state.xaxisDatakeyArr[d];
208
- }
164
+ getXAxisTickLabelFormatter() {
165
+ return (val, idx) => {
166
+ const i = idx !== null && idx !== void 0 ? idx : Number(val);
167
+ if (i < 0 || i >= this.state.xaxisDatakeyArr.length) {
209
168
  return '';
210
169
  }
211
- });
170
+ const label = this.state.xaxisDatakeyArr[i];
171
+ if (this.state.props.xtickexpr) {
172
+ return String(this.state.props.xtickexpr(label, i, this.state.xaxisDatakeyArr.length));
173
+ }
174
+ return String(label !== null && label !== void 0 ? label : val);
175
+ };
212
176
  }
213
-
214
- /* y axis with horizontal lines having grid stroke colors*/
215
- getYAxis() {
216
- const props = this.state.props;
217
- if (props.showyaxis === false) {
218
- return null;
219
- }
220
- const getTickValueLabel = props.ytickexpr;
221
- const ynumberformat = props.ynumberformat;
222
- let xaxislabeldistance = props.xaxislabeldistance ? props.xaxislabeldistance : 20;
223
- return /*#__PURE__*/React.createElement(VictoryAxis, {
224
- crossAxis: false,
225
- label: (props.yaxislabel || props.yaxisdatakey) + (props.yunits ? `(${props.yunits})` : ''),
226
- style: {
227
- axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),
228
- grid: props.hidegridyaxis ? {
229
- stroke: null
230
- } : this.theme.mergeStyle(this.styles.grid, this.styles.yGrid),
231
- axis: props.showxaxis === false ? {
232
- stroke: 'none'
233
- } : this.theme.mergeStyle(this.styles.axis, this.styles.yAxis),
234
- ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.yTicks),
235
- tickLabels: props.showyaxislabels === false ? {
236
- fill: 'none'
237
- } : this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)
177
+ getYAxisTickLabelFormatter() {
178
+ return (val, idx) => {
179
+ const props = this.state.props;
180
+ if (props.ytickexpr) {
181
+ return String(props.ytickexpr(val, idx !== null && idx !== void 0 ? idx : 0, this.state.xaxisDatakeyArr.length));
182
+ }
183
+ if (props.ynumberformat) {
184
+ return String(this.setYAxisFormat(val, props.ynumberformat));
185
+ }
186
+ return String(this.abbreviateNumber(val));
187
+ };
188
+ }
189
+ getAxisTheme(axis) {
190
+ var _axisStyle$stroke, _s$axis, _axisStyle$strokeWidt, _s$axis2, _axisLabelStyle$fill, _s$axisLabel, _tickStyle$stroke, _s$ticks, _tickStyle$strokeWidt, _s$ticks2, _tickLabelStyle$fill, _s$tickLabels, _gridStyle$stroke, _s$grid, _gridStyle$strokeWidt, _s$grid2;
191
+ const s = this.styles;
192
+ const axisStyle = axis === 'x' ? s.xAxis : s.yAxis;
193
+ const axisLabelStyle = axis === 'x' ? s.xAxisLabel : s.yAxisLabel;
194
+ const tickStyle = axis === 'x' ? s.xTicks : s.yTicks;
195
+ const tickLabelStyle = axis === 'x' ? s.xTickLabels : s.yTickLabels;
196
+ const gridStyle = axis === 'x' ? s.xGrid : s.yGrid;
197
+ return {
198
+ lineColor: (_axisStyle$stroke = axisStyle === null || axisStyle === void 0 ? void 0 : axisStyle.stroke) !== null && _axisStyle$stroke !== void 0 ? _axisStyle$stroke : (_s$axis = s.axis) === null || _s$axis === void 0 ? void 0 : _s$axis.stroke,
199
+ lineWidth: (_axisStyle$strokeWidt = axisStyle === null || axisStyle === void 0 ? void 0 : axisStyle.strokeWidth) !== null && _axisStyle$strokeWidt !== void 0 ? _axisStyle$strokeWidt : (_s$axis2 = s.axis) === null || _s$axis2 === void 0 ? void 0 : _s$axis2.strokeWidth,
200
+ labelColor: (_axisLabelStyle$fill = axisLabelStyle === null || axisLabelStyle === void 0 ? void 0 : axisLabelStyle.fill) !== null && _axisLabelStyle$fill !== void 0 ? _axisLabelStyle$fill : (_s$axisLabel = s.axisLabel) === null || _s$axisLabel === void 0 ? void 0 : _s$axisLabel.fill,
201
+ tickColor: (_tickStyle$stroke = tickStyle === null || tickStyle === void 0 ? void 0 : tickStyle.stroke) !== null && _tickStyle$stroke !== void 0 ? _tickStyle$stroke : (_s$ticks = s.ticks) === null || _s$ticks === void 0 ? void 0 : _s$ticks.stroke,
202
+ tickWidth: (_tickStyle$strokeWidt = tickStyle === null || tickStyle === void 0 ? void 0 : tickStyle.strokeWidth) !== null && _tickStyle$strokeWidt !== void 0 ? _tickStyle$strokeWidt : (_s$ticks2 = s.ticks) === null || _s$ticks2 === void 0 ? void 0 : _s$ticks2.strokeWidth,
203
+ tickLabelColor: (_tickLabelStyle$fill = tickLabelStyle === null || tickLabelStyle === void 0 ? void 0 : tickLabelStyle.fill) !== null && _tickLabelStyle$fill !== void 0 ? _tickLabelStyle$fill : (_s$tickLabels = s.tickLabels) === null || _s$tickLabels === void 0 ? void 0 : _s$tickLabels.fill,
204
+ splitLineColor: (_gridStyle$stroke = gridStyle === null || gridStyle === void 0 ? void 0 : gridStyle.stroke) !== null && _gridStyle$stroke !== void 0 ? _gridStyle$stroke : (_s$grid = s.grid) === null || _s$grid === void 0 ? void 0 : _s$grid.stroke,
205
+ splitLineWidth: (_gridStyle$strokeWidt = gridStyle === null || gridStyle === void 0 ? void 0 : gridStyle.strokeWidth) !== null && _gridStyle$strokeWidt !== void 0 ? _gridStyle$strokeWidt : (_s$grid2 = s.grid) === null || _s$grid2 === void 0 ? void 0 : _s$grid2.strokeWidth
206
+ };
207
+ }
208
+ getGridLineTheme(axis) {
209
+ var _gridStyle$stroke2, _s$grid3, _gridStyle$strokeWidt2, _s$grid4;
210
+ const s = this.styles;
211
+ const gridStyle = axis === 'x' ? s.xGrid : s.yGrid;
212
+ return {
213
+ lineColor: (_gridStyle$stroke2 = gridStyle === null || gridStyle === void 0 ? void 0 : gridStyle.stroke) !== null && _gridStyle$stroke2 !== void 0 ? _gridStyle$stroke2 : (_s$grid3 = s.grid) === null || _s$grid3 === void 0 ? void 0 : _s$grid3.stroke,
214
+ lineWidth: (_gridStyle$strokeWidt2 = gridStyle === null || gridStyle === void 0 ? void 0 : gridStyle.strokeWidth) !== null && _gridStyle$strokeWidt2 !== void 0 ? _gridStyle$strokeWidt2 : (_s$grid4 = s.grid) === null || _s$grid4 === void 0 ? void 0 : _s$grid4.strokeWidth
215
+ };
216
+ }
217
+ getTooltipTheme() {
218
+ const container = this.styles.tooltipContainer || {};
219
+ const xText = this.styles.tooltipXText || {};
220
+ const yText = this.styles.tooltipYText || {};
221
+ return {
222
+ backgroundColor: container.backgroundColor,
223
+ labelColor: xText.fill,
224
+ valueColor: yText.fill,
225
+ borderColor: container.borderColor,
226
+ borderWidth: container.borderWidth,
227
+ borderRadius: container.borderRadius,
228
+ padding: container.padding
229
+ };
230
+ }
231
+ getChartTheme(swapAxes = false, series) {
232
+ var _this$styles$legendTe, _this$styles$legendTe2, _this$styles$legenedD;
233
+ return {
234
+ axis: {
235
+ x: swapAxes ? this.getAxisTheme('y') : this.getAxisTheme('x'),
236
+ y: swapAxes ? this.getAxisTheme('x') : this.getAxisTheme('y')
238
237
  },
239
- fixLabelOverlap: props.autoadjustlabels ? true : false,
240
- axisLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, {
241
- x: this.isRTL ? screenWidth - xaxislabeldistance - 30 : xaxislabeldistance
242
- }),
243
- tickLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, {
244
- x: this.isRTL ? props.offsetxaxis ? screenWidth - props.offsetxaxis - 30 : screenWidth - 80 : props.offsetxaxis || 50
245
- }),
246
- theme: this.state.theme,
247
- tickFormat: (d, i, ticks) => {
248
- if (getTickValueLabel) {
249
- return getTickValueLabel(d, i, (ticks || []).length);
250
- }
251
- if (ynumberformat) {
252
- return this.setYAxisFormat(d, ynumberformat);
253
- }
254
- return this.abbreviateNumber(d);
238
+ grid: {
239
+ x: swapAxes ? this.getGridLineTheme('y') : this.getGridLineTheme('x'),
240
+ y: swapAxes ? this.getGridLineTheme('x') : this.getGridLineTheme('y')
255
241
  },
256
- orientation: this.isRTL ? "right" : "left",
257
- dependentAxis: true
258
- });
242
+ legend: {
243
+ textColor: (_this$styles$legendTe = this.styles.legendText) === null || _this$styles$legendTe === void 0 ? void 0 : _this$styles$legendTe.fill,
244
+ fontSize: (_this$styles$legendTe2 = this.styles.legendText) === null || _this$styles$legendTe2 === void 0 ? void 0 : _this$styles$legendTe2.fontSize,
245
+ backgroundColor: (_this$styles$legenedD = this.styles.legenedDot) === null || _this$styles$legenedD === void 0 ? void 0 : _this$styles$legenedD.backgroundColor
246
+ },
247
+ tooltip: this.getTooltipTheme(),
248
+ ...(series ? {
249
+ series
250
+ } : {})
251
+ };
259
252
  }
260
253
  setTooltipTemplate(partialName) {
261
254
  this.updateState({
@@ -312,10 +305,38 @@ export class BaseChartComponent extends BaseComponent {
312
305
  style: this.styles.tooltipXText
313
306
  }, yAxisData), this.renderPointer()) : null;
314
307
  }
308
+ get hasCustomTooltip() {
309
+ return !!this.state.template && !!this.props.renderitempartial;
310
+ }
311
+ getRenderTooltip() {
312
+ if (!this.hasCustomTooltip) return undefined;
313
+ return params => {
314
+ var _this$props$renderite, _this$props$renderite2, _this$props;
315
+ const selectedItem = this.props.dataset[params.dataIndex];
316
+ return (_this$props$renderite = (_this$props$renderite2 = (_this$props = this.props).renderitempartial) === null || _this$props$renderite2 === void 0 ? void 0 : _this$props$renderite2.call(_this$props, {
317
+ ...selectedItem,
318
+ index: params.dataIndex
319
+ }, params.dataIndex, this.state.template)) !== null && _this$props$renderite !== void 0 ? _this$props$renderite : null;
320
+ };
321
+ }
315
322
 
316
323
  // X/Y Domain properties are supported only for Column and Area charts
317
324
  isAxisDomainSupported(type) {
318
- return type === 'Column' || type === 'Area';
325
+ // return type === 'Column'|| type === 'Area';
326
+ return type === 'Area';
327
+ }
328
+ getMinDomain() {
329
+ const props = this.state.props;
330
+ return {
331
+ x: props.xdomain === 'Min' ? this.state.chartMinX : 0,
332
+ y: props.ydomain === 'Min' ? this.state.chartMinY : 0
333
+ };
334
+ }
335
+ getSeriesSymbol(highlightpoints, ticksymbol) {
336
+ if (!highlightpoints || ticksymbol === 'none') {
337
+ return 'none';
338
+ }
339
+ return ticksymbol !== null && ticksymbol !== void 0 ? ticksymbol : 'circle';
319
340
  }
320
341
 
321
342
  // Check whether X/Y Domain was set to Min and is supported for the present chart
@@ -662,16 +683,16 @@ export class BaseChartComponent extends BaseComponent {
662
683
  $new && this.prepareDataItems($new);
663
684
  break;
664
685
  case 'xaxislabel':
665
- if (props.xunits) {
666
- units = ' (' + props.xunits + ')';
686
+ if (this.props.xunits) {
687
+ units = ' (' + this.props.xunits + ')';
667
688
  }
668
689
  this.updateState({
669
690
  xLabel: $new + units
670
691
  });
671
692
  break;
672
693
  case 'yaxislabel':
673
- if (props.yunits) {
674
- units = ' (' + props.yunits + ')';
694
+ if (this.props.yunits) {
695
+ units = ' (' + this.props.yunits + ')';
675
696
  }
676
697
  this.updateState({
677
698
  yLabel: $new + units
@@ -1 +1 @@
1
- {"version":3,"names":["React","Dimensions","View","Text","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","constructSampleData","getChartType","WmLottie","BaseChartComponentState","constructor","args","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","defaultProps","defaultState","e","viewWidth","nativeEvent","layout","viewHeight","height","handleLayout","state","chartWidth","updateState","Number","totalHeight","viewRef","createRef","theme","applyTheme","subscribe","event","isTooltipOpen","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","showlegend","top","parseInt","styles","root","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","setYAxisFormat","yVal","ynumberformat","matchFixed","match","matchExponential","toExponential","toLocaleString","getXaxis","minIndex","maxIndex","xaxisDatakeyArr","length","getTickValueLabel","xtickexpr","yaxislabeldistance","crossAxis","label","xaxislabel","xaxisdatakey","xunits","axisLabel","mergeStyle","yAxisLabel","grid","hidegridxaxis","xGrid","axis","showxaxis","xAxis","ticks","xTicks","tickLabels","showxaxislabels","fill","xTickLabels","fixLabelOverlap","autoadjustlabels","axisLabelComponent","tickLabelComponent","offsetyaxis","angle","labelangle","tickCount","invertAxis","isRTL","tickFormat","d","i","getYAxis","showyaxis","ytickexpr","xaxislabeldistance","yaxislabel","yaxisdatakey","yunits","hidegridyaxis","yGrid","yAxis","yTicks","showyaxislabels","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPartialLayout","tooltipLayout","tooltipoffsetx","tooltipoffsety","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","tooltips","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","tooltipYPosition","tooltipXPosition","zIndex","selectedItem","index","right","tooltipContainer","fontSize","fontWeight","tooltipXText","tooltipXaxis","isAxisDomainSupported","type","isAxisDomainValid","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","getXMinMaxValues","getYMinMaxValues","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","themeName","colorsToUse","customcolors","trim","split","map","color","filter","Array","labelColorsToUse","labelcolors","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","isValid","isNaN","replace","prepareDataItems","dataset","xaxis","yaxis","datasets","_yaxis","shape","yPts","o","xindex","xVal","parseFloat","bubblesize","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","id","getTestId","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel","renderSkeleton","skeletonanimationresource","_this$styles","_this$styles2","_this$styles3","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","getDataType","widgetContext","Error"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions, View, Text, LayoutChangeEvent} 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, VictoryVoronoiContainer, VictoryTooltip} from \"victory-native\";\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker-ai/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\nimport { isWebPreviewMode } from \"@wavemaker-ai/app-rn-runtime/core/utils\";\nimport WmLottie from \"../basic/lottie/lottie.component\";\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 labelColors: 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 totalHeight: number = 0;\n chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n tooltipXPosition = 0;\n tooltipYPosition = 0;\n tooltipXaxis = 0;\n tooltipYaxis = 0;\n tooltipoffsetx: number = 50;\n tooltipoffsety: number = 80;\n isTooltipOpen: boolean = false;\n selectedItem: any = {}\n template: string = \"\";\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: any} = {\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 protected viewRef: React.RefObject<View | null>;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.viewRef = React.createRef();\n if (!props.theme) {\n this.applyTheme(props);\n }\n this.subscribe('globaltouch', (event: any) => {\n this.updateState({\n isTooltipOpen: false\n } as any)\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n let viewHeight = e.nativeEvent.layout.height;\n\n this.handleLayout(e)\n\n if (this?.state && viewWidth !== this.state.chartWidth) {\n this.updateState({\n chartWidth: Number(viewWidth),\n totalHeight: Number(viewHeight)\n } as any)\n }\n }\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 setYAxisFormat(yVal: any, ynumberformat: string){\n const matchFixed = ynumberformat.match(/\\.([0-9])f/);\n const matchExponential = ynumberformat.match(/\\.([0-9])g/);\n if (matchFixed) {\n return yVal.toFixed(parseInt(matchFixed[1], 10));\n } else if (matchExponential) {\n return yVal.toExponential(parseInt(matchExponential[1], 10));\n }\n switch (ynumberformat) {\n case '%':\n return (yVal * 100).toFixed(0) + '%';\n case 'Billion':\n return (yVal / 1e9).toFixed(1) + 'B';\n case 'Million':\n return (yVal / 1e6).toFixed(1) + 'M';\n case 'Thousand':\n return (yVal / 1e3).toFixed(1) + 'K';\n case ',r':\n return yVal.toLocaleString();\n }\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 let height = this.styles.root.height || 250;\n let yaxislabeldistance = props.yaxislabeldistance ? props.yaxislabeldistance : height as number - 20;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\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),\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: props.showxaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel y={yaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel y={props.offsetyaxis ? props.offsetyaxis : height as number - 30} angle={props.labelangle || 0}/>} theme={this.state.theme}\n tickCount={this.state.xaxisDatakeyArr.length}\n invertAxis={this.isRTL}\n tickFormat= {(d: number, i: number, ticks: any) => {\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 const ynumberformat = props.ynumberformat;\n let xaxislabeldistance = props.xaxislabeldistance ? props.xaxislabeldistance : 20\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),\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: props.showyaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={this.isRTL ? (screenWidth - xaxislabeldistance -\n 30) : xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={this.isRTL ? (props.offsetxaxis ? screenWidth -\n props.offsetxaxis - 30 : screenWidth - 80) : (props.offsetxaxis || 50)} />}\n theme={this.state.theme}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(d, i, (ticks || []).length);\n }\n if (ynumberformat) {\n return this.setYAxisFormat(d, ynumberformat);\n }\n return this.abbreviateNumber(d);\n }}\n orientation={this.isRTL?\"right\":\"left\"}\n dependentAxis />;\n }\n\n setTooltipTemplate(partialName: any) {\n this.updateState({ template: partialName} as any);\n }\n\n setTooltipPartialLayout(event: LayoutChangeEvent){\n let tooltipLayout = event.nativeEvent.layout;\n this.updateState({\n tooltipoffsetx: tooltipLayout.width/2,\n tooltipoffsety: tooltipLayout.height\n } as any)\n }\n\n renderPointer(){\n return (\n <View\n style={[\n {\n transform: [\n { rotate: '180deg' }\n ],\n bottom: -10,\n left: this.state.tooltipoffsetx - this.styles.tooltipPointer.borderBottomWidth/2\n },\n this.styles.tooltipPointer\n ]}\n />\n )\n }\n\n getTooltip() {\n if(!this.state.props.tooltips){\n return;\n }\n const ynumberformat = this.state.props.ynumberformat;\n let yAxisData = ynumberformat ? this.setYAxisFormat(this.state.tooltipYaxis, ynumberformat) : this.state.tooltipYaxis;\n return this.state.isTooltipOpen ? (\n !isEmpty(this.state.template) && this.props.renderitempartial ?\n <View onLayout={this.setTooltipPartialLayout.bind(this)} style={{ position: \"absolute\", top: this.state.tooltipYPosition as number, left: this.state.tooltipXPosition as number , zIndex: 99}}>\n {this.props.renderitempartial(this.state.selectedItem, this.state.selectedItem.index, this.state.template)}\n {this.renderPointer()}\n </View> : (\n <View style={[\n { position: \"absolute\", top: this.state.tooltipYPosition as number},this.isRTL ? {right: this.state.tooltipXPosition as number} : {left: this.state.tooltipXPosition as number},\n this.styles.tooltipContainer\n ]}>\n <Text style={[{ fontSize: 16, fontWeight: 'bold' },this.styles.tooltipXText]}>{this.state.tooltipXaxis}</Text>\n <Text style={this.styles.tooltipXText}>{yAxisData}</Text>\n {this.renderPointer()}\n </View>)\n ) : null;\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\n if (props.customcolors) {\n if (typeof props.customcolors === 'string' && props.customcolors.trim() !== '') {\n colorsToUse = props.customcolors.split(',').map(color => color.trim()).filter(color => color !== '');\n } else if (Array.isArray(props.customcolors) && props.customcolors.length > 0) {\n colorsToUse = props.customcolors.filter(color => color && typeof color === 'string');\n }\n }\n\n let labelColorsToUse: string[] = [];\n if (props.labelcolors) {\n if (typeof props.labelcolors === 'string' && props.labelcolors.trim() !== '') {\n labelColorsToUse = props.labelcolors.split(',').map(color => color.trim()).filter(color => color !== '');\n } else if (Array.isArray(props.labelcolors) && props.labelcolors.length > 0) {\n labelColorsToUse = props.labelcolors.filter(color => color && typeof color === 'string');\n }\n }\n\n let themeToUse;\n if (typeof themeName === 'string') {\n if (colorsToUse.length === 0) {\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).isValid() || isNaN(value) || typeof value === 'string' || typeof value === 'number') {\n if (typeof value === \"string\"){\n xaxisDatakeyArr.push(value.replace(\"\\\\n\",\"\\n\"));\n }\n else{\n xaxisDatakeyArr.push(value);\n }\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 if (dataset.length === 0) {\n dataset = constructSampleData(getChartType(this.props), yaxis?.split(','), this.props.shape);\n xaxis = \"x\";\n yaxis = \"y\";\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 id={this.getTestId('loadericon')} 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 this.applyTheme({...props, customcolors: $new});\n break;\n case 'labelcolors':\n this.applyTheme({...props, labelcolors: $new});\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 public renderSkeleton(props: T): React.ReactNode {\n if(props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles?.root]}>\n <WmLottie styles={{ content: {...this.styles?.root, ...this.styles?.skeleton?.root} }} source={props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n }\n return null;\n }\n}\nfunction getDataType(widgetContext: { yaxisdatakey: string | null | undefined; shape: any; }): any {\n throw new Error(\"Function not implemented.\");\n}\n\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAA0B,cAAc;AACvE,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAAQC,OAAO,EAAEC,GAAG,EAAEC,OAAO,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,GAAG,EAAQC,OAAO,QAAO,WAAW;AAEpG,SAAQC,WAAW,EAAEC,aAAa,EAAEC,YAAY,QAAgD,gBAAgB;AAEhH,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,kDAAkD;AACpG,OAAOC,MAAM,MAAM,mEAAmE;AACtF,OAAOC,YAAY,MAAO,iEAAiE;AAG3F,SAASC,aAAa,QAAiC,oBAAoB;AAE3E,SAASC,mBAAmB,EAAEC,YAAY,QAAQ,cAAc;AAEhE,OAAOC,QAAQ,MAAM,kCAAkC;AAEvD,OAAO,MAAMC,uBAAuB,SAA6CP,kBAAkB,CAAI;EAAAQ,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;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;IAAAA,eAAA,iBAIH,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,sBACA,CAAC;IAAAA,eAAA,oBACSC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,2BACtB,CAAC;IAAAA,eAAA,2BACD,CAAC;IAAAA,eAAA,uBACL,CAAC;IAAAA,eAAA,uBACD,CAAC;IAAAA,eAAA,yBACS,EAAE;IAAAA,eAAA,yBACF,EAAE;IAAAA,eAAA,wBACF,KAAK;IAAAA,eAAA,uBACV,CAAC,CAAC;IAAAA,eAAA,mBACH,EAAE;EAAA;AACvB;AAEA,MAAME,WAAW,GAAG7B,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC,CAACyB,KAAK;AAElD,MAAMC,MAA4B,GAAG;EACnC,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,SAAsHjB,aAAa,CAAU;EAGnLS,WAAWA,CAACS,KAAQ,EAASC,YAAoB,GAAGf,aAAa,EAAEgB,YAAgB,EAAEC,YAAgB,EAAE;IACrG,KAAK,CAACH,KAAK,EAAEC,YAAY,EAAEC,YAAY,EAAEC,YAAY,CAAC;IAAC,KAD5BF,YAAoB,GAApBA,YAAoB;IAAAR,eAAA,sBAFjBE,WAAW;IAAAF,eAAA;IAAAA,eAAA,6BAmBrBW,CAAoB,IAAK;MAC7C,IAAIC,SAAS,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAACX,KAAK;MAC1C,IAAIY,UAAU,GAAGJ,CAAC,CAACE,WAAW,CAACC,MAAM,CAACE,MAAM;MAE5C,IAAI,CAACC,YAAY,CAACN,CAAC,CAAC;MAEpB,IAAI,IAAI,aAAJ,IAAI,eAAJ,IAAI,CAAEO,KAAK,IAAIN,SAAS,KAAK,IAAI,CAACM,KAAK,CAACC,UAAU,EAAE;QACtD,IAAI,CAACC,WAAW,CAAC;UACfD,UAAU,EAAEE,MAAM,CAACT,SAAS,CAAC;UAC7BU,WAAW,EAAED,MAAM,CAACN,UAAU;QAChC,CAAQ,CAAC;MACX;IACF,CAAC;IA3BC,IAAI,CAACQ,OAAO,gBAAGnD,KAAK,CAACoD,SAAS,CAAC,CAAC;IAChC,IAAI,CAACjB,KAAK,CAACkB,KAAK,EAAE;MAChB,IAAI,CAACC,UAAU,CAACnB,KAAK,CAAC;IACxB;IACA,IAAI,CAACoB,SAAS,CAAC,aAAa,EAAGC,KAAU,IAAK;MAC5C,IAAI,CAACR,WAAW,CAAC;QACfS,aAAa,EAAE;MACjB,CAAQ,CAAC;IACX,CAAC,CAAC;EACJ;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;EAC3B;EAiBAC,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,GAAGhC,SAAS,CAAC4B,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,CAACzB,KAAK,CAACX,KAAK,CAACqC,UAAU,KAAK,MAAM,EAAE;MAC1C,OAAO,IAAI;IACb;IACA,MAAMrC,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAIsC,GAAG,GAAGtC,KAAK,CAACqC,UAAU,KAAK,QAAQ,GAAGE,QAAQ,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,CAAChC,MAAgB,CAAC,GAAG,CAAC;IACzF,IAAI6B,GAAG,EAAE;MACPA,GAAG,GAAGA,GAAG,GAAI,EAAG,CAAC,CAAC;IACpB;IACA,MAAMI,WAAW,GAAI1C,KAAK,CAACqC,UAAU,KAAK,OAAO,IAAIrC,KAAK,CAACqC,UAAU,KAAK,MAAM,GAAI,UAAU,GAAG,YAAY;IAC7G,oBAAOxE,KAAA,CAAA8E,aAAA,CAAC/D,aAAa;MACnBwD,UAAU,EAAEA,UAAW;MACvBQ,IAAI,EAAE,YAAa;MACnBF,WAAW,EAAEA,WAAY;MACzBG,MAAM,EAAE,EAAG;MACXC,IAAI,EAAE,IAAI,CAACnC,KAAK,CAACoC,UAAW;MAC5BC,KAAK,EAAE;QAAEC,MAAM,EAAE;UAAEC,MAAM,EAAE;QAAO;MAAE,CAAE;MACtCC,aAAa,EAAE;QAACb,GAAG,EAAE,EAAE;QAAEc,IAAI,EAAE;MAAE,CAAE;MACnCC,CAAC,EAAEf;IAAI,CACR,CAAC;EACJ;EAEAgB,iBAAiBA,CAACC,KAAa,EAAE;IAC/B,MAAMC,IAAI,GAAG7B,IAAI,CAAC8B,KAAK,CAACF,KAAK,CAAC;IAC9B,OAAO5B,IAAI,CAACE,GAAG,CAAC0B,KAAK,CAAC,GAAGC,IAAI,GAAG,CAAC,GAAGD,KAAK,GAAG,EAAE,GAAGC,IAAI,GAAG,CAAC;EAC3D;EAEAE,cAAcA,CAACC,IAAS,EAAEC,aAAqB,EAAC;IAC9C,MAAMC,UAAU,GAAGD,aAAa,CAACE,KAAK,CAAC,YAAY,CAAC;IACpD,MAAMC,gBAAgB,GAAGH,aAAa,CAACE,KAAK,CAAC,YAAY,CAAC;IAC1D,IAAID,UAAU,EAAE;MACZ,OAAOF,IAAI,CAACzB,OAAO,CAACK,QAAQ,CAACsB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,MAAM,IAAIE,gBAAgB,EAAE;MACzB,OAAOJ,IAAI,CAACK,aAAa,CAACzB,QAAQ,CAACwB,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE;IACA,QAAQH,aAAa;MACnB,KAAK,GAAG;QACJ,OAAO,CAACD,IAAI,GAAG,GAAG,EAAEzB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;MACxC,KAAK,SAAS;QACV,OAAO,CAACyB,IAAI,GAAG,GAAG,EAAEzB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;MACxC,KAAK,SAAS;QACV,OAAO,CAACyB,IAAI,GAAG,GAAG,EAAEzB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;MACxC,KAAK,UAAU;QACX,OAAO,CAACyB,IAAI,GAAG,GAAG,EAAEzB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;MACxC,KAAK,IAAI;QACL,OAAOyB,IAAI,CAACM,cAAc,CAAC,CAAC;IAClC;EACF;;EAEA;EACAC,QAAQA,CAAA,EAAG;IACT,MAAMC,QAAQ,GAAG,CAAC;IAClB,MAAMC,QAAQ,GAAG,IAAI,CAACzD,KAAK,CAAC0D,eAAe,CAACC,MAAM,GAAG,CAAC;IACtD,MAAMtE,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,MAAMuE,iBAAiB,GAAGvE,KAAK,CAACwE,SAAgB;IAChD,IAAI/D,MAAM,GAAG,IAAI,CAAC+B,MAAM,CAACC,IAAI,CAAChC,MAAM,IAAI,GAAG;IAC3C,IAAIgE,kBAAkB,GAAGzE,KAAK,CAACyE,kBAAkB,GAAGzE,KAAK,CAACyE,kBAAkB,GAAGhE,MAAM,GAAa,EAAE;IACpG,IAAIA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MACxCA,MAAM,GAAG8B,QAAQ,CAAC9B,MAAM,CAAC;IAC3B;IACA,oBAAO5C,KAAA,CAAA8E,aAAA,CAAChE,WAAW;MAAC+F,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAAC3E,KAAK,CAAC4E,UAAU,IAAI5E,KAAK,CAAC6E,YAAY,IAAI,MAAM,KAAK7E,KAAK,CAAC8E,MAAM,GAAG,IAAI9E,KAAK,CAAC8E,MAAM,GAAG,GAAG,EAAE,CAAE;MACxH9B,KAAK,EAAE;QACL+B,SAAS,EAAE,IAAI,CAAC7D,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACuC,SAAS,EAAE,IAAI,CAACvC,MAAM,CAACyC,UAAU,CAAC;QAC/EC,IAAI,EAAElF,KAAK,CAACmF,aAAa,GACrB;UAAEjC,MAAM,EAAE;QAAK,CAAC,GAAI,IAAI,CAAChC,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC0C,IAAI,EAAE,IAAI,CAAC1C,MAAM,CAAC4C,KAAK,CAAC;QAClFC,IAAI,EAAErF,KAAK,CAACsF,SAAS,KAAK,KAAK,GAC3B;UAAEpC,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAChC,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC6C,IAAI,EAAE,IAAI,CAAC7C,MAAM,CAAC+C,KAAK,CAAC;QACpFC,KAAK,EAAE,IAAI,CAACtE,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACgD,KAAK,EAAE,IAAI,CAAChD,MAAM,CAACiD,MAAM,CAAC;QACnEC,UAAU,EAAE1F,KAAK,CAAC2F,eAAe,KAAK,KAAK,GAAG;UAACC,IAAI,EAAE;QAAM,CAAC,GAAG,IAAI,CAAC1E,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACkD,UAAU,EAAE,IAAI,CAAClD,MAAM,CAACqD,WAAW;MACtI,CAAE;MACFC,eAAe,EAAG9F,KAAK,CAAC+F,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDC,kBAAkB,eAAEnI,KAAA,CAAA8E,aAAA,CAAC9D,YAAY;QAACwE,CAAC,EAAEoB;MAAmB,CAAC,CAAE;MAC3DwB,kBAAkB,eAAEpI,KAAA,CAAA8E,aAAA,CAAC9D,YAAY;QAACwE,CAAC,EAAErD,KAAK,CAACkG,WAAW,GAAGlG,KAAK,CAACkG,WAAW,GAAGzF,MAAM,GAAa,EAAG;QAAC0F,KAAK,EAAEnG,KAAK,CAACoG,UAAU,IAAI;MAAE,CAAC,CAAE;MAAClF,KAAK,EAAE,IAAI,CAACP,KAAK,CAACO,KAAM;MAC7JmF,SAAS,EAAE,IAAI,CAAC1F,KAAK,CAAC0D,eAAe,CAACC,MAAO;MAC7CgC,UAAU,EAAE,IAAI,CAACC,KAAM;MACvBC,UAAU,EAAGA,CAACC,CAAS,EAAEC,CAAS,EAAElB,KAAU,KAAK;QACjD,IAAIjB,iBAAiB,EAAE;UACnB,OAAOA,iBAAiB,CAAC,IAAI,CAAC5D,KAAK,CAAC0D,eAAe,CAACoC,CAAC,CAAC,EAAEC,CAAC,EAAE,CAAClB,KAAK,IAAI,EAAE,EAAElB,MAAM,CAAC;QACpF,CAAC,MAAM,IAAI,IAAI,CAAC3D,KAAK,CAAC0D,eAAe,EAAE;UACrC,OAAO,IAAI,CAAC1D,KAAK,CAAC0D,eAAe,CAACoC,CAAC,CAAC;QACtC;QACA,OAAO,EAAE;MACX;IAAE,CACD,CAAC;EAC1B;;EAGE;EACAE,QAAQA,CAAA,EAAG;IACT,MAAM3G,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAIA,KAAK,CAAC4G,SAAS,KAAK,KAAK,EAAE;MAC7B,OAAO,IAAI;IACb;IACA,MAAMrC,iBAAiB,GAAGvE,KAAK,CAAC6G,SAAgB;IAChD,MAAMjD,aAAa,GAAG5D,KAAK,CAAC4D,aAAa;IACzC,IAAIkD,kBAAkB,GAAG9G,KAAK,CAAC8G,kBAAkB,GAAG9G,KAAK,CAAC8G,kBAAkB,GAAG,EAAE;IACjF,oBAAOjJ,KAAA,CAAA8E,aAAA,CAAChE,WAAW;MAAC+F,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAAC3E,KAAK,CAAC+G,UAAU,IAAI/G,KAAK,CAACgH,YAAY,KAAKhH,KAAK,CAACiH,MAAM,GAAG,IAAIjH,KAAK,CAACiH,MAAM,GAAG,GAAG,EAAE,CAAE;MAC9GjE,KAAK,EAAE;QACL+B,SAAS,EAAE,IAAI,CAAC7D,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACuC,SAAS,EAAE,IAAI,CAACvC,MAAM,CAACyC,UAAU,CAAC;QAC/EC,IAAI,EAAElF,KAAK,CAACkH,aAAa,GAAG;UAAEhE,MAAM,EAAE;QAAK,CAAC,GAAG,IAAI,CAAChC,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC0C,IAAI,EAAE,IAAI,CAAC1C,MAAM,CAAC2E,KAAK,CAAC;QACzG9B,IAAI,EAAErF,KAAK,CAACsF,SAAS,KAAK,KAAK,GAC/B;UAAEpC,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAChC,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC6C,IAAI,EAAE,IAAI,CAAC7C,MAAM,CAAC4E,KAAK,CAAC;QAChF5B,KAAK,EAAE,IAAI,CAACtE,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACgD,KAAK,EAAE,IAAI,CAAChD,MAAM,CAAC6E,MAAM,CAAC;QACnE3B,UAAU,EAAE1F,KAAK,CAACsH,eAAe,KAAK,KAAK,GAAG;UAAC1B,IAAI,EAAE;QAAM,CAAC,GAAG,IAAI,CAAC1E,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACkD,UAAU,EAAE,IAAI,CAAClD,MAAM,CAAC+E,WAAW;MACtI,CAAE;MACFzB,eAAe,EAAG9F,KAAK,CAAC+F,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDC,kBAAkB,eAAEnI,KAAA,CAAA8E,aAAA,CAAC9D,YAAY;QAAC2I,CAAC,EAAE,IAAI,CAACjB,KAAK,GAAI5G,WAAW,GAAGmH,kBAAkB,GACjF,EAAE,GAAIA;MAAmB,CAAC,CAAE;MAC9Bb,kBAAkB,eAAEpI,KAAA,CAAA8E,aAAA,CAAC9D,YAAY;QAAC2I,CAAC,EAAE,IAAI,CAACjB,KAAK,GAAIvG,KAAK,CAACyH,WAAW,GAAG9H,WAAW,GACjFK,KAAK,CAACyH,WAAW,GAAG,EAAE,GAAG9H,WAAW,GAAG,EAAE,GAAKK,KAAK,CAACyH,WAAW,IAAI;MAAI,CAAE,CAAE;MAC5EvG,KAAK,EAAE,IAAI,CAACP,KAAK,CAACO,KAAM;MACxBsF,UAAU,EAAGA,CAACC,CAAS,EAAEC,CAAS,EAAElB,KAAU,KAAK;QACjD,IAAIjB,iBAAiB,EAAE;UACrB,OAAOA,iBAAiB,CAACkC,CAAC,EAAEC,CAAC,EAAE,CAAClB,KAAK,IAAI,EAAE,EAAElB,MAAM,CAAC;QACtD;QACA,IAAIV,aAAa,EAAE;UACjB,OAAO,IAAI,CAACF,cAAc,CAAC+C,CAAC,EAAE7C,aAAa,CAAC;QAC9C;QACA,OAAO,IAAI,CAACpC,gBAAgB,CAACiF,CAAC,CAAC;MACjC,CAAE;MACF/D,WAAW,EAAE,IAAI,CAAC6D,KAAK,GAAC,OAAO,GAAC,MAAO;MACvCmB,aAAa;IAAA,CAAE,CAAC;EACtC;EAEAC,kBAAkBA,CAACC,WAAgB,EAAE;IACnC,IAAI,CAAC/G,WAAW,CAAC;MAAEgH,QAAQ,EAAED;IAAW,CAAQ,CAAC;EACnD;EAEAE,uBAAuBA,CAACzG,KAAwB,EAAC;IAC/C,IAAI0G,aAAa,GAAG1G,KAAK,CAACf,WAAW,CAACC,MAAM;IAC5C,IAAI,CAACM,WAAW,CAAC;MACfmH,cAAc,EAAED,aAAa,CAACnI,KAAK,GAAC,CAAC;MACrCqI,cAAc,EAAEF,aAAa,CAACtH;IAChC,CAAQ,CAAC;EACX;EAEAyH,aAAaA,CAAA,EAAE;IACb,oBACErK,KAAA,CAAA8E,aAAA,CAAC5E,IAAI;MACLiF,KAAK,EAAE,CACL;QACEmF,SAAS,EAAE,CACT;UAAEC,MAAM,EAAE;QAAS,CAAC,CACrB;QACDC,MAAM,EAAE,CAAC,EAAE;QACXjF,IAAI,EAAE,IAAI,CAACzC,KAAK,CAACqH,cAAc,GAAG,IAAI,CAACxF,MAAM,CAAC8F,cAAc,CAACC,iBAAiB,GAAC;MACjF,CAAC,EACD,IAAI,CAAC/F,MAAM,CAAC8F,cAAc;IAC1B,CACH,CAAC;EAEJ;EAEAE,UAAUA,CAAA,EAAG;IACX,IAAG,CAAC,IAAI,CAAC7H,KAAK,CAACX,KAAK,CAACyI,QAAQ,EAAC;MAC5B;IACF;IACA,MAAM7E,aAAa,GAAG,IAAI,CAACjD,KAAK,CAACX,KAAK,CAAC4D,aAAa;IACpD,IAAI8E,SAAS,GAAG9E,aAAa,GAAG,IAAI,CAACF,cAAc,CAAC,IAAI,CAAC/C,KAAK,CAACgI,YAAY,EAAE/E,aAAa,CAAC,GAAG,IAAI,CAACjD,KAAK,CAACgI,YAAY;IACrH,OAAO,IAAI,CAAChI,KAAK,CAACW,aAAa,GAC7B,CAACjD,OAAO,CAAC,IAAI,CAACsC,KAAK,CAACkH,QAAQ,CAAC,IAAI,IAAI,CAAC7H,KAAK,CAAC4I,iBAAiB,gBAC7D/K,KAAA,CAAA8E,aAAA,CAAC5E,IAAI;MAAC8K,QAAQ,EAAE,IAAI,CAACf,uBAAuB,CAACgB,IAAI,CAAC,IAAI,CAAE;MAAC9F,KAAK,EAAE;QAAE+F,QAAQ,EAAE,UAAU;QAAEzG,GAAG,EAAE,IAAI,CAAC3B,KAAK,CAACqI,gBAA0B;QAAE5F,IAAI,EAAE,IAAI,CAACzC,KAAK,CAACsI,gBAA0B;QAAGC,MAAM,EAAE;MAAE;IAAE,GACxL,IAAI,CAAClJ,KAAK,CAAC4I,iBAAiB,CAAC,IAAI,CAACjI,KAAK,CAACwI,YAAY,EAAE,IAAI,CAACxI,KAAK,CAACwI,YAAY,CAACC,KAAK,EAAE,IAAI,CAACzI,KAAK,CAACkH,QAAQ,CAAC,EACzG,IAAI,CAACK,aAAa,CAAC,CACnB,CAAC,gBACPrK,KAAA,CAAA8E,aAAA,CAAC5E,IAAI;MAACiF,KAAK,EAAE,CACX;QAAE+F,QAAQ,EAAE,UAAU;QAAEzG,GAAG,EAAE,IAAI,CAAC3B,KAAK,CAACqI;MAA0B,CAAC,EAAC,IAAI,CAACzC,KAAK,GAAG;QAAC8C,KAAK,EAAE,IAAI,CAAC1I,KAAK,CAACsI;MAA0B,CAAC,GAAG;QAAC7F,IAAI,EAAE,IAAI,CAACzC,KAAK,CAACsI;MAA0B,CAAC,EAC/K,IAAI,CAACzG,MAAM,CAAC8G,gBAAgB;IAC5B,gBACAzL,KAAA,CAAA8E,aAAA,CAAC3E,IAAI;MAACgF,KAAK,EAAE,CAAC;QAAEuG,QAAQ,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAO,CAAC,EAAC,IAAI,CAAChH,MAAM,CAACiH,YAAY;IAAE,GAAE,IAAI,CAAC9I,KAAK,CAAC+I,YAAmB,CAAC,eAC9G7L,KAAA,CAAA8E,aAAA,CAAC3E,IAAI;MAACgF,KAAK,EAAE,IAAI,CAACR,MAAM,CAACiH;IAAa,GAAEf,SAAgB,CAAC,EACxD,IAAI,CAACR,aAAa,CAAC,CAChB,CAAE,GACN,IAAI;EACV;;EAEA;EACAyB,qBAAqBA,CAACC,IAAY,EAAE;IAClC,OAAOA,IAAI,KAAK,QAAQ,IAAGA,IAAI,KAAK,MAAM;EAC5C;;EAEA;EACAC,iBAAiBA,CAACxE,IAAY,EAAE;IAC9B,MAAMrF,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAI7B,GAAG,CAAC6B,KAAK,EAAEqF,IAAI,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAK,IAAI,CAACsE,qBAAqB,CAAC3J,KAAK,CAAC4J,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,CAAC1J,KAAK,CAACmC,IAAI,CAACwB,MAAM,GAAG,CAAC,EAAE;MAC9B,IAAI,IAAI,CAACuF,iBAAiB,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAClJ,KAAK,CAACmC,IAAI,CAAC,CAAC,CAAC,CAAC0E,CAAC,KAAK,QAAQ,EAAE;QAC3E4C,aAAa,GAAG,IAAI,CAACE,gBAAgB,CAAC,IAAI,CAAC3J,KAAK,CAACmC,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3D;MACA,IAAI,IAAI,CAAC+G,iBAAiB,CAAC,GAAG,CAAC,EAAE;QAC/BQ,aAAa,GAAG,IAAI,CAACE,gBAAgB,CAAC,IAAI,CAAC5J,KAAK,CAACmC,IAAI,CAAC;MACxD;MACA,IAAIsH,aAAa,EAAE;QACjB,IAAI,CAACvJ,WAAW,CAAC;UACf2J,SAAS,EAAEH,aAAa,CAACJ,GAAG,CAACzC,CAAC;UAC9BiD,SAAS,EAAEJ,aAAa,CAACH,GAAG,CAAC1C;QAC/B,CAAM,CAAC;MACT;MACA,IAAIkD,IAAI;MACR,IAAIL,aAAa,EAAE;QACjB,IAAI,IAAI,CAACP,oBAAoB,CAAC;UAACI,GAAG,EAAEG,aAAa,CAACH,GAAG,CAAC7G,CAAC;UAAE4G,GAAG,EAAEI,aAAa,CAACJ,GAAG,CAAC5G;QAAC,CAAC,CAAC,EAAE;UACnFqH,IAAI,GAAG,IAAI,CAACpH,iBAAiB,CAAC+G,aAAa,CAACJ,GAAG,CAAC5G,CAAC,CAAC;QACpD;QACA,IAAI,CAACxC,WAAW,CAAC;UACf8J,SAAS,EAAED,IAAI,GAAGA,IAAI,GAAGL,aAAa,CAACJ,GAAG,CAAC5G,CAAC;UAC5CuH,SAAS,EAAEP,aAAa,CAACH,GAAG,CAAC7G;QAC/B,CAAM,CAAC;MACT;IACF;EACF;;EAEA;EACAiH,gBAAgBA,CAACO,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,CAACb,GAAG,GAAGzL,KAAK,CAACqM,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAACvD,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE9H;IAAS,CAAC;IAC5F;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIoL,OAAO,CAACZ,GAAG,GAAG3L,KAAK,CAACsM,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAACvD,CAAC,CAAC,IAAG;MAACA,CAAC,EAAE9H;IAAS,CAAC;IAC3F,OAAOoL,OAAO;EAChB;;EAEA;EACAP,gBAAgBA,CAACM,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;;IAGI3M,OAAO,CAAC2M,KAAK,EAAE/H,IAAI,IAAI;MACrB,IAAIA,IAAI,IAAI,CAACzE,OAAO,CAACyE,IAAI,CAAC,EAAE;QAC1BmI,SAAS,CAACE,IAAI,CAAC3M,KAAK,CAACsE,IAAI,EAAIiI,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC1H,CAAC;QAAC,CAAC,CAAC,CAAC;QACvF6H,SAAS,CAACC,IAAI,CAAC5M,KAAK,CAACuE,IAAI,EAAIiI,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC1H,CAAC;QAAC,CAAC,CAAC,CAAC;MACzF;IACF,CAAC,CAAC;IACF;IACA2H,OAAO,CAACf,GAAG,GAAGzL,KAAK,CAACyM,SAAS,EAAGF,UAA4B,IAAKA,UAAU,CAAC1H,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE3D;IAAS,CAAC;IAChGsL,OAAO,CAACd,GAAG,GAAG3L,KAAK,CAAC2M,SAAS,EAAGH,UAA4B,IAAKA,UAAU,CAAC1H,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE3D;IAAS,CAAC;IAChG,OAAOsL,OAAO;EAChB;EAEAI,qBAAqBA,CAACC,EAAe,EAAE;IACrC,IAAI5K,MAAM,GAAG,IAAI,CAAC+B,MAAM,CAACC,IAAI,CAAChC,MAAM,IAAI,GAAG;IAC3C,IAAIb,KAAK,GAAG,IAAI,CAAC4C,MAAM,CAACC,IAAI,CAAC7C,KAAK,IAAID,WAAW;IACjD,IAAIc,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MACxCA,MAAM,GAAG8B,QAAQ,CAAC9B,MAAM,CAAC;IAC3B;IACA,IAAIb,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCA,KAAK,GAAG2C,QAAQ,CAAC3C,KAAK,CAAC;IACzB;IACA,IAAI,CAACiB,WAAW,CAAC;MACfyK,WAAW,EAAE7K,MAAM;MACnBG,UAAU,EAAEhB;IACd,CAAC,EAAOyL,EAAE,CAAC;EACb;EAEAlK,UAAUA,CAACnB,KAA8B,EAAE;IACzC,IAAIuL,SAAS,GAAGvL,KAAK,CAACkB,KAAK,GAAGlB,KAAK,CAACkB,KAAK,GAAIlB,KAAK,CAAC4J,IAAI,KAAK,KAAK,GAAG,OAAO,GAAG,aAAc;IAC5F,IAAI4B,WAAW,GAAG,EAAE;IAEpB,IAAIxL,KAAK,CAACyL,YAAY,EAAE;MACtB,IAAI,OAAOzL,KAAK,CAACyL,YAAY,KAAK,QAAQ,IAAIzL,KAAK,CAACyL,YAAY,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9EF,WAAW,GAAGxL,KAAK,CAACyL,YAAY,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,KAAK,IAAIA,KAAK,CAACH,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACD,KAAK,IAAIA,KAAK,KAAK,EAAE,CAAC;MACtG,CAAC,MAAM,IAAIE,KAAK,CAAC3N,OAAO,CAAC4B,KAAK,CAACyL,YAAY,CAAC,IAAIzL,KAAK,CAACyL,YAAY,CAACnH,MAAM,GAAG,CAAC,EAAE;QAC7EkH,WAAW,GAAGxL,KAAK,CAACyL,YAAY,CAACK,MAAM,CAACD,KAAK,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,CAAC;MACtF;IACF;IAEA,IAAIG,gBAA0B,GAAG,EAAE;IACnC,IAAIhM,KAAK,CAACiM,WAAW,EAAE;MACrB,IAAI,OAAOjM,KAAK,CAACiM,WAAW,KAAK,QAAQ,IAAIjM,KAAK,CAACiM,WAAW,CAACP,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5EM,gBAAgB,GAAGhM,KAAK,CAACiM,WAAW,CAACN,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,KAAK,IAAIA,KAAK,CAACH,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAACD,KAAK,IAAIA,KAAK,KAAK,EAAE,CAAC;MAC1G,CAAC,MAAM,IAAIE,KAAK,CAAC3N,OAAO,CAAC4B,KAAK,CAACiM,WAAW,CAAC,IAAIjM,KAAK,CAACiM,WAAW,CAAC3H,MAAM,GAAG,CAAC,EAAE;QAC3E0H,gBAAgB,GAAGhM,KAAK,CAACiM,WAAW,CAACH,MAAM,CAACD,KAAK,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,CAAC;MAC1F;IACF;IAEA,IAAIK,UAAU;IACd,IAAI,OAAOX,SAAS,KAAK,QAAQ,EAAE;MAC/B,IAAIC,WAAW,CAAClH,MAAM,KAAK,CAAC,EAAE;QAC5BkH,WAAW,GAAGvM,YAAY,CAACkN,YAAY,CAACZ,SAAS,CAAC;MACpD;MACAW,UAAU,GAAGjN,YAAY,CAACmN,QAAQ,CAACb,SAAS,EAAEvL,KAAK,CAACwC,MAAM,EAAEgJ,WAAW,CAAC;IAC1E,CAAC,MAAM,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;MACxC;MACAW,UAAU,GAAGlM,KAAK,CAACkB,KAAK;IAC1B;IACA,IAAI,CAACL,WAAW,CAAC;MACfwL,MAAM,EAAEb,WAAW;MACnBtK,KAAK,EAAEgL;IACT,CAAM,CAAC;EACT;EAEFI,iBAAiBA,CAAA,EAAG;IAClB,MAAMtM,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAI,IAAI,CAACW,KAAK,CAACyG,KAAK,EAAE;MACpB,IAAImF,KAAU;MACd,IAAIvM,KAAK,CAAC4J,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM9G,IAAI,GAAGpE,OAAO,CAAC,IAAI,CAACiC,KAAK,CAACmC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;QACpDyJ,KAAK,GAAGzJ,IAAI,CAAC8I,GAAG,CAAEnF,CAAM,IAAK;UAC3B,OAAO;YACL7D,IAAI,EAAE,IAAI,CAACjC,KAAK,CAAC0D,eAAe,CAACoC,CAAC,CAACe,CAAC;UACtC,CAAC;QACH,CAAC,CAAC;MACJ,CAAC,MAAM;QACL+E,KAAK,GAAG,IAAI,CAAC5L,KAAK,CAACyG,KAAK,CAACwE,GAAG,CAAEnF,CAAS,IAAK;UAC1C,OAAO;YACL7D,IAAI,EAAE6D;UACR,CAAC;QACH,CAAC,CAAC;MACJ;MAEA,IAAI,CAAC5F,WAAW,CAAC;QACfkC,UAAU,EAAEwJ;MACd,CAAM,CAAC;IACT;EACF;EAEAC,aAAaA,CAAC5J,IAAY,EAAE;IAC1B,OAAO,IAAI,CAACjC,KAAK,CAACoC,UAAU,CAAC6I,GAAG,CAAC,CAACa,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,CAAC/J,IAAI,GAAG,GAAG,GAAG8J,GAAG,CAAC;cAC7BE,MAAM,EAAE,MAAM;cACdC,QAAQ,EAAE,KAAK;cACfI,QAAQ,EAAGjN,KAAU,IAAK;gBACxB,OAAO,IAAI;cACb;YACF,CAAC,CACF;UACH,CAAC;UACDkN,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,EAAElE,KAAa,EAAE/E,eAA2B,EAAE;IACpG,MAAMd,KAAU,GAAGpF,GAAG,CAACkP,OAAO,EAAEC,IAAI,CAAC;IACrC,IAAIrP,MAAM,CAACsF,KAAK,CAAC,CAACgK,OAAO,CAAC,CAAC,IAAIC,KAAK,CAACjK,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACrG,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAC;QAC5Bc,eAAe,CAAC8G,IAAI,CAAC5H,KAAK,CAACkK,OAAO,CAAC,KAAK,EAAC,IAAI,CAAC,CAAC;MACjD,CAAC,MACG;QACFpJ,eAAe,CAAC8G,IAAI,CAAC5H,KAAK,CAAC;MAC7B;MACA,OAAO6F,KAAK;IACd;IACA,OAAO7F,KAAK;EACd;EAEAmK,gBAAgBA,CAACC,OAAY,EAAE;IAC7B,MAAM3N,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAI4N,KAAK,GAAG5N,KAAK,CAAC6E,YAAY;IAC9B,IAAIgJ,KAAK,GAAG7N,KAAK,CAACgH,YAAY;IAC9B,IAAI3C,eAA2B,GAAG,EAAE;IACpC,IAAIyJ,QAAa,GAAG,EAAE;IACtB,IAAIH,OAAO,CAACrJ,MAAM,KAAK,CAAC,EAAE;MAAA,IAAAyJ,MAAA;MACxBJ,OAAO,GAAGxO,mBAAmB,CAACC,YAAY,CAAC,IAAI,CAACY,KAAK,CAAC,GAAA+N,MAAA,GAAEF,KAAK,cAAAE,MAAA,uBAALA,MAAA,CAAOpC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC3L,KAAK,CAACgO,KAAK,CAAC;MAC5FJ,KAAK,GAAG,GAAG;MACXC,KAAK,GAAG,GAAG;IACb;IACA,IAAID,KAAK,IAAIC,KAAK,EAAE;MAClB,IAAII,IAAI,GAAGJ,KAAK,CAAClC,KAAK,CAAC,GAAG,CAAC;MAC3BsC,IAAI,CAAC/P,OAAO,CAAEmF,CAAM,IAAK;QACvB,IAAIuK,KAAK,KAAKvK,CAAC,EAAE;UACfyK,QAAQ,CAAC3C,IAAI,CAACwC,OAAO,CAAC/B,GAAG,CAAC,CAACsC,CAAwB,EAAEC,MAAc,KAAK;YACtE,MAAMC,IAAI,GAAG,IAAI,CAAChB,WAAW,CAACc,CAAC,EAAEN,KAAK,EAAEO,MAAM,EAAE9J,eAAe,CAAC;YAChE,IAAIV,IAAqB,GAAGxF,GAAG,CAAC+P,CAAC,EAAE7K,CAAC,CAAC;YACrC,IAAI,OAAOM,IAAI,KAAK,QAAQ,EAAE;cAC5BA,IAAI,GAAG0K,UAAU,CAAC1K,IAAI,CAAC,IAAIA,IAAI;YACjC;YACA,IAAI0J,OAAO,GAAG;cACZ7F,CAAC,EAAE4G,IAAI;cACP/K,CAAC,EAAEM;YACL,CAAC;YACD,IAAI3D,KAAK,CAACsO,UAAU,EAAE;cACpB7P,GAAG,CAAC4O,OAAO,EAAE,MAAM,EAAElP,GAAG,CAAC+P,CAAC,EAAElO,KAAK,CAACsO,UAAU,EAAE,CAAC,CAAC,CAAC;YACnD;YACA,IAAItO,KAAK,CAACgO,KAAK,EAAE;cACfvP,GAAG,CAAC4O,OAAO,EAAE,QAAQ,EAAExN,MAAM,CAACG,KAAK,CAACgO,KAAK,CAAC,CAAC;YAC7C;YACA,OAAOX,OAAO;UAChB,CAAC,CAAC,CAAC;QACL;MACF,CAAC,CAAC;MACF;MACA,IAAI,CAACkB,mBAAmB,CAAC,aAAa,EAAE,CAAC7O,SAAS,EAAE,IAAI,CAAC8O,KAAK,CAAC,CAAC;MAChE,IAAIxO,KAAK,CAAC4J,IAAI,IAAI,KAAK,IAAI5J,KAAK,CAAC4J,IAAI,KAAK,OAAO,EAAE;QACjD;QACA6E,UAAU,CAAC,MAAM;UACf,IAAI,CAAC5N,WAAW,CAAC;YACf6N,QAAQ,EAAE;UACZ,CAAM,CAAC;QACT,CAAC,EAAE,GAAG,CAAC;MACT;MACA,IAAI,CAACC,UAAU,CAACb,QAAQ,EAAEG,IAAI,EAAE5J,eAAe,CAAC;IAClD;EACF;EAGUuK,iBAAiBA,CAAA,EAAG;IAC5B,MAAM5O,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,oBAAQnC,KAAA,CAAA8E,aAAA,CAAC3D,MAAM;MAAC6P,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,YAAY,CAAE;MAACtM,MAAM,EAAE,IAAI,CAACA,MAAM,CAACuM,WAAY;MAClFC,SAAS,EAAEhP,KAAK,CAACiP,WAAY;MAC7BC,OAAO,EAAElP,KAAK,CAACmP;IAAe,CAAS,CAAC;EAC1C;EAEAR,UAAUA,CAACb,QAAa,EAAEG,IAAS,EAAE5J,eAA2B,EAAE;IAChE,MAAMrE,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAI,CAACa,WAAW,CAAC;MACfiC,IAAI,EAAEgL,QAAe;MACrB1G,KAAK,EAAE6G,IAAI;MACX5J,eAAe,EAAEA;IACnB,CAAC,EAAO,MAAM;MACZ,IAAI,CAACiI,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACtM,KAAK,CAACoP,SAAS,IAAIpP,KAAK,CAACoP,SAAS,KAAK,SAAS,EAAE;QACrD,IAAI,CAACC,QAAQ,CAAC,IAAI,CAAC1O,KAAK,CAACmC,IAAI,CAAC,CAAC,CAAC,CAAC;MACnC;MACA,IAAI,IAAI,CAAC6G,qBAAqB,CAAC3J,KAAK,CAAC4J,IAAI,CAAC,KAAK5J,KAAK,CAACsP,OAAO,IAAItP,KAAK,CAACuP,OAAO,CAAC,EAAE;QAC9E,IAAI,CAACpF,eAAe,CAAC,CAAC;MACxB;MACA,IAAI,CAACtJ,WAAW,CAAC;QACf2O,OAAO,EAAE;MACX,CAAM,CAAC;IACT,CAAC,CAAC;EACJ;EAEAH,QAAQA,CAACvM,IAAgC,EAAE;IACzC,IAAI2M,KAAK,GAAG,CAAC;IACb3M,IAAI,CAAC5E,OAAO,CAAEuI,CAAmB,IAAK;MACpCgJ,KAAK,IAAIhJ,CAAC,CAACpD,CAAW;IACxB,CAAC,CAAC;IACF,IAAI,CAACxC,WAAW,CAAC;MACf4O,KAAK,EAAEA;IACT,CAAM,CAAC;EACT;EAEAC,gBAAgBA,CAAC9M,IAAY,EAAE+M,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACF,gBAAgB,CAAC9M,IAAI,EAAE+M,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAM5P,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAI6P,KAAK,GAAG,EAAE;IACd,QAAOjN,IAAI;MACT,KAAK,cAAc;QACjB,IAAI,CAACzB,UAAU,CAAC;UAAC,GAAGnB,KAAK;UAAEyL,YAAY,EAAEkE;QAAI,CAAC,CAAC;QAC/C;MACF,KAAK,aAAa;QAChB,IAAI,CAACxO,UAAU,CAAC;UAAC,GAAGnB,KAAK;UAAEiM,WAAW,EAAE0D;QAAI,CAAC,CAAC;QAC9C;MACF,KAAK,OAAO;QACV,IAAI,CAACxO,UAAU,CAACnB,KAAK,CAAC;QACtB;MACF,KAAK,SAAS;QACZ,IAAI,CAAC5B,OAAO,CAACuR,IAAI,CAAC,EAAE;UAClB,IAAIrR,QAAQ,CAACqR,IAAI,CAAC,IAAI,CAACtR,OAAO,CAACsR,IAAI,CAAC,EAAE;YACpCA,IAAI,GAAG,CAACA,IAAI,CAAC;UACf,CAAC,MAAM;YACLA,IAAI,GAAG,EAAE;UACX;QACF;QACAA,IAAI,IAAI,IAAI,CAACjC,gBAAgB,CAACiC,IAAI,CAAC;QACnC;MACF,KAAK,YAAY;QACf,IAAI3P,KAAK,CAAC8E,MAAM,EAAE;UAChB+K,KAAK,GAAG,IAAI,GAAG7P,KAAK,CAAC8E,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACjE,WAAW,CAAC;UACfiP,MAAM,EAAEH,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;MACF,KAAK,YAAY;QACf,IAAI7P,KAAK,CAACiH,MAAM,EAAE;UAChB4I,KAAK,GAAG,IAAI,GAAG7P,KAAK,CAACiH,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACpG,WAAW,CAAC;UACfkP,MAAM,EAAEJ,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;IACJ;EACF;EAEOG,cAAcA,CAAChQ,KAAQ,EAAmB;IAC/C,IAAGA,KAAK,CAACiQ,yBAAyB,EAAE;MAAA,IAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA;MAClC,oBAAOvS,KAAA,CAAA8E,aAAA,CAAC5E,IAAI;QAACiF,KAAK,EAAE,CAAC;UAACpD,KAAK,EAAE;QAAM,CAAC,GAAAsQ,YAAA,GAAE,IAAI,CAAC1N,MAAM,cAAA0N,YAAA,uBAAXA,YAAA,CAAazN,IAAI;MAAE,gBACzD5E,KAAA,CAAA8E,aAAA,CAACtD,QAAQ;QAACmD,MAAM,EAAE;UAAE6N,OAAO,EAAE;YAAC,KAAAF,aAAA,GAAG,IAAI,CAAC3N,MAAM,cAAA2N,aAAA,uBAAXA,aAAA,CAAa1N,IAAI;YAAE,KAAA2N,aAAA,GAAG,IAAI,CAAC5N,MAAM,cAAA4N,aAAA,gBAAAA,aAAA,GAAXA,aAAA,CAAaE,QAAQ,cAAAF,aAAA,uBAArBA,aAAA,CAAuB3N,IAAI;UAAA;QAAE,CAAE;QAAC8N,MAAM,EAAEvQ,KAAK,CAACiQ,yBAA0B;QAACO,IAAI,EAAE,IAAK;QAACC,QAAQ,EAAE,IAAK;QAACC,KAAK,EAAE,IAAI,CAAC1Q,KAAK,CAAC2Q;MAAuB,CAAC,CAClM,CAAC;IACP;IACA,OAAO,IAAI;EACb;AACF;AACA,SAASC,WAAWA,CAACC,aAAuE,EAAO;EACjG,MAAM,IAAIC,KAAK,CAAC,2BAA2B,CAAC;AAC9C","ignoreList":[]}
1
+ {"version":3,"names":["React","Dimensions","View","Text","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","orderBy","VictoryLegend","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","constructSampleData","getChartType","WmLottie","BaseChartComponentState","constructor","args","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","defaultProps","defaultState","e","viewWidth","nativeEvent","layout","viewHeight","height","handleLayout","state","chartWidth","updateState","Number","totalHeight","viewRef","createRef","theme","applyTheme","subscribe","event","isTooltipOpen","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","showlegend","top","parseInt","styles","root","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","setYAxisFormat","yVal","ynumberformat","matchFixed","match","matchExponential","toExponential","toLocaleString","getXAxisTickLabelFormatter","val","idx","i","xaxisDatakeyArr","length","label","xtickexpr","String","getYAxisTickLabelFormatter","ytickexpr","getAxisTheme","axis","_axisStyle$stroke","_s$axis","_axisStyle$strokeWidt","_s$axis2","_axisLabelStyle$fill","_s$axisLabel","_tickStyle$stroke","_s$ticks","_tickStyle$strokeWidt","_s$ticks2","_tickLabelStyle$fill","_s$tickLabels","_gridStyle$stroke","_s$grid","_gridStyle$strokeWidt","_s$grid2","s","axisStyle","xAxis","yAxis","axisLabelStyle","xAxisLabel","yAxisLabel","tickStyle","xTicks","yTicks","tickLabelStyle","xTickLabels","yTickLabels","gridStyle","xGrid","yGrid","lineColor","lineWidth","strokeWidth","labelColor","fill","axisLabel","tickColor","ticks","tickWidth","tickLabelColor","tickLabels","splitLineColor","grid","splitLineWidth","getGridLineTheme","_gridStyle$stroke2","_s$grid3","_gridStyle$strokeWidt2","_s$grid4","getTooltipTheme","container","tooltipContainer","xText","tooltipXText","yText","tooltipYText","backgroundColor","valueColor","borderColor","borderWidth","borderRadius","padding","getChartTheme","swapAxes","series","_this$styles$legendTe","_this$styles$legendTe2","_this$styles$legenedD","x","legend","textColor","legendText","fontSize","legenedDot","tooltip","setTooltipTemplate","partialName","template","setTooltipPartialLayout","tooltipLayout","tooltipoffsetx","tooltipoffsety","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","tooltips","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","tooltipYPosition","tooltipXPosition","zIndex","selectedItem","index","isRTL","right","fontWeight","tooltipXaxis","hasCustomTooltip","getRenderTooltip","params","_this$props$renderite","_this$props$renderite2","_this$props","dataset","dataIndex","call","isAxisDomainSupported","type","getMinDomain","xdomain","chartMinX","ydomain","chartMinY","getSeriesSymbol","highlightpoints","ticksymbol","isAxisDomainValid","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","getXMinMaxValues","getYMinMaxValues","chartMaxX","yMin","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","themeName","colorsToUse","customcolors","trim","split","map","color","filter","Array","labelColorsToUse","labelcolors","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","ldata","d","prepareEvents","_","childName","target","eventKey","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","isValid","isNaN","replace","prepareDataItems","xaxis","xaxisdatakey","yaxis","yaxisdatakey","datasets","_yaxis","shape","yPts","o","xindex","xVal","parseFloat","bubblesize","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","id","getTestId","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","loading","total","onPropertyChange","$new","$old","units","xunits","xLabel","yunits","yLabel","renderSkeleton","skeletonanimationresource","_this$styles","_this$styles2","_this$styles3","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","getDataType","widgetContext","Error"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions, View, Text, LayoutChangeEvent} from 'react-native';\nimport moment from \"moment\";\nimport {forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim, orderBy} from \"lodash-es\";\nimport {VictoryLegend} from \"victory-native\";\nimport { ChartTheme } from \"@wavemaker/react-native-echarts\";\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker-ai/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\nimport { isWebPreviewMode } from \"@wavemaker-ai/app-rn-runtime/core/utils\";\nimport WmLottie from \"../basic/lottie/lottie.component\";\n\ntype ChartAxisTheme = ChartTheme['axis']['x'];\ntype ChartGridLineTheme = ChartTheme['grid']['x'];\ntype ChartTooltipTheme = ChartTheme['tooltip'];\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 labelColors: 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 totalHeight: number = 0;\n chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n tooltipXPosition = 0;\n tooltipYPosition = 0;\n tooltipXaxis = 0;\n tooltipYaxis = 0;\n tooltipoffsetx: number = 50;\n tooltipoffsety: number = 80;\n isTooltipOpen: boolean = false;\n selectedItem: any = {}\n template: string = \"\";\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: any} = {\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 protected viewRef: React.RefObject<View | null>;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.viewRef = React.createRef();\n if (!props.theme) {\n this.applyTheme(props);\n }\n this.subscribe('globaltouch', (event: any) => {\n this.updateState({\n isTooltipOpen: false\n } as any)\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n let viewHeight = e.nativeEvent.layout.height;\n\n this.handleLayout(e)\n\n if (this?.state && viewWidth !== this.state.chartWidth) {\n this.updateState({\n chartWidth: Number(viewWidth),\n totalHeight: Number(viewHeight)\n } as any)\n }\n }\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 setYAxisFormat(yVal: any, ynumberformat: string){\n const matchFixed = ynumberformat.match(/\\.([0-9])f/);\n const matchExponential = ynumberformat.match(/\\.([0-9])g/);\n if (matchFixed) {\n return yVal.toFixed(parseInt(matchFixed[1], 10));\n } else if (matchExponential) {\n return yVal.toExponential(parseInt(matchExponential[1], 10));\n }\n switch (ynumberformat) {\n case '%':\n return (yVal * 100).toFixed(0) + '%';\n case 'Billion':\n return (yVal / 1e9).toFixed(1) + 'B';\n case 'Million':\n return (yVal / 1e6).toFixed(1) + 'M';\n case 'Thousand':\n return (yVal / 1e3).toFixed(1) + 'K';\n case ',r':\n return yVal.toLocaleString();\n }\n }\n\ngetXAxisTickLabelFormatter() {\n return (val: string | number, idx?: number): string => {\n const i = idx ?? Number(val);\n if (i < 0 || i >= this.state.xaxisDatakeyArr.length) {\n return '';\n }\n const label = this.state.xaxisDatakeyArr[i];\n if (this.state.props.xtickexpr) {\n return String(this.state.props.xtickexpr(label, i, this.state.xaxisDatakeyArr.length));\n }\n return String(label ?? val);\n };\n}\n\ngetYAxisTickLabelFormatter() {\n return (val: string | number, idx?: number): string => {\n const props = this.state.props;\n if (props.ytickexpr) {\n return String(props.ytickexpr(val, idx ?? 0, this.state.xaxisDatakeyArr.length));\n }\n if (props.ynumberformat) {\n return String(this.setYAxisFormat(val, props.ynumberformat));\n }\n return String(this.abbreviateNumber(val));\n };\n}\n\n protected getAxisTheme(axis: 'x' | 'y'): Partial<ChartAxisTheme> {\n const s = this.styles;\n const axisStyle = axis === 'x' ? s.xAxis : s.yAxis;\n const axisLabelStyle = axis === 'x' ? s.xAxisLabel : s.yAxisLabel;\n const tickStyle = axis === 'x' ? s.xTicks : s.yTicks;\n const tickLabelStyle = axis === 'x' ? s.xTickLabels : s.yTickLabels;\n const gridStyle = axis === 'x' ? s.xGrid : s.yGrid;\n return {\n lineColor: axisStyle?.stroke ?? s.axis?.stroke,\n lineWidth: axisStyle?.strokeWidth ?? s.axis?.strokeWidth,\n labelColor: axisLabelStyle?.fill ?? s.axisLabel?.fill,\n tickColor: tickStyle?.stroke ?? s.ticks?.stroke,\n tickWidth: tickStyle?.strokeWidth ?? s.ticks?.strokeWidth,\n tickLabelColor: tickLabelStyle?.fill ?? s.tickLabels?.fill,\n splitLineColor: gridStyle?.stroke ?? s.grid?.stroke,\n splitLineWidth: gridStyle?.strokeWidth ?? s.grid?.strokeWidth,\n } as Partial<ChartAxisTheme>;\n }\n\n protected getGridLineTheme(axis: 'x' | 'y'): Partial<ChartGridLineTheme> {\n const s = this.styles;\n const gridStyle = axis === 'x' ? s.xGrid : s.yGrid;\n return {\n lineColor: gridStyle?.stroke ?? s.grid?.stroke,\n lineWidth: gridStyle?.strokeWidth ?? s.grid?.strokeWidth,\n } as Partial<ChartGridLineTheme>;\n }\n\n protected getTooltipTheme(): Partial<ChartTooltipTheme> {\n const container = this.styles.tooltipContainer || {};\n const xText = this.styles.tooltipXText || {};\n const yText = this.styles.tooltipYText || {};\n return {\n backgroundColor: container.backgroundColor,\n labelColor: xText.fill,\n valueColor: yText.fill,\n borderColor: container.borderColor,\n borderWidth: container.borderWidth,\n borderRadius: container.borderRadius,\n padding: container.padding,\n } as Partial<ChartTooltipTheme>;\n }\n\n protected getChartTheme(\n swapAxes: boolean = false,\n series?: Array<{ color: string; lineWidth?: number }>\n ): Partial<ChartTheme> {\n return {\n axis: {\n x: swapAxes ? this.getAxisTheme('y') : this.getAxisTheme('x'),\n y: swapAxes ? this.getAxisTheme('x') : this.getAxisTheme('y'),\n },\n grid: {\n x: swapAxes ? this.getGridLineTheme('y') : this.getGridLineTheme('x'),\n y: swapAxes ? this.getGridLineTheme('x') : this.getGridLineTheme('y'),\n },\n legend: {\n textColor: (this.styles.legendText as any)?.fill,\n fontSize: (this.styles.legendText as any)?.fontSize,\n backgroundColor: (this.styles.legenedDot as any)?.backgroundColor,\n },\n tooltip: this.getTooltipTheme(),\n ...(series ? { series } : {}),\n } as Partial<ChartTheme>;\n }\n\n setTooltipTemplate(partialName: any) {\n this.updateState({ template: partialName} as any);\n }\n\n setTooltipPartialLayout(event: LayoutChangeEvent){\n let tooltipLayout = event.nativeEvent.layout;\n this.updateState({\n tooltipoffsetx: tooltipLayout.width/2,\n tooltipoffsety: tooltipLayout.height\n } as any)\n }\n\n renderPointer(){\n return (\n <View\n style={[\n {\n transform: [\n { rotate: '180deg' }\n ],\n bottom: -10,\n left: this.state.tooltipoffsetx - this.styles.tooltipPointer.borderBottomWidth/2\n },\n this.styles.tooltipPointer\n ]}\n />\n )\n }\n\n getTooltip() {\n if(!this.state.props.tooltips){\n return;\n }\n const ynumberformat = this.state.props.ynumberformat;\n let yAxisData = ynumberformat ? this.setYAxisFormat(this.state.tooltipYaxis, ynumberformat) : this.state.tooltipYaxis;\n return this.state.isTooltipOpen ? (\n !isEmpty(this.state.template) && this.props.renderitempartial ?\n <View onLayout={this.setTooltipPartialLayout.bind(this)} style={{ position: \"absolute\", top: this.state.tooltipYPosition as number, left: this.state.tooltipXPosition as number , zIndex: 99}}>\n {this.props.renderitempartial(this.state.selectedItem, this.state.selectedItem.index, this.state.template)}\n {this.renderPointer()}\n </View> : (\n <View style={[\n { position: \"absolute\", top: this.state.tooltipYPosition as number},this.isRTL ? {right: this.state.tooltipXPosition as number} : {left: this.state.tooltipXPosition as number},\n this.styles.tooltipContainer\n ]}>\n <Text style={[{ fontSize: 16, fontWeight: 'bold' },this.styles.tooltipXText]}>{this.state.tooltipXaxis}</Text>\n <Text style={this.styles.tooltipXText}>{yAxisData}</Text>\n {this.renderPointer()}\n </View>)\n ) : null;\n }\n get hasCustomTooltip(): boolean {\n return !!this.state.template && !!this.props.renderitempartial;\n }\n\n getRenderTooltip() {\n if (!this.hasCustomTooltip) return undefined;\n return (params: { dataIndex: number }) => {\n const selectedItem = this.props.dataset[params.dataIndex];\n return this.props.renderitempartial?.(\n { ...selectedItem, index: params.dataIndex },\n params.dataIndex,\n this.state.template\n ) ?? null;\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 return type === 'Area'\n }\n\n getMinDomain() {\n const props = this.state.props;\n return {\n x: props.xdomain === 'Min' ? this.state.chartMinX : 0,\n y: props.ydomain === 'Min' ? this.state.chartMinY : 0,\n };\n }\n\n getSeriesSymbol(highlightpoints?: boolean, ticksymbol?: string): string {\n if (!highlightpoints || ticksymbol === 'none') {\n return 'none';\n }\n return ticksymbol ?? 'circle';\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\n if (props.customcolors) {\n if (typeof props.customcolors === 'string' && props.customcolors.trim() !== '') {\n colorsToUse = props.customcolors.split(',').map(color => color.trim()).filter(color => color !== '');\n } else if (Array.isArray(props.customcolors) && props.customcolors.length > 0) {\n colorsToUse = props.customcolors.filter(color => color && typeof color === 'string');\n }\n }\n\n let labelColorsToUse: string[] = [];\n if (props.labelcolors) {\n if (typeof props.labelcolors === 'string' && props.labelcolors.trim() !== '') {\n labelColorsToUse = props.labelcolors.split(',').map(color => color.trim()).filter(color => color !== '');\n } else if (Array.isArray(props.labelcolors) && props.labelcolors.length > 0) {\n labelColorsToUse = props.labelcolors.filter(color => color && typeof color === 'string');\n }\n }\n\n let themeToUse;\n if (typeof themeName === 'string') {\n if (colorsToUse.length === 0) {\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).isValid() || isNaN(value) || typeof value === 'string' || typeof value === 'number') {\n if (typeof value === \"string\"){\n xaxisDatakeyArr.push(value.replace(\"\\\\n\",\"\\n\"));\n }\n else{\n xaxisDatakeyArr.push(value);\n }\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 if (dataset.length === 0) {\n dataset = constructSampleData(getChartType(this.props), yaxis?.split(','), this.props.shape);\n xaxis = \"x\";\n yaxis = \"y\";\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 id={this.getTestId('loadericon')} 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 this.applyTheme({...props, customcolors: $new});\n break;\n case 'labelcolors':\n this.applyTheme({...props, labelcolors: $new});\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 (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 public renderSkeleton(props: T): React.ReactNode {\n if(props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles?.root]}>\n <WmLottie styles={{ content: {...this.styles?.root, ...this.styles?.skeleton?.root} }} source={props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n }\n return null;\n }\n}\nfunction getDataType(widgetContext: { yaxisdatakey: string | null | undefined; shape: any; }): any {\n throw new Error(\"Function not implemented.\");\n}\n\n"],"mappings":"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","ignoreList":[]}
@@ -61,6 +61,18 @@ export default class BaseChartComponentProps extends SkeletonAnimationProps {
61
61
  _defineProperty(this, "showxaxislabels", true);
62
62
  _defineProperty(this, "showyaxislabels", true);
63
63
  _defineProperty(this, "chartheight", void 0);
64
+ _defineProperty(this, "showxaxisticks", void 0);
65
+ _defineProperty(this, "showyaxisticks", void 0);
66
+ _defineProperty(this, "boundarygap", void 0);
67
+ _defineProperty(this, "grid", void 0);
68
+ _defineProperty(this, "tooltip", void 0);
69
+ _defineProperty(this, "showhighlighter", true);
70
+ _defineProperty(this, "stacknormalize", false);
71
+ _defineProperty(this, "ticksymbol", void 0);
72
+ _defineProperty(this, "stepposition", void 0);
73
+ _defineProperty(this, "symbolsize", 5);
74
+ _defineProperty(this, "intervalx", undefined);
75
+ _defineProperty(this, "intervaly", undefined);
64
76
  }
65
77
  }
66
78
  //# sourceMappingURL=basechart.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SkeletonAnimationProps","BaseChartComponentProps","constructor","args","_defineProperty","undefined"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker-ai/app-rn-runtime/runtime/base-fragment.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class BaseChartComponentProps extends SkeletonAnimationProps {\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 = undefined;\n xaxislabeldistance?: number = undefined;\n offsetxaxis?: number = undefined;\n offsetyaxis?: number = undefined;\n customcolors: string | Array<string> = '';\n labelcolors: 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 = true;\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 accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n ynumberformat?: string = '';\n showxaxislabels: boolean = true;\n showyaxislabels: boolean = true;\n chartheight?: number;\n}\n"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,8DAA8D;AAGrG,eAAe,MAAMC,uBAAuB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBACnD,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,6BACWC,SAAS;IAAAD,eAAA,6BACTC,SAAS;IAAAD,eAAA,sBAChBC,SAAS;IAAAD,eAAA,sBACTC,SAAS;IAAAD,eAAA,uBACO,EAAE;IAAAA,eAAA,sBACH,EAAE;IAAAA,eAAA,uBACjB,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,IAAI;IAAAA,eAAA,wBACA,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;IAAAA,eAAA,qBACV,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGA,EAAE;IAAAA,eAAA,0BACA,IAAI;IAAAA,eAAA,0BACJ,IAAI;IAAAA,eAAA;EAAA;AAEjC","ignoreList":[]}
1
+ {"version":3,"names":["SkeletonAnimationProps","BaseChartComponentProps","constructor","args","_defineProperty","undefined"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker-ai/app-rn-runtime/runtime/base-fragment.component';\nimport { CartesianGrid } from '@wavemaker/react-native-echarts/props/cartesian';\nimport { ChartTooltipOption } from '@wavemaker/react-native-echarts/tooltip';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class BaseChartComponentProps extends SkeletonAnimationProps {\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 = undefined;\n xaxislabeldistance?: number = undefined;\n offsetxaxis?: number = undefined;\n offsetyaxis?: number = undefined;\n customcolors: string | Array<string> = '';\n labelcolors: 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 = true;\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 accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n ynumberformat?: string = '';\n showxaxislabels: boolean = true;\n showyaxislabels: boolean = true;\n chartheight?: number;\n showxaxisticks?: boolean;\n showyaxisticks?: boolean;\n boundarygap?: boolean;\n grid?: CartesianGrid;\n tooltip?: ChartTooltipOption;\n showhighlighter: boolean = true;\n stacknormalize?: boolean = false;\n ticksymbol?: 'none' | 'circle' | 'rect' | 'roundRect' | 'triangle' | 'diamond' | 'pin' | 'arrow' | string;\n stepposition?: 'start' | 'middle' | 'end' | false;\n symbolsize?: number = 5;\n intervalx?: number = undefined;\n intervaly?: number = undefined\n}\n"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,8DAA8D;AAKrG,eAAe,MAAMC,uBAAuB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBACnD,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,6BACWC,SAAS;IAAAD,eAAA,6BACTC,SAAS;IAAAD,eAAA,sBAChBC,SAAS;IAAAD,eAAA,sBACTC,SAAS;IAAAD,eAAA,uBACO,EAAE;IAAAA,eAAA,sBACH,EAAE;IAAAA,eAAA,uBACjB,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,IAAI;IAAAA,eAAA,wBACA,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;IAAAA,eAAA,qBACV,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGA,EAAE;IAAAA,eAAA,0BACA,IAAI;IAAAA,eAAA,0BACJ,IAAI;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,0BAOJ,IAAI;IAAAA,eAAA,yBACJ,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAGV,CAAC;IAAAA,eAAA,oBACFC,SAAS;IAAAD,eAAA,oBACTC,SAAS;EAAA;AAChC","ignoreList":[]}