@wavemaker/app-rn-runtime 11.8.2-rc.5719 → 11.8.3-2.5768

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 (47) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +18 -3
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +3 -3
  4. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  5. app-rn-runtime/components/chart/basechart.component.js +1 -0
  6. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  7. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +37 -11
  8. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  9. app-rn-runtime/components/container/accordion/accordion.component.js +2 -1
  10. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  11. app-rn-runtime/components/container/accordion/accordion.styles.js +1 -0
  12. app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
  13. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +2 -4
  14. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  15. app-rn-runtime/components/container/wizard/wizard.component.js +2 -2
  16. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  17. app-rn-runtime/components/data/form/form-field/form-field.component.js +0 -1
  18. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  19. app-rn-runtime/components/input/basenumber/basenumber.component.js +14 -8
  20. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  21. app-rn-runtime/components/input/basenumber/basenumber.props.js +1 -0
  22. app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
  23. app-rn-runtime/components/input/checkbox/checkbox.component.js +2 -1
  24. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  25. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +2 -1
  26. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  27. app-rn-runtime/components/input/chips/chips.component.js +1 -1
  28. app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
  29. app-rn-runtime/components/input/number/number.component.js +6 -3
  30. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  31. app-rn-runtime/components/input/radioset/radioset.component.js +5 -5
  32. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  33. app-rn-runtime/components/input/select/select.component.js +10 -7
  34. app-rn-runtime/components/input/select/select.component.js.map +1 -1
  35. app-rn-runtime/components/input/switch/switch.component.js +2 -2
  36. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  37. app-rn-runtime/components/navigation/navitem/navitem.component.js +2 -3
  38. app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
  39. app-rn-runtime/core/base.component.js +1 -0
  40. app-rn-runtime/core/base.component.js.map +1 -1
  41. app-rn-runtime/core/components/textinput.component.js +3 -3
  42. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  43. app-rn-runtime/core/props.provider.js +3 -0
  44. app-rn-runtime/core/props.provider.js.map +1 -1
  45. app-rn-runtime/package.json +3 -3
  46. app-rn-runtime/runtime/base-fragment.component.js +15 -0
  47. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
@@ -1,3 +1,4 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -109,6 +110,9 @@ export default class WmCarousel extends BaseComponent {
109
110
  return 'list_item_' + this.keyExtractor.getKey(item, true);
110
111
  }
111
112
  autoPlay() {
113
+ if (!this.initialized) {
114
+ return;
115
+ }
112
116
  const props = this.state.props;
113
117
  this.stopPlay && this.stopPlay();
114
118
  if (props.animation === 'auto' && props.animationinterval) {
@@ -124,6 +128,12 @@ export default class WmCarousel extends BaseComponent {
124
128
  }, 1000);
125
129
  }
126
130
  }
131
+ stopAnimation() {
132
+ this.stopPlay();
133
+ }
134
+ startAnimation() {
135
+ this.autoPlay();
136
+ }
127
137
  onPropertyChange(name, $new, $old) {
128
138
  super.onPropertyChange(name, $new, $old);
129
139
  switch (name) {
@@ -194,10 +204,11 @@ export default class WmCarousel extends BaseComponent {
194
204
  flexDirection: this.isRTL ? 'row-reverse' : 'row'
195
205
  }
196
206
  }, data.map((item, index) => {
197
- return index >= minIndex && index <= maxIndex ? /*#__PURE__*/React.createElement(View, {
198
- key: 'dots_' + this.generateItemKey(item, index, this.state.props),
207
+ return index >= minIndex && index <= maxIndex ? /*#__PURE__*/React.createElement(View, _extends({
208
+ key: 'dots_' + this.generateItemKey(item, index, this.state.props)
209
+ }, this.getTestPropsForAction('indicator' + index), {
199
210
  style: [this.styles.dotStyle]
200
- }) : null;
211
+ })) : null;
201
212
  }), /*#__PURE__*/React.createElement(Animated.View, {
202
213
  style: [this.styles.dotStyle, this.styles.activeDotStyle, {
203
214
  width: undefined,
@@ -220,6 +231,10 @@ export default class WmCarousel extends BaseComponent {
220
231
  }]
221
232
  }))));
222
233
  }
234
+ componentDidMount() {
235
+ super.componentDidMount();
236
+ this.autoPlay();
237
+ }
223
238
  renderWidget(props) {
224
239
  var _data, _this$styles$slide;
225
240
  const hasNavs = props.controls === 'both' || props.controls === 'navs';
@@ -1 +1 @@
1
- {"version":3,"names":["React","isArray","isUndefined","Animated","Easing","View","DefaultKeyExtractor","WmIcon","BaseComponent","BaseComponentState","SwipeAnimation","Tappable","WmCarouselProps","DEFAULT_CLASS","WmCarouselState","constructor","args","_defineProperty","WmCarousel","props","Value","bounds","e","_this$slidesLayout","_this$slidesLayout$ac","activeTabIndex","state","activeIndex","lower","slidesLayout","filter","l","i","reduce","s","width","center","upper","computePhase","value","_this$slidesLayout$ac2","w","Math","abs","onLower","onSlideChange","onUpper","noOfSlides","_this$animationView","animationView","setPosition","index","prevIndex","updateState","invokeEventCallback","animatePagination","item","type","renderSlide","children","data","dataset","length","_this$animationView2","_this$animationView3","goToUpper","_this$animationView4","goToLower","cleanup","push","stopPlay","addSlideLayout","nativeEvent","layout","forceUpdate","generateItemKey","itemkey","_showSkeleton","keyExtractor","getKey","autoPlay","animation","animationinterval","intervalId","setInterval","next","clearInterval","setTimeout","_this$animationView5","onPropertyChange","name","$new","$old","_this$keyExtractor","clear","min","_this$styles$dotStyle","_this$styles$dotStyle2","_this$styles$dotStyle3","margin","styles","dotStyle","marginLeft","marginRight","size","position","max","scale","options","useNativeDriver","duration","easing","out","linear","sequence","timing","dotScale","toValue","parallel","dotPosition","isRTL","start","renderPagination","maxNoOfDots","maxnoofdots","minIndex","maxIndex","createElement","style","dotsWrapperStyle","flexDirection","map","key","activeDotStyle","undefined","height","transform","translateX","right","left","renderWidget","_data","_this$styles$slide","hasNavs","controls","hasDots","slideScale","slideTranslateX","slide","_this$styles$slide2","_this$styles$slide3","find","o","root","_background","enableGestures","enablegestures","flex","direction","ref","r","handlers","animationHandlers","slideMinWidth","_this$animationView6","_this$animationView7","isActive","animationPhase","interpolate","inputRange","outputRange","onLayout","bind","firstSlide","lastSlide","activeSlide","onTap","_this$animationView8","rippleColor","renderItem","btnPanel","id","getTestId","iconclass","prevBtn","prev","accessibilitylabel","nextBtn"],"sources":["carousel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isArray, isUndefined } from 'lodash-es';\nimport { Animated, Easing, View, LayoutChangeEvent, LayoutRectangle } from 'react-native';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmCarouselProps from './carousel.props';\nimport { DEFAULT_CLASS, WmCarouselStyles } from './carousel.styles';\n\nexport class WmCarouselState extends BaseComponentState<WmCarouselProps> {\n activeIndex = 1;\n}\n\nexport default class WmCarousel extends BaseComponent<WmCarouselProps, WmCarouselState, WmCarouselStyles> {\n\n noOfSlides: number = 0;\n private slidesLayout: LayoutRectangle[] = [];\n private keyExtractor = new DefaultKeyExtractor();\n stopPlay: Function = null as any;\n private dotScale = new Animated.Value(0);\n private dotPosition = new Animated.Value(0);\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.activeIndex - 1;\n let lower = 0;\n if (activeTabIndex > 0) {\n lower = this.slidesLayout\n .filter((l , i) => i < activeTabIndex - 1)\n .reduce((s, l) => s + l.width, 0);\n }\n let center = lower + (this.slidesLayout[activeTabIndex - 1]?.width || 0);\n let upper = center + (this.slidesLayout[activeTabIndex]?.width || 0);\n return {\n lower: -1 * lower,\n center: -1 * center,\n upper: -1 * upper\n };\n },\n computePhase: (value) => {\n const activeTabIndex = this.state.activeIndex - 1;\n const w = this.slidesLayout[activeTabIndex]?.width || 0;\n return w && Math.abs(value / w);\n },\n onLower: (e) => {\n this.onSlideChange(this.state.activeIndex - 1);\n },\n onUpper: (e) => {\n if(this.noOfSlides < this.state.activeIndex + 1){\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }\n else{\n this.onSlideChange(this.state.activeIndex + 1);\n }\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmCarouselProps) {\n super(props, DEFAULT_CLASS, new WmCarouselProps(), new WmCarouselState());\n this.cleanup.push(() => {\n this.stopPlay && this.stopPlay();\n })\n }\n\n addSlideLayout(index: number, nativeEvent: LayoutChangeEvent) {\n this.slidesLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.state.activeIndex) {\n this.forceUpdate();\n }\n }\n\n private generateItemKey(item: any, index: number, props: WmCarouselProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n autoPlay() {\n const props = this.state.props;\n this.stopPlay && this.stopPlay();\n if (props.animation === 'auto' && props.animationinterval) {\n const intervalId = setInterval(() => {\n this.next();\n }, props.animationinterval * 1000);\n this.stopPlay = () => clearInterval(intervalId);\n } else {\n setTimeout(() => {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }, 1000);\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'dataset': {\n this.keyExtractor?.clear();\n this.updateState({\n activeIndex: Math.min(this.state.activeIndex, $new?.length || 1)\n } as WmCarouselState);\n break;\n }\n case 'animation':\n case 'animationinterval' : {\n this.autoPlay();\n }\n }\n }\n\n animatePagination(index: number) {\n const prevIndex = this.state.activeIndex;\n const margin = ((this.styles.dotStyle?.marginLeft as number)|| 0) + \n ((this.styles.dotStyle?.marginRight as number)|| 0)\n const width = (this.styles.dotStyle?.width as number)|| 2;\n const size = margin + width;\n const position = Math.max(index - 1, 0) * size;\n const scale = Math.abs(index - prevIndex) * size;\n const options = {\n useNativeDriver: true,\n duration: 200,\n easing: Easing.out(Easing.linear)\n };\n if (prevIndex < index) {\n Animated.sequence([\n Animated.timing(this.dotScale, {\n toValue: scale,\n ...options\n }),\n Animated.parallel([\n Animated.timing(this.dotScale, {\n toValue: 0,\n ...options\n }),\n Animated.timing(this.dotPosition, {\n toValue: (this.isRTL ? -1: 1) * position,\n ...options\n })\n ])\n ]).start();\n } else if (prevIndex > index) {\n Animated.sequence([\n Animated.parallel([\n Animated.timing(this.dotScale, {\n toValue: scale,\n ...options\n }),\n Animated.timing(this.dotPosition, {\n toValue: (this.isRTL ? -1: 1) * position,\n ...options\n })\n ]),\n Animated.timing(this.dotScale, {\n toValue: 0,\n ...options\n }),\n ]).start();\n } \n }\n\n onSlideChange = (index: number) => {\n const prevIndex = this.state.activeIndex;\n this.updateState({\n activeIndex: index\n } as WmCarouselState,\n () => this.invokeEventCallback('onChange', [this, index, prevIndex]));\n this.animatePagination(index);\n }\n\n renderItem = (item: any, index: number) => {\n const props = this.state.props;\n if (props.type === 'dynamic') {\n return props.renderSlide ? props.renderSlide(item, index, this) : null;\n }\n return props.children[index];\n }\n\n next = () => {\n const props = this.state.props;\n const data = props.type === 'dynamic' ? props.dataset : props.children;\n if (this.state.activeIndex >= data?.length || 0) {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n } else {\n this.animationView?.goToUpper();\n }\n }\n\n prev = () => {\n this.animationView?.goToLower();\n }\n\n renderPagination(data: any) {\n const maxNoOfDots = this.state.props.maxnoofdots;\n let minIndex = Math.max(this.state.activeIndex - maxNoOfDots + 1, 0);\n let maxIndex = Math.min(minIndex + maxNoOfDots - 1, data.length);\n if (maxIndex === data.length) {\n minIndex = maxIndex - maxNoOfDots;\n }\n return (<View style={this.styles.dotsWrapperStyle}>\n <View style={{flexDirection: this.isRTL ? 'row-reverse' : 'row'}}>\n {\n data.map((item: any, index: number) => {\n return index >= minIndex && index <= maxIndex ? (\n <View key={'dots_' + this.generateItemKey(item, index, this.state.props)} \n style={[this.styles.dotStyle]}>\n </View>) : null;\n })\n }\n <Animated.View style={[\n this.styles.dotStyle,\n this.styles.activeDotStyle, {\n width: undefined,\n height: undefined,\n transform: [{\n translateX: this.dotPosition\n }]\n }, this.isRTL ? { right: 0 } : { left: 0}]}>\n <Animated.View style={[{\n width: 1,\n height: 1\n }, {\n // This is failing in Android\n // minWidth: this.dotScale\n }]}>\n </Animated.View>\n </Animated.View>\n </View>\n </View>);\n }\n\n renderWidget(props: WmCarouselProps) {\n const hasNavs = props.controls === 'both' || props.controls ==='navs';\n const hasDots = props.controls === 'both' || props.controls ==='indicators';\n let styles = this.styles;\n let data = props.type === 'dynamic' ? props.dataset : props.children;\n data = isArray(data) ? data : [];\n this.noOfSlides = data?.length || 0;\n let slideScale = undefined as any;\n let slideTranslateX = undefined as any;\n if (isArray(this.styles.slide?.transform)) {\n slideScale = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).scale)) as any)?.scale;\n slideTranslateX = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).translateX)) as any)?.translateX;\n }\n // TODO: loop prop on Carousel is not working Refer: https://github.com/meliorence/react-native-snap-carousel/issues/608\n return (\n <View style={styles.root}>\n {this._background}\n <SwipeAnimation.View \n enableGestures={props.enablegestures && this.noOfSlides > 1}\n style={{\n flex: 1\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n slideMinWidth={this.styles.slide.width}\n >\n {data.map((item: any, index: number) => {\n const isActive = index === this.state.activeIndex - 1;\n let scale = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [slideScale, slideScale, 1, slideScale, slideScale]\n });\n let translateX = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [-56, -56, 0, 56, 56]\n });\n return (\n <Animated.View key={this.generateItemKey(item, index, props)}\n onLayout={this.addSlideLayout.bind(this, index)}\n style={[\n {height: props.type === 'dynamic' ? undefined : '100%'},\n this.styles.slide,\n index === 0 ? this.styles.firstSlide : null,\n index === data.length - 1 ? this.styles.lastSlide: null,\n isActive ? this.styles.activeSlide: null,\n translateX && scale ? {\n transform: [\n {\n translateX: !isUndefined(slideTranslateX) ? slideTranslateX : translateX\n }, {\n scale: scale\n }\n ]\n } : null]}>\n <Tappable onTap={() => {\n this.onSlideChange(index + 1);\n const position = this.slidesLayout\n .filter((l , i) => i < index)\n .reduce((s, l) => s + l.width, 0);\n this.animationView?.setPosition(-1 * position);\n }} rippleColor={this.styles.root.rippleColor} styles={{height: \"100%\"}}>\n {this.renderItem(item, index)}\n </Tappable>\n </Animated.View>\n );\n })}\n </SwipeAnimation.View>\n {hasNavs ? (\n <View style={styles.btnPanel}>\n <WmIcon\n id={this.getTestId('prev_icon')}\n iconclass=\"wi wi-chevron-left fa-2x\"\n styles={styles.prevBtn}\n onTap={this.prev}\n accessibilitylabel='back'/>\n <WmIcon\n id={this.getTestId('next_icon')}\n iconclass=\"wi wi-chevron-right fa-2x\"\n styles={styles.nextBtn}\n onTap={this.next}\n accessibilitylabel='next'/>\n </View>): null}\n {hasDots && data ? this.renderPagination(data) : null}\n </View>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,EAAEC,WAAW,QAAQ,WAAW;AAChD,SAASC,QAAQ,EAAEC,MAAM,EAAEC,IAAI,QAA4C,cAAc;AACzF,SAASC,mBAAmB,QAAQ,8CAA8C;AAClF,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAO,KAAKC,cAAc,MAAM,oDAAoD;AACpF,SAASC,QAAQ,QAAQ,mDAAmD;AAE5E,OAAOC,eAAe,MAAM,kBAAkB;AAC9C,SAASC,aAAa,QAA0B,mBAAmB;AAEnE,OAAO,MAAMC,eAAe,SAASL,kBAAkB,CAAkB;EAAAM,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,sBACzD,CAAC;EAAA;AACjB;AAEA,eAAe,MAAMC,UAAU,SAASV,aAAa,CAAqD;EA6CxGO,WAAWA,CAACI,MAAsB,EAAE;IAClC,KAAK,CAACA,MAAK,EAAEN,aAAa,EAAE,IAAID,eAAe,CAAC,CAAC,EAAE,IAAIE,eAAe,CAAC,CAAC,CAAC;IAACG,eAAA,qBA5CvD,CAAC;IAAAA,eAAA,uBACoB,EAAE;IAAAA,eAAA,uBACrB,IAAIX,mBAAmB,CAAC,CAAC;IAAAW,eAAA,mBAC3B,IAAI;IAAAA,eAAA,mBACN,IAAId,QAAQ,CAACiB,KAAK,CAAC,CAAC,CAAC;IAAAH,eAAA,sBAClB,IAAId,QAAQ,CAACiB,KAAK,CAAC,CAAC,CAAC;IAAAH,eAAA,wBACS,IAAI;IAAAA,eAAA,4BAC5B;MAC1BI,MAAM,EAAGC,CAAC,IAAK;QAAA,IAAAC,kBAAA,EAAAC,qBAAA;QACb,MAAMC,cAAc,GAAG,IAAI,CAACC,KAAK,CAACC,WAAW,GAAG,CAAC;QACjD,IAAIC,KAAK,GAAG,CAAC;QACb,IAAIH,cAAc,GAAG,CAAC,EAAE;UACtBG,KAAK,GAAG,IAAI,CAACC,YAAY,CACtBC,MAAM,CAAC,CAACC,CAAC,EAAGC,CAAC,KAAKA,CAAC,GAAGP,cAAc,GAAG,CAAC,CAAC,CACzCQ,MAAM,CAAC,CAACC,CAAC,EAAEH,CAAC,KAAKG,CAAC,GAAGH,CAAC,CAACI,KAAK,EAAE,CAAC,CAAC;QACrC;QACA,IAAIC,MAAM,GAAGR,KAAK,IAAI,EAAAL,kBAAA,OAAI,CAACM,YAAY,CAACJ,cAAc,GAAG,CAAC,CAAC,cAAAF,kBAAA,uBAArCA,kBAAA,CAAuCY,KAAK,KAAI,CAAC,CAAC;QACxE,IAAIE,KAAK,GAAGD,MAAM,IAAI,EAAAZ,qBAAA,OAAI,CAACK,YAAY,CAACJ,cAAc,CAAC,cAAAD,qBAAA,uBAAjCA,qBAAA,CAAmCW,KAAK,KAAI,CAAC,CAAC;QACpE,OAAO;UACLP,KAAK,EAAE,CAAC,CAAC,GAAGA,KAAK;UACjBQ,MAAM,EAAE,CAAC,CAAC,GAAGA,MAAM;UACnBC,KAAK,EAAG,CAAC,CAAC,GAAGA;QACf,CAAC;MACH,CAAC;MACDC,YAAY,EAAGC,KAAK,IAAK;QAAA,IAAAC,sBAAA;QACvB,MAAMf,cAAc,GAAG,IAAI,CAACC,KAAK,CAACC,WAAW,GAAG,CAAC;QACjD,MAAMc,CAAC,GAAG,EAAAD,sBAAA,OAAI,CAACX,YAAY,CAACJ,cAAc,CAAC,cAAAe,sBAAA,uBAAjCA,sBAAA,CAAmCL,KAAK,KAAI,CAAC;QACvD,OAAOM,CAAC,IAAIC,IAAI,CAACC,GAAG,CAACJ,KAAK,GAAGE,CAAC,CAAC;MACjC,CAAC;MACDG,OAAO,EAAGtB,CAAC,IAAK;QACd,IAAI,CAACuB,aAAa,CAAC,IAAI,CAACnB,KAAK,CAACC,WAAW,GAAG,CAAC,CAAC;MAChD,CAAC;MACDmB,OAAO,EAAGxB,CAAC,IAAK;QACd,IAAG,IAAI,CAACyB,UAAU,GAAG,IAAI,CAACrB,KAAK,CAACC,WAAW,GAAG,CAAC,EAAC;UAAA,IAAAqB,mBAAA;UAC9C,IAAI,CAACH,aAAa,CAAC,CAAC,CAAC;UACrB,CAAAG,mBAAA,OAAI,CAACC,aAAa,cAAAD,mBAAA,eAAlBA,mBAAA,CAAoBE,WAAW,CAAC,CAAC,CAAC;QACpC,CAAC,MACG;UACF,IAAI,CAACL,aAAa,CAAC,IAAI,CAACnB,KAAK,CAACC,WAAW,GAAG,CAAC,CAAC;QAChD;MACF;IACF,CAAC;IAAAV,eAAA,wBA0GgBkC,KAAa,IAAK;MACjC,MAAMC,SAAS,GAAG,IAAI,CAAC1B,KAAK,CAACC,WAAW;MACxC,IAAI,CAAC0B,WAAW,CAAC;QACf1B,WAAW,EAAEwB;MACf,CAAC,EACD,MAAM,IAAI,CAACG,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAEH,KAAK,EAAEC,SAAS,CAAC,CAAC,CAAC;MACrE,IAAI,CAACG,iBAAiB,CAACJ,KAAK,CAAC;IAC/B,CAAC;IAAAlC,eAAA,qBAEY,CAACuC,IAAS,EAAEL,KAAa,KAAK;MACzC,MAAMhC,KAAK,GAAG,IAAI,CAACO,KAAK,CAACP,KAAK;MAC9B,IAAIA,KAAK,CAACsC,IAAI,KAAK,SAAS,EAAE;QAC5B,OAAOtC,KAAK,CAACuC,WAAW,GAAGvC,KAAK,CAACuC,WAAW,CAACF,IAAI,EAAEL,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI;MACxE;MACA,OAAOhC,KAAK,CAACwC,QAAQ,CAACR,KAAK,CAAC;IAC9B,CAAC;IAAAlC,eAAA,eAEM,MAAM;MACX,MAAME,KAAK,GAAG,IAAI,CAACO,KAAK,CAACP,KAAK;MAC9B,MAAMyC,IAAI,GAAGzC,KAAK,CAACsC,IAAI,KAAK,SAAS,GAAGtC,KAAK,CAAC0C,OAAO,GAAG1C,KAAK,CAACwC,QAAQ;MACtE,IAAI,IAAI,CAACjC,KAAK,CAACC,WAAW,KAAIiC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEE,MAAM,KAAI,CAAC,EAAE;QAAA,IAAAC,oBAAA;QAC/C,IAAI,CAAClB,aAAa,CAAC,CAAC,CAAC;QACrB,CAAAkB,oBAAA,OAAI,CAACd,aAAa,cAAAc,oBAAA,eAAlBA,oBAAA,CAAoBb,WAAW,CAAC,CAAC,CAAC;MACpC,CAAC,MAAM;QAAA,IAAAc,oBAAA;QACL,CAAAA,oBAAA,OAAI,CAACf,aAAa,cAAAe,oBAAA,eAAlBA,oBAAA,CAAoBC,SAAS,CAAC,CAAC;MACjC;IACF,CAAC;IAAAhD,eAAA,eAEM,MAAM;MAAA,IAAAiD,oBAAA;MACX,CAAAA,oBAAA,OAAI,CAACjB,aAAa,cAAAiB,oBAAA,eAAlBA,oBAAA,CAAoBC,SAAS,CAAC,CAAC;IACjC,CAAC;IApIC,IAAI,CAACC,OAAO,CAACC,IAAI,CAAC,MAAM;MACtB,IAAI,CAACC,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC;EACJ;EAEAC,cAAcA,CAACpB,KAAa,EAAEqB,WAA8B,EAAE;IAC5D,IAAI,CAAC3C,YAAY,CAACsB,KAAK,CAAC,GAAGqB,WAAW,CAACA,WAAW,CAACC,MAAM;IACzD,IAAItB,KAAK,KAAK,IAAI,CAACzB,KAAK,CAACC,WAAW,EAAE;MACpC,IAAI,CAAC+C,WAAW,CAAC,CAAC;IACpB;EACF;EAEQC,eAAeA,CAACnB,IAAS,EAAEL,KAAa,EAAEhC,KAAsB,EAAE;IACxE,IAAIA,KAAK,CAACyD,OAAO,IAAIpB,IAAI,IAAI,CAAC,IAAI,CAACqB,aAAa,EAAE;MAChD,OAAO1D,KAAK,CAACyD,OAAO,CAACpB,IAAI,EAAEL,KAAK,CAAC;IACnC;IACA,OAAO,YAAY,GAAI,IAAI,CAAC2B,YAAY,CAACC,MAAM,CAACvB,IAAI,EAAE,IAAI,CAAC;EAC7D;EAEAwB,QAAQA,CAAA,EAAG;IACT,MAAM7D,KAAK,GAAG,IAAI,CAACO,KAAK,CAACP,KAAK;IAC9B,IAAI,CAACmD,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAAC,CAAC;IAChC,IAAInD,KAAK,CAAC8D,SAAS,KAAK,MAAM,IAAI9D,KAAK,CAAC+D,iBAAiB,EAAE;MACzD,MAAMC,UAAU,GAAGC,WAAW,CAAC,MAAM;QACnC,IAAI,CAACC,IAAI,CAAC,CAAC;MACb,CAAC,EAAElE,KAAK,CAAC+D,iBAAiB,GAAG,IAAI,CAAC;MAClC,IAAI,CAACZ,QAAQ,GAAG,MAAMgB,aAAa,CAACH,UAAU,CAAC;IACjD,CAAC,MAAM;MACLI,UAAU,CAAC,MAAM;QAAA,IAAAC,oBAAA;QACf,IAAI,CAAC3C,aAAa,CAAC,CAAC,CAAC;QACrB,CAAA2C,oBAAA,OAAI,CAACvC,aAAa,cAAAuC,oBAAA,eAAlBA,oBAAA,CAAoBtC,WAAW,CAAC,CAAC,CAAC;MACpC,CAAC,EAAE,IAAI,CAAC;IACV;EACF;EAEAuC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAQ;IACvD,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,QAAQF,IAAI;MACV,KAAK,SAAS;QAAE;UAAA,IAAAG,kBAAA;UACd,CAAAA,kBAAA,OAAI,CAACf,YAAY,cAAAe,kBAAA,eAAjBA,kBAAA,CAAmBC,KAAK,CAAC,CAAC;UAC1B,IAAI,CAACzC,WAAW,CAAC;YACf1B,WAAW,EAAEe,IAAI,CAACqD,GAAG,CAAC,IAAI,CAACrE,KAAK,CAACC,WAAW,EAAE,CAAAgE,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE7B,MAAM,KAAI,CAAC;UACjE,CAAoB,CAAC;UACrB;QACF;MACA,KAAK,WAAW;MAChB,KAAK,mBAAmB;QAAG;UACzB,IAAI,CAACkB,QAAQ,CAAC,CAAC;QACjB;IACF;EACJ;EAEAzB,iBAAiBA,CAACJ,KAAa,EAAE;IAAA,IAAA6C,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAC/B,MAAM9C,SAAS,GAAG,IAAI,CAAC1B,KAAK,CAACC,WAAW;IACxC,MAAMwE,MAAM,GAAG,CAAC,EAAAH,qBAAA,GAAC,IAAI,CAACI,MAAM,CAACC,QAAQ,cAAAL,qBAAA,uBAApBA,qBAAA,CAAsBM,UAAU,KAAc,CAAC,KAC/D,EAAAL,sBAAA,GAAC,IAAI,CAACG,MAAM,CAACC,QAAQ,cAAAJ,sBAAA,uBAApBA,sBAAA,CAAsBM,WAAW,KAAc,CAAC,CAAC;IACnD,MAAMpE,KAAK,GAAG,EAAA+D,sBAAA,GAAC,IAAI,CAACE,MAAM,CAACC,QAAQ,cAAAH,sBAAA,uBAApBA,sBAAA,CAAsB/D,KAAK,KAAc,CAAC;IACzD,MAAMqE,IAAI,GAAGL,MAAM,GAAGhE,KAAK;IAC3B,MAAMsE,QAAQ,GAAG/D,IAAI,CAACgE,GAAG,CAACvD,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,GAAIqD,IAAI;IAC/C,MAAMG,KAAK,GAAGjE,IAAI,CAACC,GAAG,CAACQ,KAAK,GAAGC,SAAS,CAAC,GAAGoD,IAAI;IAChD,MAAMI,OAAO,GAAG;MACdC,eAAe,EAAE,IAAI;MACrBC,QAAQ,EAAE,GAAG;MACbC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,MAAM;IAClC,CAAC;IACD,IAAI7D,SAAS,GAAGD,KAAK,EAAE;MACrBhD,QAAQ,CAAC+G,QAAQ,CAAC,CAChB/G,QAAQ,CAACgH,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE;QAC7BC,OAAO,EAAEV,KAAK;QACd,GAAGC;MACL,CAAC,CAAC,EACFzG,QAAQ,CAACmH,QAAQ,CAAC,CAChBnH,QAAQ,CAACgH,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE;QAC3BC,OAAO,EAAG,CAAC;QACX,GAAGT;MACP,CAAC,CAAC,EACFzG,QAAQ,CAACgH,MAAM,CAAC,IAAI,CAACI,WAAW,EAAE;QAC9BF,OAAO,EAAG,CAAC,IAAI,CAACG,KAAK,GAAG,CAAC,CAAC,GAAE,CAAC,IAAIf,QAAQ;QACzC,GAAGG;MACP,CAAC,CAAC,CACH,CAAC,CACH,CAAC,CAACa,KAAK,CAAC,CAAC;IACZ,CAAC,MAAM,IAAIrE,SAAS,GAAGD,KAAK,EAAE;MAC5BhD,QAAQ,CAAC+G,QAAQ,CAAC,CAChB/G,QAAQ,CAACmH,QAAQ,CAAC,CAChBnH,QAAQ,CAACgH,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE;QAC3BC,OAAO,EAAGV,KAAK;QACf,GAAGC;MACP,CAAC,CAAC,EACFzG,QAAQ,CAACgH,MAAM,CAAC,IAAI,CAACI,WAAW,EAAE;QAC9BF,OAAO,EAAG,CAAC,IAAI,CAACG,KAAK,GAAG,CAAC,CAAC,GAAE,CAAC,IAAIf,QAAQ;QACzC,GAAGG;MACP,CAAC,CAAC,CACH,CAAC,EACFzG,QAAQ,CAACgH,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE;QAC7BC,OAAO,EAAE,CAAC;QACV,GAAGT;MACL,CAAC,CAAC,CACH,CAAC,CAACa,KAAK,CAAC,CAAC;IACZ;EACF;EAkCAC,gBAAgBA,CAAC9D,IAAS,EAAE;IAC1B,MAAM+D,WAAW,GAAG,IAAI,CAACjG,KAAK,CAACP,KAAK,CAACyG,WAAW;IAChD,IAAIC,QAAQ,GAAGnF,IAAI,CAACgE,GAAG,CAAC,IAAI,CAAChF,KAAK,CAACC,WAAW,GAAGgG,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;IACpE,IAAIG,QAAQ,GAAGpF,IAAI,CAACqD,GAAG,CAAC8B,QAAQ,GAAGF,WAAW,GAAG,CAAC,EAAE/D,IAAI,CAACE,MAAM,CAAC;IAChE,IAAIgE,QAAQ,KAAKlE,IAAI,CAACE,MAAM,EAAE;MAC5B+D,QAAQ,GAAGC,QAAQ,GAAGH,WAAW;IACnC;IACA,oBAAQ3H,KAAA,CAAA+H,aAAA,CAAC1H,IAAI;MAAC2H,KAAK,EAAE,IAAI,CAAC5B,MAAM,CAAC6B;IAAiB,gBAChDjI,KAAA,CAAA+H,aAAA,CAAC1H,IAAI;MAAC2H,KAAK,EAAE;QAACE,aAAa,EAAE,IAAI,CAACV,KAAK,GAAG,aAAa,GAAG;MAAK;IAAE,GAE7D5D,IAAI,CAACuE,GAAG,CAAC,CAAC3E,IAAS,EAAEL,KAAa,KAAK;MACrC,OAAOA,KAAK,IAAI0E,QAAQ,IAAI1E,KAAK,IAAI2E,QAAQ,gBAC3C9H,KAAA,CAAA+H,aAAA,CAAC1H,IAAI;QAAC+H,GAAG,EAAE,OAAO,GAAG,IAAI,CAACzD,eAAe,CAACnB,IAAI,EAAEL,KAAK,EAAE,IAAI,CAACzB,KAAK,CAACP,KAAK,CAAE;QACvE6G,KAAK,EAAE,CAAC,IAAI,CAAC5B,MAAM,CAACC,QAAQ;MAAE,CAC1B,CAAC,GAAI,IAAI;IACnB,CAAC,CAAC,eAEJrG,KAAA,CAAA+H,aAAA,CAAC5H,QAAQ,CAACE,IAAI;MAAC2H,KAAK,EAAE,CACpB,IAAI,CAAC5B,MAAM,CAACC,QAAQ,EACpB,IAAI,CAACD,MAAM,CAACiC,cAAc,EAAE;QAC1BlG,KAAK,EAAEmG,SAAS;QAChBC,MAAM,EAAED,SAAS;QACjBE,SAAS,EAAE,CAAC;UACVC,UAAU,EAAE,IAAI,CAAClB;QACnB,CAAC;MACH,CAAC,EAAE,IAAI,CAACC,KAAK,GAAG;QAAEkB,KAAK,EAAE;MAAE,CAAC,GAAG;QAAEC,IAAI,EAAE;MAAC,CAAC;IAAE,gBACzC3I,KAAA,CAAA+H,aAAA,CAAC5H,QAAQ,CAACE,IAAI;MAAC2H,KAAK,EAAE,CAAC;QACrB7F,KAAK,EAAE,CAAC;QACRoG,MAAM,EAAE;MACV,CAAC,EAAE;QACD;QACA;MAAA,CACD;IAAE,CACQ,CACA,CACX,CACF,CAAC;EACT;EAEAK,YAAYA,CAACzH,KAAsB,EAAE;IAAA,IAAA0H,KAAA,EAAAC,kBAAA;IACnC,MAAMC,OAAO,GAAG5H,KAAK,CAAC6H,QAAQ,KAAK,MAAM,IAAI7H,KAAK,CAAC6H,QAAQ,KAAI,MAAM;IACrE,MAAMC,OAAO,GAAG9H,KAAK,CAAC6H,QAAQ,KAAK,MAAM,IAAI7H,KAAK,CAAC6H,QAAQ,KAAI,YAAY;IAC3E,IAAI5C,MAAM,GAAG,IAAI,CAACA,MAAM;IACxB,IAAIxC,IAAI,GAAGzC,KAAK,CAACsC,IAAI,KAAK,SAAS,GAAGtC,KAAK,CAAC0C,OAAO,GAAG1C,KAAK,CAACwC,QAAQ;IACpEC,IAAI,GAAG3D,OAAO,CAAC2D,IAAI,CAAC,GAAGA,IAAI,GAAG,EAAE;IAChC,IAAI,CAACb,UAAU,GAAG,EAAA8F,KAAA,GAAAjF,IAAI,cAAAiF,KAAA,uBAAJA,KAAA,CAAM/E,MAAM,KAAI,CAAC;IACnC,IAAIoF,UAAU,GAAGZ,SAAgB;IACjC,IAAIa,eAAe,GAAGb,SAAgB;IACtC,IAAIrI,OAAO,EAAA6I,kBAAA,GAAC,IAAI,CAAC1C,MAAM,CAACgD,KAAK,cAAAN,kBAAA,uBAAjBA,kBAAA,CAAmBN,SAAS,CAAC,EAAE;MAAA,IAAAa,mBAAA,EAAAC,mBAAA;MACzCJ,UAAU,IAAAG,mBAAA,GAAI,IAAI,CAACjD,MAAM,CAACgD,KAAK,cAAAC,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBb,SAAS,cAAAa,mBAAA,gBAAAA,mBAAA,GAA5BA,mBAAA,CAA8BE,IAAI,CAACC,CAAC,IAAI,CAACtJ,WAAW,CAAEsJ,CAAC,CAAS7C,KAAK,CAAC,CAAC,cAAA0C,mBAAA,uBAAxEA,mBAAA,CAAkF1C,KAAK;MACpGwC,eAAe,IAAAG,mBAAA,GAAI,IAAI,CAAClD,MAAM,CAACgD,KAAK,cAAAE,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBd,SAAS,cAAAc,mBAAA,gBAAAA,mBAAA,GAA5BA,mBAAA,CAA8BC,IAAI,CAACC,CAAC,IAAI,CAACtJ,WAAW,CAAEsJ,CAAC,CAASf,UAAU,CAAC,CAAC,cAAAa,mBAAA,uBAA7EA,mBAAA,CAAuFb,UAAU;IACrH;IACA;IACA,oBACEzI,KAAA,CAAA+H,aAAA,CAAC1H,IAAI;MAAC2H,KAAK,EAAE5B,MAAM,CAACqD;IAAK,GACtB,IAAI,CAACC,WAAW,eACjB1J,KAAA,CAAA+H,aAAA,CAACrH,cAAc,CAACL,IAAI;MAChBsJ,cAAc,EAAExI,KAAK,CAACyI,cAAc,IAAI,IAAI,CAAC7G,UAAU,GAAG,CAAE;MAC5DiF,KAAK,EAAE;QACL6B,IAAI,EAAE;MACR,CAAE;MACFC,SAAS,EAAC,YAAY;MACtBC,GAAG,EAAGC,CAAC,IAAK;QAAC,IAAI,CAAC/G,aAAa,GAAG+G,CAAC;MAAA,CAAE;MACrCC,QAAQ,EAAI,IAAI,CAACC,iBAAkB;MACnCC,aAAa,EAAE,IAAI,CAAC/D,MAAM,CAACgD,KAAK,CAACjH;IAAM,GAExCyB,IAAI,CAACuE,GAAG,CAAC,CAAC3E,IAAS,EAAEL,KAAa,KAAK;MAAA,IAAAiH,oBAAA,EAAAC,oBAAA;MACtC,MAAMC,QAAQ,GAAGnH,KAAK,KAAK,IAAI,CAACzB,KAAK,CAACC,WAAW,GAAG,CAAC;MACrD,IAAIgF,KAAK,IAAAyD,oBAAA,GAAG,IAAI,CAACnH,aAAa,cAAAmH,oBAAA,uBAAlBA,oBAAA,CAAoBG,cAAc,CAACC,WAAW,CAAC;QACzDC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAEtH,KAAK,GAAG,CAAC,EAAEA,KAAK,EAAEA,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC;QACtDuH,WAAW,EAAE,CAACxB,UAAU,EAAEA,UAAU,EAAE,CAAC,EAAEA,UAAU,EAAEA,UAAU;MACjE,CAAC,CAAC;MACF,IAAIT,UAAU,IAAA4B,oBAAA,GAAG,IAAI,CAACpH,aAAa,cAAAoH,oBAAA,uBAAlBA,oBAAA,CAAoBE,cAAc,CAACC,WAAW,CAAC;QAC9DC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAEtH,KAAK,GAAG,CAAC,EAAEA,KAAK,EAAEA,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC;QACtDuH,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;MACnC,CAAC,CAAC;MACF,oBACE1K,KAAA,CAAA+H,aAAA,CAAC5H,QAAQ,CAACE,IAAI;QAAC+H,GAAG,EAAE,IAAI,CAACzD,eAAe,CAACnB,IAAI,EAAEL,KAAK,EAAEhC,KAAK,CAAE;QAC3DwJ,QAAQ,EAAE,IAAI,CAACpG,cAAc,CAACqG,IAAI,CAAC,IAAI,EAAEzH,KAAK,CAAE;QAChD6E,KAAK,EAAE,CACL;UAACO,MAAM,EAAEpH,KAAK,CAACsC,IAAI,KAAK,SAAS,GAAG6E,SAAS,GAAG;QAAM,CAAC,EACvD,IAAI,CAAClC,MAAM,CAACgD,KAAK,EACjBjG,KAAK,KAAK,CAAC,GAAG,IAAI,CAACiD,MAAM,CAACyE,UAAU,GAAG,IAAI,EAC3C1H,KAAK,KAAKS,IAAI,CAACE,MAAM,GAAG,CAAC,GAAG,IAAI,CAACsC,MAAM,CAAC0E,SAAS,GAAE,IAAI,EACvDR,QAAQ,GAAG,IAAI,CAAClE,MAAM,CAAC2E,WAAW,GAAE,IAAI,EACxCtC,UAAU,IAAI9B,KAAK,GAAG;UACpB6B,SAAS,EAAE,CACT;YACEC,UAAU,EAAE,CAACvI,WAAW,CAACiJ,eAAe,CAAC,GAAGA,eAAe,GAAGV;UAChE,CAAC,EAAE;YACD9B,KAAK,EAAEA;UACT,CAAC;QAEL,CAAC,GAAG,IAAI;MAAE,gBACZ3G,KAAA,CAAA+H,aAAA,CAACpH,QAAQ;QAACqK,KAAK,EAAEA,CAAA,KAAM;UAAA,IAAAC,oBAAA;UACrB,IAAI,CAACpI,aAAa,CAACM,KAAK,GAAG,CAAC,CAAC;UAC7B,MAAMsD,QAAQ,GAAG,IAAI,CAAC5E,YAAY,CAC/BC,MAAM,CAAC,CAACC,CAAC,EAAGC,CAAC,KAAKA,CAAC,GAAGmB,KAAK,CAAC,CAC5BlB,MAAM,CAAC,CAACC,CAAC,EAAEH,CAAC,KAAKG,CAAC,GAAGH,CAAC,CAACI,KAAK,EAAE,CAAC,CAAC;UACnC,CAAA8I,oBAAA,OAAI,CAAChI,aAAa,cAAAgI,oBAAA,eAAlBA,oBAAA,CAAoB/H,WAAW,CAAC,CAAC,CAAC,GAAGuD,QAAQ,CAAC;QAChD,CAAE;QAACyE,WAAW,EAAE,IAAI,CAAC9E,MAAM,CAACqD,IAAI,CAACyB,WAAY;QAAC9E,MAAM,EAAE;UAACmC,MAAM,EAAE;QAAM;MAAE,GACpE,IAAI,CAAC4C,UAAU,CAAC3H,IAAI,EAAEL,KAAK,CACpB,CACG,CAAC;IAEpB,CAAC,CACkB,CAAC,EACrB4F,OAAO,gBACN/I,KAAA,CAAA+H,aAAA,CAAC1H,IAAI;MAAC2H,KAAK,EAAE5B,MAAM,CAACgF;IAAS,gBAC3BpL,KAAA,CAAA+H,aAAA,CAACxH,MAAM;MACL8K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;MAChCC,SAAS,EAAC,0BAA0B;MACpCnF,MAAM,EAAEA,MAAM,CAACoF,OAAQ;MACvBR,KAAK,EAAE,IAAI,CAACS,IAAK;MACjBC,kBAAkB,EAAC;IAAM,CAAC,CAAC,eAC7B1L,KAAA,CAAA+H,aAAA,CAACxH,MAAM;MACL8K,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;MAChCC,SAAS,EAAC,2BAA2B;MACrCnF,MAAM,EAAEA,MAAM,CAACuF,OAAQ;MACvBX,KAAK,EAAE,IAAI,CAAC3F,IAAK;MACjBqG,kBAAkB,EAAC;IAAM,CAAC,CACxB,CAAC,GAAG,IAAI,EACbzC,OAAO,IAAIrF,IAAI,GAAG,IAAI,CAAC8D,gBAAgB,CAAC9D,IAAI,CAAC,GAAG,IAC/C,CAAC;EACX;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","isArray","isUndefined","Animated","Easing","View","DefaultKeyExtractor","WmIcon","BaseComponent","BaseComponentState","SwipeAnimation","Tappable","WmCarouselProps","DEFAULT_CLASS","WmCarouselState","constructor","args","_defineProperty","WmCarousel","props","Value","bounds","e","_this$slidesLayout","_this$slidesLayout$ac","activeTabIndex","state","activeIndex","lower","slidesLayout","filter","l","i","reduce","s","width","center","upper","computePhase","value","_this$slidesLayout$ac2","w","Math","abs","onLower","onSlideChange","onUpper","noOfSlides","_this$animationView","animationView","setPosition","index","prevIndex","updateState","invokeEventCallback","animatePagination","item","type","renderSlide","children","data","dataset","length","_this$animationView2","_this$animationView3","goToUpper","_this$animationView4","goToLower","cleanup","push","stopPlay","addSlideLayout","nativeEvent","layout","forceUpdate","generateItemKey","itemkey","_showSkeleton","keyExtractor","getKey","autoPlay","initialized","animation","animationinterval","intervalId","setInterval","next","clearInterval","setTimeout","_this$animationView5","stopAnimation","startAnimation","onPropertyChange","name","$new","$old","_this$keyExtractor","clear","min","_this$styles$dotStyle","_this$styles$dotStyle2","_this$styles$dotStyle3","margin","styles","dotStyle","marginLeft","marginRight","size","position","max","scale","options","useNativeDriver","duration","easing","out","linear","sequence","timing","dotScale","toValue","parallel","dotPosition","isRTL","start","renderPagination","maxNoOfDots","maxnoofdots","minIndex","maxIndex","createElement","style","dotsWrapperStyle","flexDirection","map","_extends","key","getTestPropsForAction","activeDotStyle","undefined","height","transform","translateX","right","left","componentDidMount","renderWidget","_data","_this$styles$slide","hasNavs","controls","hasDots","slideScale","slideTranslateX","slide","_this$styles$slide2","_this$styles$slide3","find","o","root","_background","enableGestures","enablegestures","flex","direction","ref","r","handlers","animationHandlers","slideMinWidth","_this$animationView6","_this$animationView7","isActive","animationPhase","interpolate","inputRange","outputRange","onLayout","bind","firstSlide","lastSlide","activeSlide","onTap","_this$animationView8","rippleColor","renderItem","btnPanel","id","getTestId","iconclass","prevBtn","prev","accessibilitylabel","nextBtn"],"sources":["carousel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isArray, isUndefined } from 'lodash-es';\nimport { Animated, Easing, View, LayoutChangeEvent, LayoutRectangle } from 'react-native';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmCarouselProps from './carousel.props';\nimport { DEFAULT_CLASS, WmCarouselStyles } from './carousel.styles';\n\nexport class WmCarouselState extends BaseComponentState<WmCarouselProps> {\n activeIndex = 1;\n}\n\nexport default class WmCarousel extends BaseComponent<WmCarouselProps, WmCarouselState, WmCarouselStyles> {\n\n noOfSlides: number = 0;\n private slidesLayout: LayoutRectangle[] = [];\n private keyExtractor = new DefaultKeyExtractor();\n stopPlay: Function = null as any;\n private dotScale = new Animated.Value(0);\n private dotPosition = new Animated.Value(0);\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.activeIndex - 1;\n let lower = 0;\n if (activeTabIndex > 0) {\n lower = this.slidesLayout\n .filter((l , i) => i < activeTabIndex - 1)\n .reduce((s, l) => s + l.width, 0);\n }\n let center = lower + (this.slidesLayout[activeTabIndex - 1]?.width || 0);\n let upper = center + (this.slidesLayout[activeTabIndex]?.width || 0);\n return {\n lower: -1 * lower,\n center: -1 * center,\n upper: -1 * upper\n };\n },\n computePhase: (value) => {\n const activeTabIndex = this.state.activeIndex - 1;\n const w = this.slidesLayout[activeTabIndex]?.width || 0;\n return w && Math.abs(value / w);\n },\n onLower: (e) => {\n this.onSlideChange(this.state.activeIndex - 1);\n },\n onUpper: (e) => {\n if(this.noOfSlides < this.state.activeIndex + 1){\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }\n else{\n this.onSlideChange(this.state.activeIndex + 1);\n }\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmCarouselProps) {\n super(props, DEFAULT_CLASS, new WmCarouselProps(), new WmCarouselState());\n this.cleanup.push(() => {\n this.stopPlay && this.stopPlay();\n })\n }\n\n addSlideLayout(index: number, nativeEvent: LayoutChangeEvent) {\n this.slidesLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.state.activeIndex) {\n this.forceUpdate();\n }\n }\n\n private generateItemKey(item: any, index: number, props: WmCarouselProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n autoPlay() {\n if(!this.initialized){\n return;\n }\n const props = this.state.props;\n this.stopPlay && this.stopPlay();\n if (props.animation === 'auto' && props.animationinterval) {\n const intervalId = setInterval(() => {\n this.next();\n }, props.animationinterval * 1000);\n this.stopPlay = () => clearInterval(intervalId);\n } else {\n setTimeout(() => {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }, 1000);\n }\n }\n\n stopAnimation(){ \n this.stopPlay();\n }\n startAnimation() {\n this.autoPlay();\n }\n \n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'dataset': {\n this.keyExtractor?.clear();\n this.updateState({\n activeIndex: Math.min(this.state.activeIndex, $new?.length || 1)\n } as WmCarouselState);\n break;\n }\n case 'animation':\n case 'animationinterval' : {\n this.autoPlay();\n }\n }\n }\n\n animatePagination(index: number) {\n const prevIndex = this.state.activeIndex;\n const margin = ((this.styles.dotStyle?.marginLeft as number)|| 0) + \n ((this.styles.dotStyle?.marginRight as number)|| 0)\n const width = (this.styles.dotStyle?.width as number)|| 2;\n const size = margin + width;\n const position = Math.max(index - 1, 0) * size;\n const scale = Math.abs(index - prevIndex) * size;\n const options = {\n useNativeDriver: true,\n duration: 200,\n easing: Easing.out(Easing.linear)\n };\n if (prevIndex < index) {\n Animated.sequence([\n Animated.timing(this.dotScale, {\n toValue: scale,\n ...options\n }),\n Animated.parallel([\n Animated.timing(this.dotScale, {\n toValue: 0,\n ...options\n }),\n Animated.timing(this.dotPosition, {\n toValue: (this.isRTL ? -1: 1) * position,\n ...options\n })\n ])\n ]).start();\n } else if (prevIndex > index) {\n Animated.sequence([\n Animated.parallel([\n Animated.timing(this.dotScale, {\n toValue: scale,\n ...options\n }),\n Animated.timing(this.dotPosition, {\n toValue: (this.isRTL ? -1: 1) * position,\n ...options\n })\n ]),\n Animated.timing(this.dotScale, {\n toValue: 0,\n ...options\n }),\n ]).start();\n } \n }\n\n onSlideChange = (index: number) => {\n const prevIndex = this.state.activeIndex;\n this.updateState({\n activeIndex: index\n } as WmCarouselState,\n () => this.invokeEventCallback('onChange', [this, index, prevIndex]));\n this.animatePagination(index);\n }\n\n renderItem = (item: any, index: number) => {\n const props = this.state.props;\n if (props.type === 'dynamic') {\n return props.renderSlide ? props.renderSlide(item, index, this) : null;\n }\n return props.children[index];\n }\n\n next = () => {\n const props = this.state.props;\n const data = props.type === 'dynamic' ? props.dataset : props.children;\n if (this.state.activeIndex >= data?.length || 0) {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n } else {\n this.animationView?.goToUpper();\n }\n }\n\n prev = () => {\n this.animationView?.goToLower();\n }\n\n renderPagination(data: any) {\n const maxNoOfDots = this.state.props.maxnoofdots;\n let minIndex = Math.max(this.state.activeIndex - maxNoOfDots + 1, 0);\n let maxIndex = Math.min(minIndex + maxNoOfDots - 1, data.length);\n if (maxIndex === data.length) {\n minIndex = maxIndex - maxNoOfDots;\n }\n return (<View style={this.styles.dotsWrapperStyle}>\n <View style={{flexDirection: this.isRTL ? 'row-reverse' : 'row'}}>\n {\n data.map((item: any, index: number) => {\n return index >= minIndex && index <= maxIndex ? (\n <View key={'dots_' + this.generateItemKey(item, index, this.state.props)} {...this.getTestPropsForAction('indicator'+index)}\n style={[this.styles.dotStyle]}>\n </View>) : null;\n })\n }\n <Animated.View style={[\n this.styles.dotStyle,\n this.styles.activeDotStyle, {\n width: undefined,\n height: undefined,\n transform: [{\n translateX: this.dotPosition\n }]\n }, this.isRTL ? { right: 0 } : { left: 0}]}>\n <Animated.View style={[{\n width: 1,\n height: 1\n }, {\n // This is failing in Android\n // minWidth: this.dotScale\n }]}>\n </Animated.View>\n </Animated.View>\n </View>\n </View>);\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.autoPlay();\n }\n\n renderWidget(props: WmCarouselProps) {\n const hasNavs = props.controls === 'both' || props.controls ==='navs';\n const hasDots = props.controls === 'both' || props.controls ==='indicators';\n let styles = this.styles;\n let data = props.type === 'dynamic' ? props.dataset : props.children;\n data = isArray(data) ? data : [];\n this.noOfSlides = data?.length || 0;\n let slideScale = undefined as any;\n let slideTranslateX = undefined as any;\n if (isArray(this.styles.slide?.transform)) {\n slideScale = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).scale)) as any)?.scale;\n slideTranslateX = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).translateX)) as any)?.translateX;\n }\n // TODO: loop prop on Carousel is not working Refer: https://github.com/meliorence/react-native-snap-carousel/issues/608\n return (\n <View style={styles.root}>\n {this._background}\n <SwipeAnimation.View \n enableGestures={props.enablegestures && this.noOfSlides > 1}\n style={{\n flex: 1\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n slideMinWidth={this.styles.slide.width}\n >\n {data.map((item: any, index: number) => {\n const isActive = index === this.state.activeIndex - 1;\n let scale = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [slideScale, slideScale, 1, slideScale, slideScale]\n });\n let translateX = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [-56, -56, 0, 56, 56]\n });\n return (\n <Animated.View key={this.generateItemKey(item, index, props)}\n onLayout={this.addSlideLayout.bind(this, index)}\n style={[\n {height: props.type === 'dynamic' ? undefined : '100%'},\n this.styles.slide,\n index === 0 ? this.styles.firstSlide : null,\n index === data.length - 1 ? this.styles.lastSlide: null,\n isActive ? this.styles.activeSlide: null,\n translateX && scale ? {\n transform: [\n {\n translateX: !isUndefined(slideTranslateX) ? slideTranslateX : translateX\n }, {\n scale: scale\n }\n ]\n } : null]}>\n <Tappable onTap={() => {\n this.onSlideChange(index + 1);\n const position = this.slidesLayout\n .filter((l , i) => i < index)\n .reduce((s, l) => s + l.width, 0);\n this.animationView?.setPosition(-1 * position);\n }} rippleColor={this.styles.root.rippleColor} styles={{height: \"100%\"}}>\n {this.renderItem(item, index)}\n </Tappable>\n </Animated.View>\n );\n })}\n </SwipeAnimation.View>\n {hasNavs ? (\n <View style={styles.btnPanel}>\n <WmIcon\n id={this.getTestId('prev_icon')}\n iconclass=\"wi wi-chevron-left fa-2x\"\n styles={styles.prevBtn}\n onTap={this.prev}\n accessibilitylabel='back'/>\n <WmIcon\n id={this.getTestId('next_icon')}\n iconclass=\"wi wi-chevron-right fa-2x\"\n styles={styles.nextBtn}\n onTap={this.next}\n accessibilitylabel='next'/>\n </View>): null}\n {hasDots && data ? this.renderPagination(data) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -46,7 +46,7 @@ export default class WmProgressCircle extends BaseComponent {
46
46
  return /*#__PURE__*/React.createElement(View, _extends({
47
47
  style: styles.root,
48
48
  onLayout: this.onLayout.bind(this)
49
- }, getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)), this._background, /*#__PURE__*/React.createElement(Tappable, {
49
+ }, getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props), this.getTestPropsForAction('progresscircle')), this._background, /*#__PURE__*/React.createElement(Tappable, {
50
50
  target: this,
51
51
  styles: {
52
52
  root: {
@@ -54,7 +54,7 @@ export default class WmProgressCircle extends BaseComponent {
54
54
  height: '100%'
55
55
  }
56
56
  }
57
- }, /*#__PURE__*/React.createElement(AnimatedCircularProgress, _extends({}, this.getTestPropsForAction('progresscircle'), {
57
+ }, /*#__PURE__*/React.createElement(AnimatedCircularProgress, {
58
58
  fill: value,
59
59
  width: styles.progressValue.height,
60
60
  backgroundWidth: styles.progressValue.height,
@@ -63,7 +63,7 @@ export default class WmProgressCircle extends BaseComponent {
63
63
  lineCap: styles.progressValue.buttStyle || "butt",
64
64
  backgroundColor: styles.progressCircle.backgroundColor,
65
65
  size: this.state.radius
66
- }), fill => /*#__PURE__*/React.createElement(View, {
66
+ }, fill => /*#__PURE__*/React.createElement(View, {
67
67
  style: {
68
68
  alignItems: 'center'
69
69
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","args","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","_background","target","getTestPropsForAction","fill","progressValue","backgroundWidth","rotation","tintColor","backgroundColor","lineCap","buttStyle","progressCircle","size","alignItems","text","getTestPropsForLabel","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)} {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <AnimatedCircularProgress\n {...this.getTestPropsForAction('progresscircle')}\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text} {...this.getTestPropsForLabel('title')}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle} {...this.getTestPropsForLabel('subtitle')}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","args","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","getTestPropsForAction","_background","target","fill","progressValue","backgroundWidth","rotation","tintColor","backgroundColor","lineCap","buttStyle","progressCircle","size","alignItems","text","getTestPropsForLabel","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)} {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)} {...this.getTestPropsForAction('progresscircle')}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text} {...this.getTestPropsForLabel('title')}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle} {...this.getTestPropsForLabel('subtitle')}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -582,6 +582,7 @@ export class BaseChartComponent extends BaseComponent {
582
582
  renderLoadingIcon() {
583
583
  const props = this.state.props;
584
584
  return /*#__PURE__*/React.createElement(WmIcon, {
585
+ id: this.getTestId('loadericon'),
585
586
  styles: this.styles.loadingIcon,
586
587
  iconclass: props.loadingicon,
587
588
  caption: props.loadingdatamsg
@@ -1 +1 @@
1
- {"version":3,"names":["React","Dimensions","View","Text","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","trim","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","constructSampleData","getChartType","isWebPreviewMode","BaseChartComponentState","constructor","args","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","defaultProps","defaultState","theme","applyTheme","subscribe","event","updateState","isTooltipOpen","componentDidMount","onViewLayoutChange","e","viewWidth","nativeEvent","layout","viewHeight","height","state","chartWidth","Number","totalHeight","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","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","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPosition","xCoordinate","offsetX","locationX","yCoordinate","offsetY","locationY","tooltipXPosition","tooltipoffsetx","tooltipYPosition","tooltipoffsety","setTooltipPartialLayout","tooltipLayout","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","zIndex","selectedItem","index","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","split","map","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","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel","getDataType","widgetContext","Error"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions, View, Text, LayoutChangeEvent, LayoutRectangle} 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/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\nimport { isWebPreviewMode } from \"@wavemaker/app-rn-runtime/core/utils\";\n\nexport class BaseChartComponentState <T extends BaseChartComponentProps> extends BaseComponentState<T> {\n data: any = [];\n content: any = null;\n yAxis: Array<string> = [];\n xaxisDatakeyArr: Array<any> = [];\n legendData: any = [];\n theme: any;\n colors: any;\n xLabel: string = '';\n yLabel: string = '';\n total: number = 0;\n endAngle: number = 0;\n loading: boolean = true;\n chartHeight: number = 0;\n chartWidth: number = 0;\n 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 = 60;\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 constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n if (!props.theme) {\n this.applyTheme(props);\n }\n 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 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: 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: this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={props.offsetxaxis ? 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 setTooltipPosition(nativeEvent: any){\n let xCoordinate = isWebPreviewMode() ? nativeEvent.offsetX : nativeEvent.locationX;\n let yCoordinate = isWebPreviewMode() ? nativeEvent.offsetY : nativeEvent.locationY;\n this.updateState({\n tooltipXPosition: xCoordinate - this.state.tooltipoffsetx,\n tooltipYPosition: yCoordinate - this.state.tooltipoffsety,\n } 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 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, 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 if (typeof props.customcolors === 'string' && !isEmpty(props.customcolors)) {\n colorsToUse = props.customcolors.split(',').map(trim);\n }\n let themeToUse;\n if (typeof themeName === 'string') {\n if (!colorsToUse.length) {\n colorsToUse = props.customcolors as string[];\n }\n if(props.customcolors===undefined) {\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 styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n const props = this.state.props;\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!props.labeltype || props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(props.type) && (props.ydomain || props.xdomain)) {\n this.setDomainValues();\n }\n this.updateState({\n loading: false\n } as S);\n });\n }\n\n setTotal(data: Array<{x: any, y: number}>) {\n let total = 0;\n data.forEach((d: {x: any, y: any}) => {\n total += d.y as number;\n });\n this.updateState({\n total: total\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n let units = '';\n switch(name) {\n case 'customcolors':\n if (isEmpty($new)) {\n return;\n }\n if (typeof $new === 'string') {\n $new = $new.split(',');\n }\n this.updateState({\n colors: $new\n } as S);\n break;\n case 'theme':\n this.applyTheme(props);\n break;\n case 'dataset':\n if (!isArray($new)) {\n if (isObject($new) && !isEmpty($new)) {\n $new = [$new];\n } else {\n $new = [];\n }\n }\n $new && this.prepareDataItems($new);\n break;\n case 'xaxislabel':\n if (props.xunits) {\n units = ' (' + props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (props.yunits) {\n units = ' (' + props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n}\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,QAA2C,cAAc;AACxF,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAAQC,OAAO,EAAEC,GAAG,EAAEC,OAAO,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,GAAG,EAAEC,IAAI,EAAEC,OAAO,QAAO,WAAW;AAEpG,SAAQC,WAAW,EAAEC,aAAa,EAAEC,YAAY,QAAgD,gBAAgB;AAEhH,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AACnF,OAAOC,YAAY,MAAO,8DAA8D;AAGxF,SAASC,aAAa,QAAiC,oBAAoB;AAE3E,SAASC,mBAAmB,EAAEC,YAAY,QAAQ,cAAc;AAChE,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,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,iBAGH,EAAE;IAAAA,eAAA,iBACF,EAAE;IAAAA,eAAA,gBACH,CAAC;IAAAA,eAAA,mBACE,CAAC;IAAAA,eAAA,kBACD,IAAI;IAAAA,eAAA,sBACD,CAAC;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA,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,GAAG9B,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC,CAAC0B,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;EAEnLS,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,sBADjBE,WAAW;IAGzC,IAAI,CAACK,KAAK,CAACI,KAAK,EAAE;MAChB,IAAI,CAACC,UAAU,CAACL,KAAK,CAAC;IACxB;IACA,IAAI,CAACM,SAAS,CAAC,aAAa,EAAGC,KAAU,IAAK;MAC5C,IAAI,CAACC,WAAW,CAAC;QACfC,aAAa,EAAE;MACjB,CAAQ,CAAC;IACX,CAAC,CAAC;EACJ;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;EAC3B;EAEAC,kBAAkBA,CAACC,CAAoB,EAAC;IACtC,IAAIC,SAAS,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAACnB,KAAK;IAC1C,IAAIoB,UAAU,GAAGJ,CAAC,CAACE,WAAW,CAACC,MAAM,CAACE,MAAM;IAC5C,IAAI,IAAI,aAAJ,IAAI,eAAJ,IAAI,CAAEC,KAAK,IAAIL,SAAS,KAAK,IAAI,CAACK,KAAK,CAACC,UAAU,EAAE;MACtD,IAAI,CAACX,WAAW,CAAC;QACfW,UAAU,EAAEC,MAAM,CAACP,SAAS,CAAC;QAC7BQ,WAAW,EAAED,MAAM,CAACJ,UAAU;MAChC,CAAQ,CAAC;IACX;EACF;EAGAM,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,GAAG9B,SAAS,CAAC0B,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,CAAChB,KAAK,CAAClB,KAAK,CAACmC,UAAU,KAAK,MAAM,EAAE;MAC1C,OAAO,IAAI;IACb;IACA,MAAMnC,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,IAAIoC,GAAG,GAAGpC,KAAK,CAACmC,UAAU,KAAK,QAAQ,GAAGE,QAAQ,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,CAACtB,MAAgB,CAAC,GAAG,CAAC;IACzF,IAAImB,GAAG,EAAE;MACPA,GAAG,GAAGA,GAAG,GAAI,EAAG,CAAC,CAAC;IACpB;IACA,MAAMI,WAAW,GAAIxC,KAAK,CAACmC,UAAU,KAAK,OAAO,IAAInC,KAAK,CAACmC,UAAU,KAAK,MAAM,GAAI,UAAU,GAAG,YAAY;IAC7G,oBAAOvE,KAAA,CAAA6E,aAAA,CAAC7D,aAAa;MACnBsD,UAAU,EAAEA,UAAW;MACvBQ,IAAI,EAAE,YAAa;MACnBF,WAAW,EAAEA,WAAY;MACzBG,MAAM,EAAE,EAAG;MACXC,IAAI,EAAE,IAAI,CAAC1B,KAAK,CAAC2B,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,CAAChD,KAAK,CAACiD,eAAe,CAACC,MAAM,GAAG,CAAC;IACtD,MAAMpE,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,MAAMqE,iBAAiB,GAAGrE,KAAK,CAACsE,SAAgB;IAChD,IAAIrD,MAAM,GAAG,IAAI,CAACqB,MAAM,CAACC,IAAI,CAACtB,MAAM,IAAI,GAAG;IAC3C,IAAIsD,kBAAkB,GAAGvE,KAAK,CAACuE,kBAAkB,GAAGvE,KAAK,CAACuE,kBAAkB,GAAGtD,MAAM,GAAa,EAAE;IACpG,IAAIA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MACxCA,MAAM,GAAGoB,QAAQ,CAACpB,MAAM,CAAC;IAC3B;IACA,oBAAOrD,KAAA,CAAA6E,aAAA,CAAC9D,WAAW;MAAC6F,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAACzE,KAAK,CAAC0E,UAAU,IAAI1E,KAAK,CAAC2E,YAAY,IAAI,MAAM,KAAK3E,KAAK,CAAC4E,MAAM,GAAG,IAAI5E,KAAK,CAAC4E,MAAM,GAAG,GAAG,EAAE,CAAE;MACxH9B,KAAK,EAAE;QACL+B,SAAS,EAAE,IAAI,CAACzE,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACuC,SAAS,EAAE,IAAI,CAACvC,MAAM,CAACyC,UAAU,CAAC;QAC/EC,IAAI,EAAEhF,KAAK,CAACiF,aAAa,GACrB;UAAEjC,MAAM,EAAE;QAAK,CAAC,GAAI,IAAI,CAAC5C,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC0C,IAAI,EAAE,IAAI,CAAC1C,MAAM,CAAC4C,KAAK,CAAC;QAClFC,IAAI,EAAEnF,KAAK,CAACoF,SAAS,KAAK,KAAK,GAC3B;UAAEpC,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAC5C,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC6C,IAAI,EAAE,IAAI,CAAC7C,MAAM,CAAC+C,KAAK,CAAC;QACpFC,KAAK,EAAE,IAAI,CAAClF,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACgD,KAAK,EAAE,IAAI,CAAChD,MAAM,CAACiD,MAAM,CAAC;QACnEC,UAAU,EAAE,IAAI,CAACpF,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACkD,UAAU,EAAE,IAAI,CAAClD,MAAM,CAACmD,WAAW;MACnF,CAAE;MACFC,eAAe,EAAG1F,KAAK,CAAC2F,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDC,kBAAkB,eAAEhI,KAAA,CAAA6E,aAAA,CAAC5D,YAAY;QAACsE,CAAC,EAAEoB;MAAmB,CAAC,CAAE;MAC3DsB,kBAAkB,eAAEjI,KAAA,CAAA6E,aAAA,CAAC5D,YAAY;QAACsE,CAAC,EAAEnD,KAAK,CAAC8F,WAAW,GAAG9F,KAAK,CAAC8F,WAAW,GAAG7E,MAAM,GAAa,EAAG;QAAC8E,KAAK,EAAE/F,KAAK,CAACgG,UAAU,IAAI;MAAE,CAAC,CAAE;MAAC5F,KAAK,EAAE,IAAI,CAACc,KAAK,CAACd,KAAM;MAC7J6F,SAAS,EAAE,IAAI,CAAC/E,KAAK,CAACiD,eAAe,CAACC,MAAO;MAC7C8B,UAAU,EAAE,IAAI,CAACC,KAAM;MACvBC,UAAU,EAAGA,CAACC,CAAS,EAAEC,CAAS,EAAEhB,KAAU,KAAK;QACjD,IAAIjB,iBAAiB,EAAE;UACnB,OAAOA,iBAAiB,CAAC,IAAI,CAACnD,KAAK,CAACiD,eAAe,CAACkC,CAAC,CAAC,EAAEC,CAAC,EAAE,CAAChB,KAAK,IAAI,EAAE,EAAElB,MAAM,CAAC;QACpF,CAAC,MAAM,IAAI,IAAI,CAAClD,KAAK,CAACiD,eAAe,EAAE;UACrC,OAAO,IAAI,CAACjD,KAAK,CAACiD,eAAe,CAACkC,CAAC,CAAC;QACtC;QACA,OAAO,EAAE;MACX;IAAE,CACD,CAAC;EAC1B;;EAGE;EACAE,QAAQA,CAAA,EAAG;IACT,MAAMvG,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,IAAIA,KAAK,CAACwG,SAAS,KAAK,KAAK,EAAE;MAC7B,OAAO,IAAI;IACb;IACA,MAAMnC,iBAAiB,GAAGrE,KAAK,CAACyG,SAAgB;IAChD,MAAM/C,aAAa,GAAG1D,KAAK,CAAC0D,aAAa;IACzC,IAAIgD,kBAAkB,GAAG1G,KAAK,CAAC0G,kBAAkB,GAAG1G,KAAK,CAAC0G,kBAAkB,GAAG,EAAE;IACjF,oBAAO9I,KAAA,CAAA6E,aAAA,CAAC9D,WAAW;MAAC6F,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAACzE,KAAK,CAAC2G,UAAU,IAAI3G,KAAK,CAAC4G,YAAY,KAAK5G,KAAK,CAAC6G,MAAM,GAAG,IAAI7G,KAAK,CAAC6G,MAAM,GAAG,GAAG,EAAE,CAAE;MAC9G/D,KAAK,EAAE;QACL+B,SAAS,EAAE,IAAI,CAACzE,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACuC,SAAS,EAAE,IAAI,CAACvC,MAAM,CAACyC,UAAU,CAAC;QAC/EC,IAAI,EAAEhF,KAAK,CAAC8G,aAAa,GAAG;UAAE9D,MAAM,EAAE;QAAK,CAAC,GAAG,IAAI,CAAC5C,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC0C,IAAI,EAAE,IAAI,CAAC1C,MAAM,CAACyE,KAAK,CAAC;QACzG5B,IAAI,EAAEnF,KAAK,CAACoF,SAAS,KAAK,KAAK,GAC/B;UAAEpC,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAC5C,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC6C,IAAI,EAAE,IAAI,CAAC7C,MAAM,CAAC0E,KAAK,CAAC;QAChF1B,KAAK,EAAE,IAAI,CAAClF,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACgD,KAAK,EAAE,IAAI,CAAChD,MAAM,CAAC2E,MAAM,CAAC;QACnEzB,UAAU,EAAE,IAAI,CAACpF,KAAK,CAAC0E,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACkD,UAAU,EAAE,IAAI,CAAClD,MAAM,CAAC4E,WAAW;MACnF,CAAE;MACFxB,eAAe,EAAG1F,KAAK,CAAC2F,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDC,kBAAkB,eAAEhI,KAAA,CAAA6E,aAAA,CAAC5D,YAAY;QAACsI,CAAC,EAAET;MAAmB,CAAC,CAAE;MAC3Db,kBAAkB,eAAEjI,KAAA,CAAA6E,aAAA,CAAC5D,YAAY;QAACsI,CAAC,EAAEnH,KAAK,CAACoH,WAAW,GAAGpH,KAAK,CAACoH,WAAW,GAAG;MAAG,CAAC,CAAE;MACnFhH,KAAK,EAAE,IAAI,CAACc,KAAK,CAACd,KAAM;MACxBgG,UAAU,EAAGA,CAACC,CAAS,EAAEC,CAAS,EAAEhB,KAAU,KAAK;QACjD,IAAIjB,iBAAiB,EAAE;UACrB,OAAOA,iBAAiB,CAACgC,CAAC,EAAEC,CAAC,EAAE,CAAChB,KAAK,IAAI,EAAE,EAAElB,MAAM,CAAC;QACtD;QACA,IAAIV,aAAa,EAAE;UACjB,OAAO,IAAI,CAACF,cAAc,CAAC6C,CAAC,EAAE3C,aAAa,CAAC;QAC9C;QACA,OAAO,IAAI,CAACpC,gBAAgB,CAAC+E,CAAC,CAAC;MACjC,CAAE;MACF7D,WAAW,EAAE,IAAI,CAAC2D,KAAK,GAAC,OAAO,GAAC,MAAO;MACvCkB,aAAa;IAAA,CAAE,CAAC;EACtC;EAEAC,kBAAkBA,CAACC,WAAgB,EAAE;IACnC,IAAI,CAAC/G,WAAW,CAAC;MAAEgH,QAAQ,EAAED;IAAW,CAAQ,CAAC;EACnD;EAEAE,kBAAkBA,CAAC3G,WAAgB,EAAC;IAClC,IAAI4G,WAAW,GAAGrI,gBAAgB,CAAC,CAAC,GAAGyB,WAAW,CAAC6G,OAAO,GAAG7G,WAAW,CAAC8G,SAAS;IAClF,IAAIC,WAAW,GAAGxI,gBAAgB,CAAC,CAAC,GAAGyB,WAAW,CAACgH,OAAO,GAAGhH,WAAW,CAACiH,SAAS;IAClF,IAAI,CAACvH,WAAW,CAAC;MACfwH,gBAAgB,EAAEN,WAAW,GAAG,IAAI,CAACxG,KAAK,CAAC+G,cAAc;MACzDC,gBAAgB,EAAGL,WAAW,GAAG,IAAI,CAAC3G,KAAK,CAACiH;IAC9C,CAAQ,CAAC;EACX;EAEAC,uBAAuBA,CAAC7H,KAAwB,EAAC;IAC/C,IAAI8H,aAAa,GAAG9H,KAAK,CAACO,WAAW,CAACC,MAAM;IAC5C,IAAI,CAACP,WAAW,CAAC;MACfyH,cAAc,EAAEI,aAAa,CAACzI,KAAK,GAAC,CAAC;MACrCuI,cAAc,EAAEE,aAAa,CAACpH;IAChC,CAAQ,CAAC;EACX;EAEAqH,aAAaA,CAAA,EAAE;IACb,oBACE1K,KAAA,CAAA6E,aAAA,CAAC3E,IAAI;MACLgF,KAAK,EAAE,CACL;QACEyF,SAAS,EAAE,CACT;UAAEC,MAAM,EAAE;QAAS,CAAC,CACrB;QACDC,MAAM,EAAE,CAAC,EAAE;QACXvF,IAAI,EAAE,IAAI,CAAChC,KAAK,CAAC+G,cAAc,GAAG,IAAI,CAAC3F,MAAM,CAACoG,cAAc,CAACC,iBAAiB,GAAC;MACjF,CAAC,EACD,IAAI,CAACrG,MAAM,CAACoG,cAAc;IAC1B,CACH,CAAC;EAEJ;EAEAE,UAAUA,CAAA,EAAG;IACX,MAAMlF,aAAa,GAAG,IAAI,CAACxC,KAAK,CAAClB,KAAK,CAAC0D,aAAa;IACpD,IAAImF,SAAS,GAAGnF,aAAa,GAAG,IAAI,CAACF,cAAc,CAAC,IAAI,CAACtC,KAAK,CAAC4H,YAAY,EAAEpF,aAAa,CAAC,GAAG,IAAI,CAACxC,KAAK,CAAC4H,YAAY;IACrH,OAAO,IAAI,CAAC5H,KAAK,CAACT,aAAa,GAC7B,CAACrC,OAAO,CAAC,IAAI,CAAC8C,KAAK,CAACsG,QAAQ,CAAC,IAAI,IAAI,CAACxH,KAAK,CAAC+I,iBAAiB,gBAC7DnL,KAAA,CAAA6E,aAAA,CAAC3E,IAAI;MAACkL,QAAQ,EAAE,IAAI,CAACZ,uBAAuB,CAACa,IAAI,CAAC,IAAI,CAAE;MAACnG,KAAK,EAAE;QAAEoG,QAAQ,EAAE,UAAU;QAAE9G,GAAG,EAAE,IAAI,CAAClB,KAAK,CAACgH,gBAA0B;QAAEhF,IAAI,EAAE,IAAI,CAAChC,KAAK,CAAC8G,gBAA0B;QAAGmB,MAAM,EAAE;MAAE;IAAE,GACxL,IAAI,CAACnJ,KAAK,CAAC+I,iBAAiB,CAAC,IAAI,CAAC7H,KAAK,CAACkI,YAAY,EAAE,IAAI,CAAClI,KAAK,CAACkI,YAAY,CAACC,KAAK,EAAE,IAAI,CAACnI,KAAK,CAACsG,QAAQ,CAAC,EACzG,IAAI,CAACc,aAAa,CAAC,CACnB,CAAC,gBACP1K,KAAA,CAAA6E,aAAA,CAAC3E,IAAI;MAACgF,KAAK,EAAE,CACX;QAAEoG,QAAQ,EAAE,UAAU;QAAE9G,GAAG,EAAE,IAAI,CAAClB,KAAK,CAACgH,gBAA0B;QAAEhF,IAAI,EAAE,IAAI,CAAChC,KAAK,CAAC8G;MAA0B,CAAC,EAChH,IAAI,CAAC1F,MAAM,CAACgH,gBAAgB;IAC5B,gBACA1L,KAAA,CAAA6E,aAAA,CAAC1E,IAAI;MAAC+E,KAAK,EAAE,CAAC;QAAEyG,QAAQ,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAO,CAAC,EAAC,IAAI,CAAClH,MAAM,CAACmH,YAAY;IAAE,GAAE,IAAI,CAACvI,KAAK,CAACwI,YAAmB,CAAC,eAC9G9L,KAAA,CAAA6E,aAAA,CAAC1E,IAAI;MAAC+E,KAAK,EAAE,IAAI,CAACR,MAAM,CAACmH;IAAa,GAAEZ,SAAgB,CAAC,EACxD,IAAI,CAACP,aAAa,CAAC,CAChB,CAAE,GACN,IAAI;EACV;;EAEA;EACAqB,qBAAqBA,CAACC,IAAY,EAAE;IAClC,OAAOA,IAAI,KAAK,QAAQ,IAAGA,IAAI,KAAK,MAAM;EAC5C;;EAEA;EACAC,iBAAiBA,CAAC1E,IAAY,EAAE;IAC9B,MAAMnF,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,IAAI9B,GAAG,CAAC8B,KAAK,EAAEmF,IAAI,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAK,IAAI,CAACwE,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,CAACnJ,KAAK,CAAC0B,IAAI,CAACwB,MAAM,GAAG,CAAC,EAAE;MAC9B,IAAI,IAAI,CAACyF,iBAAiB,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC3I,KAAK,CAAC0B,IAAI,CAAC,CAAC,CAAC,CAACuE,CAAC,KAAK,QAAQ,EAAE;QAC3EiD,aAAa,GAAG,IAAI,CAACE,gBAAgB,CAAC,IAAI,CAACpJ,KAAK,CAAC0B,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3D;MACA,IAAI,IAAI,CAACiH,iBAAiB,CAAC,GAAG,CAAC,EAAE;QAC/BQ,aAAa,GAAG,IAAI,CAACE,gBAAgB,CAAC,IAAI,CAACrJ,KAAK,CAAC0B,IAAI,CAAC;MACxD;MACA,IAAIwH,aAAa,EAAE;QACjB,IAAI,CAAC5J,WAAW,CAAC;UACfgK,SAAS,EAAEH,aAAa,CAACJ,GAAG,CAAC9C,CAAC;UAC9BsD,SAAS,EAAEJ,aAAa,CAACH,GAAG,CAAC/C;QAC/B,CAAM,CAAC;MACT;MACA,IAAIuD,IAAI;MACR,IAAIL,aAAa,EAAE;QACjB,IAAI,IAAI,CAACP,oBAAoB,CAAC;UAACI,GAAG,EAAEG,aAAa,CAACH,GAAG,CAAC/G,CAAC;UAAE8G,GAAG,EAAEI,aAAa,CAACJ,GAAG,CAAC9G;QAAC,CAAC,CAAC,EAAE;UACnFuH,IAAI,GAAG,IAAI,CAACtH,iBAAiB,CAACiH,aAAa,CAACJ,GAAG,CAAC9G,CAAC,CAAC;QACpD;QACA,IAAI,CAAC3C,WAAW,CAAC;UACfmK,SAAS,EAAED,IAAI,GAAGA,IAAI,GAAGL,aAAa,CAACJ,GAAG,CAAC9G,CAAC;UAC5CyH,SAAS,EAAEP,aAAa,CAACH,GAAG,CAAC/G;QAC/B,CAAM,CAAC;MACT;IACF;EACF;;EAEA;EACAmH,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,GAAG1L,KAAK,CAACsM,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAAC5D,CAAC,CAAC,IAAI;MAACA,CAAC,EAAEzH;IAAS,CAAC;IAC5F;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIoL,OAAO,CAACZ,GAAG,GAAG5L,KAAK,CAACuM,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAAC5D,CAAC,CAAC,IAAG;MAACA,CAAC,EAAEzH;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;;IAGI5M,OAAO,CAAC4M,KAAK,EAAEjI,IAAI,IAAI;MACrB,IAAIA,IAAI,IAAI,CAACxE,OAAO,CAACwE,IAAI,CAAC,EAAE;QAC1BqI,SAAS,CAACE,IAAI,CAAC5M,KAAK,CAACqE,IAAI,EAAImI,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC5H,CAAC;QAAC,CAAC,CAAC,CAAC;QACvF+H,SAAS,CAACC,IAAI,CAAC7M,KAAK,CAACsE,IAAI,EAAImI,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC5H,CAAC;QAAC,CAAC,CAAC,CAAC;MACzF;IACF,CAAC,CAAC;IACF;IACA6H,OAAO,CAACf,GAAG,GAAG1L,KAAK,CAAC0M,SAAS,EAAGF,UAA4B,IAAKA,UAAU,CAAC5H,CAAC,CAAC,IAAI;MAACA,CAAC,EAAEzD;IAAS,CAAC;IAChGsL,OAAO,CAACd,GAAG,GAAG5L,KAAK,CAAC4M,SAAS,EAAGH,UAA4B,IAAKA,UAAU,CAAC5H,CAAC,CAAC,IAAI;MAACA,CAAC,EAAEzD;IAAS,CAAC;IAChG,OAAOsL,OAAO;EAChB;EAEAI,qBAAqBA,CAACC,EAAe,EAAE;IACrC,IAAIpK,MAAM,GAAG,IAAI,CAACqB,MAAM,CAACC,IAAI,CAACtB,MAAM,IAAI,GAAG;IAC3C,IAAIrB,KAAK,GAAG,IAAI,CAAC0C,MAAM,CAACC,IAAI,CAAC3C,KAAK,IAAID,WAAW;IACjD,IAAIsB,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MACxCA,MAAM,GAAGoB,QAAQ,CAACpB,MAAM,CAAC;IAC3B;IACA,IAAIrB,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCA,KAAK,GAAGyC,QAAQ,CAACzC,KAAK,CAAC;IACzB;IACA,IAAI,CAACY,WAAW,CAAC;MACf8K,WAAW,EAAErK,MAAM;MACnBE,UAAU,EAAEvB;IACd,CAAC,EAAOyL,EAAE,CAAC;EACb;EAEAhL,UAAUA,CAACL,KAA8B,EAAE;IACzC,IAAIuL,SAAS,GAAGvL,KAAK,CAACI,KAAK,GAAGJ,KAAK,CAACI,KAAK,GAAIJ,KAAK,CAAC4J,IAAI,KAAK,KAAK,GAAG,OAAO,GAAG,aAAc;IAC5F,IAAI4B,WAAW,GAAG,EAAE;IACpB,IAAI,OAAOxL,KAAK,CAACyL,YAAY,KAAK,QAAQ,IAAI,CAACrN,OAAO,CAAC4B,KAAK,CAACyL,YAAY,CAAC,EAAE;MAC1ED,WAAW,GAAGxL,KAAK,CAACyL,YAAY,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAClN,IAAI,CAAC;IACvD;IACA,IAAImN,UAAU;IACd,IAAI,OAAOL,SAAS,KAAK,QAAQ,EAAE;MACjC,IAAI,CAACC,WAAW,CAACpH,MAAM,EAAE;QACvBoH,WAAW,GAAGxL,KAAK,CAACyL,YAAwB;MAC9C;MACA,IAAGzL,KAAK,CAACyL,YAAY,KAAG/L,SAAS,EAAE;QACjC8L,WAAW,GAAGvM,YAAY,CAAC4M,YAAY,CAACN,SAAS,CAAC;MACpD;MACAK,UAAU,GAAG3M,YAAY,CAAC6M,QAAQ,CAACP,SAAS,EAAEvL,KAAK,CAACsC,MAAM,EAAEkJ,WAAW,CAAC;IAC1E,CAAC,MAAM,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;MACxC;MACAK,UAAU,GAAG5L,KAAK,CAACI,KAAK;IAC1B;IACA,IAAI,CAACI,WAAW,CAAC;MACfuL,MAAM,EAAEP,WAAW;MACnBpL,KAAK,EAAEwL;IACT,CAAM,CAAC;EACT;EAEAI,iBAAiBA,CAAA,EAAG;IAClB,MAAMhM,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,IAAI,IAAI,CAACkB,KAAK,CAAC8F,KAAK,EAAE;MACpB,IAAIiF,KAAU;MACd,IAAIjM,KAAK,CAAC4J,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAMhH,IAAI,GAAGlE,OAAO,CAAC,IAAI,CAACwC,KAAK,CAAC0B,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;QACpDqJ,KAAK,GAAGrJ,IAAI,CAAC+I,GAAG,CAAEtF,CAAM,IAAK;UAC3B,OAAO;YACL3D,IAAI,EAAE,IAAI,CAACxB,KAAK,CAACiD,eAAe,CAACkC,CAAC,CAACc,CAAC;UACtC,CAAC;QACH,CAAC,CAAC;MACJ,CAAC,MAAM;QACL8E,KAAK,GAAG,IAAI,CAAC/K,KAAK,CAAC8F,KAAK,CAAC2E,GAAG,CAAEtF,CAAS,IAAK;UAC1C,OAAO;YACL3D,IAAI,EAAE2D;UACR,CAAC;QACH,CAAC,CAAC;MACJ;MAEA,IAAI,CAAC7F,WAAW,CAAC;QACfqC,UAAU,EAAEoJ;MACd,CAAM,CAAC;IACT;EACF;EAEAC,aAAaA,CAACxJ,IAAY,EAAE;IAC1B,OAAO,IAAI,CAACxB,KAAK,CAAC2B,UAAU,CAAC8I,GAAG,CAAC,CAACQ,CAAM,EAAEC,GAAW,KAAK;MACxD,OAAO;QACLC,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrBC,MAAM,EAAE,MAAM;QACdC,QAAQ,EAAEC,MAAM,CAACJ,GAAG,CAAC;QACrBK,aAAa,EAAE;UACbC,OAAO,EAAEA,CAAA,KAAM;YACb,OAAO,CACL;cACEL,SAAS,EAAE,CAAC3J,IAAI,GAAG,GAAG,GAAG0J,GAAG,CAAC;cAC7BE,MAAM,EAAE,MAAM;cACdC,QAAQ,EAAE,KAAK;cACfI,QAAQ,EAAG3M,KAAU,IAAK;gBACxB,OAAO,IAAI;cACb;YACF,CAAC,CACF;UACH,CAAC;UACD4M,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,EAAE3D,KAAa,EAAElF,eAA2B,EAAE;IACpG,MAAMd,KAAU,GAAGnF,GAAG,CAAC6O,OAAO,EAAEC,IAAI,CAAC;IACrC,IAAIhP,MAAM,CAACqF,KAAK,CAAC,CAAC4J,OAAO,CAAC,CAAC,IAAIC,KAAK,CAAC7J,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACrG,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAC;QAC5Bc,eAAe,CAACgH,IAAI,CAAC9H,KAAK,CAAC8J,OAAO,CAAC,KAAK,EAAC,IAAI,CAAC,CAAC;MACjD,CAAC,MACG;QACFhJ,eAAe,CAACgH,IAAI,CAAC9H,KAAK,CAAC;MAC7B;MACA,OAAOgG,KAAK;IACd;IACA,OAAOhG,KAAK;EACd;EAEA+J,gBAAgBA,CAACC,OAAY,EAAE;IAC7B,MAAMrN,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,IAAIsN,KAAK,GAAGtN,KAAK,CAAC2E,YAAY;IAC9B,IAAI4I,KAAK,GAAGvN,KAAK,CAAC4G,YAAY;IAC9B,IAAIzC,eAA2B,GAAG,EAAE;IACpC,IAAIqJ,QAAa,GAAG,EAAE;IACtB,IAAIH,OAAO,CAACjJ,MAAM,KAAK,CAAC,EAAE;MAAA,IAAAqJ,MAAA;MACxBJ,OAAO,GAAGlO,mBAAmB,CAACC,YAAY,CAAC,IAAI,CAACY,KAAK,CAAC,GAAAyN,MAAA,GAAEF,KAAK,cAAAE,MAAA,uBAALA,MAAA,CAAO/B,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC1L,KAAK,CAAC0N,KAAK,CAAC;MAC5FJ,KAAK,GAAG,GAAG;MACXC,KAAK,GAAG,GAAG;IACb;IACA,IAAID,KAAK,IAAIC,KAAK,EAAE;MAClB,IAAII,IAAI,GAAGJ,KAAK,CAAC7B,KAAK,CAAC,GAAG,CAAC;MAC3BiC,IAAI,CAAC1P,OAAO,CAAEkF,CAAM,IAAK;QACvB,IAAImK,KAAK,KAAKnK,CAAC,EAAE;UACfqK,QAAQ,CAACrC,IAAI,CAACkC,OAAO,CAAC1B,GAAG,CAAC,CAACiC,CAAwB,EAAEC,MAAc,KAAK;YACtE,MAAMC,IAAI,GAAG,IAAI,CAAChB,WAAW,CAACc,CAAC,EAAEN,KAAK,EAAEO,MAAM,EAAE1J,eAAe,CAAC;YAChE,IAAIV,IAAqB,GAAGvF,GAAG,CAAC0P,CAAC,EAAEzK,CAAC,CAAC;YACrC,IAAI,OAAOM,IAAI,KAAK,QAAQ,EAAE;cAC5BA,IAAI,GAAGsK,UAAU,CAACtK,IAAI,CAAC,IAAIA,IAAI;YACjC;YACA,IAAIsJ,OAAO,GAAG;cACZ5F,CAAC,EAAE2G,IAAI;cACP3K,CAAC,EAAEM;YACL,CAAC;YACD,IAAIzD,KAAK,CAACgO,UAAU,EAAE;cACpBxP,GAAG,CAACuO,OAAO,EAAE,MAAM,EAAE7O,GAAG,CAAC0P,CAAC,EAAE5N,KAAK,CAACgO,UAAU,EAAE,CAAC,CAAC,CAAC;YACnD;YACA,IAAIhO,KAAK,CAAC0N,KAAK,EAAE;cACflP,GAAG,CAACuO,OAAO,EAAE,QAAQ,EAAElN,MAAM,CAACG,KAAK,CAAC0N,KAAK,CAAC,CAAC;YAC7C;YACA,OAAOX,OAAO;UAChB,CAAC,CAAC,CAAC;QACL;MACF,CAAC,CAAC;MACF;MACA,IAAI,CAACkB,mBAAmB,CAAC,aAAa,EAAE,CAACvO,SAAS,EAAE,IAAI,CAACwO,KAAK,CAAC,CAAC;MAChE,IAAIlO,KAAK,CAAC4J,IAAI,IAAI,KAAK,IAAI5J,KAAK,CAAC4J,IAAI,KAAK,OAAO,EAAE;QACjD;QACAuE,UAAU,CAAC,MAAM;UACf,IAAI,CAAC3N,WAAW,CAAC;YACf4N,QAAQ,EAAE;UACZ,CAAM,CAAC;QACT,CAAC,EAAE,GAAG,CAAC;MACT;MACA,IAAI,CAACC,UAAU,CAACb,QAAQ,EAAEG,IAAI,EAAExJ,eAAe,CAAC;IAClD;EACF;EAGUmK,iBAAiBA,CAAA,EAAG;IAC5B,MAAMtO,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,oBAAQpC,KAAA,CAAA6E,aAAA,CAACzD,MAAM;MAACsD,MAAM,EAAE,IAAI,CAACA,MAAM,CAACiM,WAAY;MAChDC,SAAS,EAAExO,KAAK,CAACyO,WAAY;MAC7BC,OAAO,EAAE1O,KAAK,CAAC2O;IAAe,CAAS,CAAC;EAC1C;EAEAN,UAAUA,CAACb,QAAa,EAAEG,IAAS,EAAExJ,eAA2B,EAAE;IAChE,MAAMnE,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,IAAI,CAACQ,WAAW,CAAC;MACfoC,IAAI,EAAE4K,QAAe;MACrBxG,KAAK,EAAE2G,IAAI;MACXxJ,eAAe,EAAEA;IACnB,CAAC,EAAO,MAAM;MACZ,IAAI,CAAC6H,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAAChM,KAAK,CAAC4O,SAAS,IAAI5O,KAAK,CAAC4O,SAAS,KAAK,SAAS,EAAE;QACrD,IAAI,CAACC,QAAQ,CAAC,IAAI,CAAC3N,KAAK,CAAC0B,IAAI,CAAC,CAAC,CAAC,CAAC;MACnC;MACA,IAAI,IAAI,CAAC+G,qBAAqB,CAAC3J,KAAK,CAAC4J,IAAI,CAAC,KAAK5J,KAAK,CAAC8O,OAAO,IAAI9O,KAAK,CAAC+O,OAAO,CAAC,EAAE;QAC9E,IAAI,CAAC5E,eAAe,CAAC,CAAC;MACxB;MACA,IAAI,CAAC3J,WAAW,CAAC;QACfwO,OAAO,EAAE;MACX,CAAM,CAAC;IACT,CAAC,CAAC;EACJ;EAEAH,QAAQA,CAACjM,IAAgC,EAAE;IACzC,IAAIqM,KAAK,GAAG,CAAC;IACbrM,IAAI,CAAC3E,OAAO,CAAEoI,CAAmB,IAAK;MACpC4I,KAAK,IAAI5I,CAAC,CAAClD,CAAW;IACxB,CAAC,CAAC;IACF,IAAI,CAAC3C,WAAW,CAAC;MACfyO,KAAK,EAAEA;IACT,CAAM,CAAC;EACT;EAEAC,gBAAgBA,CAACxM,IAAY,EAAEyM,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACF,gBAAgB,CAACxM,IAAI,EAAEyM,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMpP,KAAK,GAAG,IAAI,CAACkB,KAAK,CAAClB,KAAK;IAC9B,IAAIqP,KAAK,GAAG,EAAE;IACd,QAAO3M,IAAI;MACT,KAAK,cAAc;QACjB,IAAItE,OAAO,CAAC+Q,IAAI,CAAC,EAAE;UACjB;QACF;QACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;UAC5BA,IAAI,GAAGA,IAAI,CAACzD,KAAK,CAAC,GAAG,CAAC;QACxB;QACA,IAAI,CAAClL,WAAW,CAAC;UACfuL,MAAM,EAAEoD;QACV,CAAM,CAAC;QACP;MACF,KAAK,OAAO;QACV,IAAI,CAAC9O,UAAU,CAACL,KAAK,CAAC;QACtB;MACF,KAAK,SAAS;QACZ,IAAI,CAAC7B,OAAO,CAACgR,IAAI,CAAC,EAAE;UAClB,IAAI9Q,QAAQ,CAAC8Q,IAAI,CAAC,IAAI,CAAC/Q,OAAO,CAAC+Q,IAAI,CAAC,EAAE;YACpCA,IAAI,GAAG,CAACA,IAAI,CAAC;UACf,CAAC,MAAM;YACLA,IAAI,GAAG,EAAE;UACX;QACF;QACAA,IAAI,IAAI,IAAI,CAAC/B,gBAAgB,CAAC+B,IAAI,CAAC;QACnC;MACF,KAAK,YAAY;QACf,IAAInP,KAAK,CAAC4E,MAAM,EAAE;UAChByK,KAAK,GAAG,IAAI,GAAGrP,KAAK,CAAC4E,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACpE,WAAW,CAAC;UACf8O,MAAM,EAAEH,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;MACF,KAAK,YAAY;QACf,IAAIrP,KAAK,CAAC6G,MAAM,EAAE;UAChBwI,KAAK,GAAG,IAAI,GAAGrP,KAAK,CAAC6G,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACrG,WAAW,CAAC;UACf+O,MAAM,EAAEJ,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;IACJ;EACF;AACF;AACA,SAASG,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","trim","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","constructSampleData","getChartType","isWebPreviewMode","BaseChartComponentState","constructor","args","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","defaultProps","defaultState","theme","applyTheme","subscribe","event","updateState","isTooltipOpen","componentDidMount","onViewLayoutChange","e","viewWidth","nativeEvent","layout","viewHeight","height","state","chartWidth","Number","totalHeight","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","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","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPosition","xCoordinate","offsetX","locationX","yCoordinate","offsetY","locationY","tooltipXPosition","tooltipoffsetx","tooltipYPosition","tooltipoffsety","setTooltipPartialLayout","tooltipLayout","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","zIndex","selectedItem","index","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","split","map","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","getDataType","widgetContext","Error"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions, View, Text, LayoutChangeEvent, LayoutRectangle} 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/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\nimport { isWebPreviewMode } from \"@wavemaker/app-rn-runtime/core/utils\";\n\nexport class BaseChartComponentState <T extends BaseChartComponentProps> extends BaseComponentState<T> {\n data: any = [];\n content: any = null;\n yAxis: Array<string> = [];\n xaxisDatakeyArr: Array<any> = [];\n legendData: any = [];\n theme: any;\n colors: any;\n xLabel: string = '';\n yLabel: string = '';\n total: number = 0;\n endAngle: number = 0;\n loading: boolean = true;\n chartHeight: number = 0;\n chartWidth: number = 0;\n 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 = 60;\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 constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n if (!props.theme) {\n this.applyTheme(props);\n }\n 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 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: 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: this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={props.offsetxaxis ? 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 setTooltipPosition(nativeEvent: any){\n let xCoordinate = isWebPreviewMode() ? nativeEvent.offsetX : nativeEvent.locationX;\n let yCoordinate = isWebPreviewMode() ? nativeEvent.offsetY : nativeEvent.locationY;\n this.updateState({\n tooltipXPosition: xCoordinate - this.state.tooltipoffsetx,\n tooltipYPosition: yCoordinate - this.state.tooltipoffsety,\n } 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 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, 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 if (typeof props.customcolors === 'string' && !isEmpty(props.customcolors)) {\n colorsToUse = props.customcolors.split(',').map(trim);\n }\n let themeToUse;\n if (typeof themeName === 'string') {\n if (!colorsToUse.length) {\n colorsToUse = props.customcolors as string[];\n }\n if(props.customcolors===undefined) {\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 if (isEmpty($new)) {\n return;\n }\n if (typeof $new === 'string') {\n $new = $new.split(',');\n }\n this.updateState({\n colors: $new\n } as S);\n break;\n case 'theme':\n this.applyTheme(props);\n break;\n case 'dataset':\n if (!isArray($new)) {\n if (isObject($new) && !isEmpty($new)) {\n $new = [$new];\n } else {\n $new = [];\n }\n }\n $new && this.prepareDataItems($new);\n break;\n case 'xaxislabel':\n if (props.xunits) {\n units = ' (' + props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (props.yunits) {\n units = ' (' + props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n}\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":[]}
@@ -131,24 +131,42 @@ export default class WmStackChart extends BaseChartComponent {
131
131
  }
132
132
  getArcChart(props) {
133
133
  if (this.state.data.length > 0) {
134
- let data = cloneDeep(this.state.data[0]);
135
- const colorScaleArray = this.getColorCodes();
136
- const maxValue = Math.max(...data.map(o => o.y));
137
- data = orderBy(data, 'y', 'desc');
134
+ let data = this.getData();
135
+ let negativeValues = cloneDeep(this.getNegativeValuesArray());
136
+ let currentValue = 0;
137
+ let prevValue = 0;
138
+ data = data.map((d, i) => {
139
+ d.y = d.y - currentValue;
140
+ prevValue = d.y;
141
+ d.y = Math.abs(d.y);
142
+ d.index = d.x;
143
+ currentValue = prevValue < 0 && i === negativeValues.length - 1 ? 0 : prevValue + currentValue;
144
+ return d;
145
+ });
146
+ data.reverse();
147
+ if (negativeValues.length > 1) {
148
+ const portionToReverse = data.slice(-negativeValues.length);
149
+ const reversedPortion = portionToReverse.reverse();
150
+ data = [...data.slice(0, -negativeValues.length), ...reversedPortion];
151
+ }
138
152
  const radius = Math.min(this.state.chartWidth / 2, this.state.chartHeight - 50);
153
+ const angles = data.map((d, i) => {
154
+ let total = data.reduce((sum, item) => sum + item.y, 0);
155
+ return Math.round(d.y / total * 160);
156
+ });
157
+ let startAngle = 80;
139
158
  return data.map((d, i) => {
140
159
  let d1 = [];
141
160
  d1.push(d);
142
- d1.push({
143
- x: d.x,
144
- y: maxValue - d.y
145
- });
161
+ if (i != 0) {
162
+ startAngle = startAngle - angles[i - 1] + angles[i - 1] / 10;
163
+ }
146
164
  return /*#__PURE__*/React.createElement(VictoryPie, {
147
165
  key: props.name + '_' + i,
148
166
  radius: radius,
149
- colorScale: [colorScaleArray[i], '#fff0'],
150
- startAngle: -80,
151
- endAngle: 80,
167
+ colorScale: [this.state.colors[d.index], '#fff0'],
168
+ startAngle: angles ? startAngle : -80,
169
+ endAngle: -80,
152
170
  cornerRadius: 100,
153
171
  standalone: false,
154
172
  origin: {
@@ -157,6 +175,14 @@ export default class WmStackChart extends BaseChartComponent {
157
175
  },
158
176
  innerRadius: radius - this.state.props.thickness,
159
177
  labels: [],
178
+ events: [{
179
+ target: 'data',
180
+ eventHandlers: Platform.OS == "web" ? {
181
+ onClick: this.onSelect.bind(this)
182
+ } : {
183
+ onPress: this.onSelect.bind(this)
184
+ }
185
+ }],
160
186
  data: d1
161
187
  });
162
188
  });