@wavemaker/app-rn-runtime 11.10.4-rc.6085 → 11.10.5-1.6107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/advanced/login/login.component.js +1 -1
- package/components/advanced/login/login.component.js.map +1 -1
- package/components/advanced/login/login.props.js +1 -0
- package/components/advanced/login/login.props.js.map +1 -1
- package/components/advanced/webview/webview.component.js +3 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +4 -4
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/container/wizard/wizard.component.js +14 -3
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/data/list/list.component.js +39 -11
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +1 -0
- package/components/data/list/list.props.js.map +1 -1
- package/components/data/list/list.styles.js +1 -0
- package/components/data/list/list.styles.js.map +1 -1
- package/components/device/camera/camera.component.js +3 -1
- package/components/device/camera/camera.component.js.map +1 -1
- package/components/device/camera/camera.props.js +1 -0
- package/components/device/camera/camera.props.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +3 -1
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +3 -1
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/checkbox/checkbox.component.js +3 -1
- package/components/input/checkbox/checkbox.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +13 -3
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +3 -1
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +38 -7
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +3 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/core/formatters.js +4 -2
- package/core/formatters.js.map +1 -1
- package/gestures/swipe.animation.js +9 -9
- package/gestures/swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +197 -195
- package/package-lock.json +197 -195
- package/package.json +2 -2
@@ -30,7 +30,7 @@ export default class WmLogin extends BaseComponent {
|
|
30
30
|
return /*#__PURE__*/React.createElement(View, {
|
31
31
|
style: this.styles.root,
|
32
32
|
onLayout: event => this.handleLayout(event)
|
33
|
-
}, this._background, this.state.errorMsg && /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel('error'), {
|
33
|
+
}, this._background, this.state.errorMsg && props.showerror && /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel('error'), {
|
34
34
|
style: this.styles.errorMsgStyles
|
35
35
|
}), this.state.errorMsg), /*#__PURE__*/React.createElement(View, {
|
36
36
|
style: this.styles.formStyles
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","WmLoginProps","DEFAULT_CLASS","WmLoginState","constructor","args","_defineProperty","WmLogin","props","onLoginSuccess","response","onLoginError","error","updateState","errorMsg","message","doLogin","formData","onLogin","bind","renderWidget","createElement","style","styles","root","onLayout","event","handleLayout","_background","state","_extends","getTestPropsForLabel","errorMsgStyles","formStyles","children"],"sources":["login.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLoginProps from './login.props';\nimport { DEFAULT_CLASS, WmLoginStyles } from './login.styles';\nimport { AxiosError, AxiosResponse } from 'axios';\n\nexport class WmLoginState extends BaseComponentState<WmLoginProps> {\n errorMsg = '';\n}\n\nexport default class WmLogin extends BaseComponent<WmLoginProps, WmLoginState, WmLoginStyles> {\n constructor(props: WmLoginProps) {\n super(props, DEFAULT_CLASS, new WmLoginProps());\n }\n\n onLoginSuccess(response: AxiosResponse) {\n }\n\n onLoginError(error: AxiosError) {\n this.updateState({errorMsg: error?.message} as WmLoginState);\n }\n\n doLogin(formData: any) {\n this.props.onLogin(formData, this.onLoginSuccess.bind(this), this.onLoginError.bind(this));\n }\n\n renderWidget(props: WmLoginProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {this.state.errorMsg && <Text {...this.getTestPropsForLabel('error')} style={this.styles.errorMsgStyles}>{this.state.errorMsg}</Text>}\n <View style={this.styles.formStyles}>{props.children}</View>\n </View>); \n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,YAAY,MAAM,eAAe;AACxC,SAASC,aAAa,QAAuB,gBAAgB;AAG7D,OAAO,MAAMC,YAAY,SAASH,kBAAkB,CAAe;EAAAI,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACtD,EAAE;EAAA;AACf;AAEA,eAAe,MAAMC,OAAO,SAASR,aAAa,CAA4C;EAC5FK,WAAWA,CAACI,KAAmB,EAAE;IAC/B,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,YAAY,CAAC,CAAC,CAAC;EACjD;EAEAQ,cAAcA,CAACC,QAAuB,EAAE,CACxC;EAEAC,YAAYA,CAACC,KAAiB,EAAE;IAC9B,IAAI,CAACC,WAAW,CAAC;MAACC,QAAQ,EAAEF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG;IAAO,CAAiB,CAAC;EAC9D;EAEAC,OAAOA,CAACC,QAAa,EAAE;IACrB,IAAI,CAACT,KAAK,CAACU,OAAO,CAACD,QAAQ,EAAE,IAAI,CAACR,cAAc,CAACU,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAACR,YAAY,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;EAC5F;EAEAC,YAAYA,CAACZ,KAAmB,EAAE;IAChC,oBACAZ,KAAA,CAAAyB,aAAA,CAACvB,IAAI;MACHwB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;MACxBC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,GAE7C,IAAI,CAACE,WAAW,
|
1
|
+
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","WmLoginProps","DEFAULT_CLASS","WmLoginState","constructor","args","_defineProperty","WmLogin","props","onLoginSuccess","response","onLoginError","error","updateState","errorMsg","message","doLogin","formData","onLogin","bind","renderWidget","createElement","style","styles","root","onLayout","event","handleLayout","_background","state","showerror","_extends","getTestPropsForLabel","errorMsgStyles","formStyles","children"],"sources":["login.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLoginProps from './login.props';\nimport { DEFAULT_CLASS, WmLoginStyles } from './login.styles';\nimport { AxiosError, AxiosResponse } from 'axios';\n\nexport class WmLoginState extends BaseComponentState<WmLoginProps> {\n errorMsg = '';\n}\n\nexport default class WmLogin extends BaseComponent<WmLoginProps, WmLoginState, WmLoginStyles> {\n constructor(props: WmLoginProps) {\n super(props, DEFAULT_CLASS, new WmLoginProps());\n }\n\n onLoginSuccess(response: AxiosResponse) {\n }\n\n onLoginError(error: AxiosError) {\n this.updateState({errorMsg: error?.message} as WmLoginState);\n }\n\n doLogin(formData: any) {\n this.props.onLogin(formData, this.onLoginSuccess.bind(this), this.onLoginError.bind(this));\n }\n\n renderWidget(props: WmLoginProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(this.state.errorMsg && props.showerror) && <Text {...this.getTestPropsForLabel('error')} style={this.styles.errorMsgStyles}>{this.state.errorMsg}</Text>}\n <View style={this.styles.formStyles}>{props.children}</View>\n </View>); \n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,YAAY,MAAM,eAAe;AACxC,SAASC,aAAa,QAAuB,gBAAgB;AAG7D,OAAO,MAAMC,YAAY,SAASH,kBAAkB,CAAe;EAAAI,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACtD,EAAE;EAAA;AACf;AAEA,eAAe,MAAMC,OAAO,SAASR,aAAa,CAA4C;EAC5FK,WAAWA,CAACI,KAAmB,EAAE;IAC/B,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,YAAY,CAAC,CAAC,CAAC;EACjD;EAEAQ,cAAcA,CAACC,QAAuB,EAAE,CACxC;EAEAC,YAAYA,CAACC,KAAiB,EAAE;IAC9B,IAAI,CAACC,WAAW,CAAC;MAACC,QAAQ,EAAEF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG;IAAO,CAAiB,CAAC;EAC9D;EAEAC,OAAOA,CAACC,QAAa,EAAE;IACrB,IAAI,CAACT,KAAK,CAACU,OAAO,CAACD,QAAQ,EAAE,IAAI,CAACR,cAAc,CAACU,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAACR,YAAY,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;EAC5F;EAEAC,YAAYA,CAACZ,KAAmB,EAAE;IAChC,oBACAZ,KAAA,CAAAyB,aAAA,CAACvB,IAAI;MACHwB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;MACxBC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,GAE7C,IAAI,CAACE,WAAW,EACf,IAAI,CAACC,KAAK,CAACf,QAAQ,IAAIN,KAAK,CAACsB,SAAS,iBAAKlC,KAAA,CAAAyB,aAAA,CAACxB,IAAI,EAAAkC,QAAA,KAAK,IAAI,CAACC,oBAAoB,CAAC,OAAO,CAAC;MAAEV,KAAK,EAAE,IAAI,CAACC,MAAM,CAACU;IAAe,IAAE,IAAI,CAACJ,KAAK,CAACf,QAAe,CAAC,eAC1JlB,KAAA,CAAAyB,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACW;IAAW,GAAE1B,KAAK,CAAC2B,QAAe,CACvD,CAAC;EACT;AACF","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmLoginProps","constructor","args","_defineProperty"],"sources":["login.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmLoginProps extends BaseProps {\n children: any;\n onLogin: Function = () => {};\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,kBAE5B,MAAM,CAAC,CAAC;EAAA;
|
1
|
+
{"version":3,"names":["BaseProps","WmLoginProps","constructor","args","_defineProperty"],"sources":["login.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmLoginProps extends BaseProps {\n children: any;\n onLogin: Function = () => {};\n showerror: boolean = true;\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,kBAE5B,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACP,IAAI;EAAA;AAC7B","ignoreList":[]}
|
@@ -134,7 +134,9 @@ export default class WmWebview extends BaseComponent {
|
|
134
134
|
}) : /*#__PURE__*/React.createElement(WebView, _extends({
|
135
135
|
ref: ref => this.webview = ref,
|
136
136
|
nestedScrollEnabled: true,
|
137
|
-
|
137
|
+
containerStyle: this.styles.webview
|
138
|
+
// style={this.styles.webview} // when using style, there are some inconsistencies observed in Android. containerStyle gives us a uniformity in IOS and Android.
|
139
|
+
,
|
138
140
|
source: {
|
139
141
|
uri: props.src
|
140
142
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","BackHandler","Platform","View","WebView","HideMode","BaseComponent","BaseComponentState","WmWebviewProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","isAndroid","isWebPreviewMode","WmWebViewState","constructor","args","_defineProperty","title","src","WmWebview","props","webview","webViewState","canGoBack","goBack","event","_event$nativeEvent","data","nativeEvent","startsWith","id","match","callback","invokeJSCallbacks","result","substring","indexOf","parseResult","invokeEventCallback","hideMode","DONOT_ADD_TO_DOM","addEventListener","handleBackButtonPress","componentWillUnmount","removeEventListener","_this$state$currentTa","state","currentTarget","currentsrc","_this$state$currentTa2","executeScript","fn","Promise","resolve","reject","Date","now","injectJavaScript","insertCSS","style","replace","JSON","parse","e","getTitle","iframe","contentWindow","document","onLoad","updateState","renderWidget","createElement","styles","root","onLayout","handleLayout","_background","OS","width","height","_extends","ref","nestedScrollEnabled","source","uri","testID","getTestId","WEBVIEW","incognito","onMessage","sharedCookiesEnabled","onNavigationStateChange","scrollEnabled","onLoadEnd","url","allowsFullscreenVideo","allowsInlineMediaPlayback"],"sources":["webview.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, Platform, View } from 'react-native';\nimport { WebView, WebViewNavigation, WebViewMessageEvent } from 'react-native-webview';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWebviewProps from './webview.props';\nimport { DEFAULT_CLASS, WebviewStyles } from './webview.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nclass WmWebViewState extends BaseComponentState<WmWebviewProps> {\n currentTarget = {\n title: '',\n src: ''\n };\n\n}\n\nexport default class WmWebview extends BaseComponent<WmWebviewProps, WmWebViewState, WebviewStyles> {\n\n private webview: WebView | null = null as any;\n private webViewState: WebViewNavigation = null as any;\n private invokeJSCallbacks = {} as any;\n\n constructor(props: WmWebviewProps) {\n super(props, DEFAULT_CLASS, new WmWebviewProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n handleBackButtonPress = (): boolean => {\n if (this.webview && this.webViewState && this.webViewState.canGoBack) {\n this.webview.goBack();\n return true;\n }\n return false;\n }\n\n get title() {\n return this.state.currentTarget?.title;\n }\n\n get currentsrc() {\n return this.state.currentTarget?.src;\n }\n\n executeScript(fn: string) {\n return new Promise((resolve, reject) => {\n if (this.webview) {\n const id = '' + Date.now();\n this.invokeJSCallbacks[id] = resolve;\n fn = `\n (function(){\n try{\n return (${fn});\n } catch(e) {\n return e.getMessage();\n }\n }())\n `;\n this.webview.injectJavaScript(\n `window.ReactNativeWebView.postMessage('afterInjectJavaScript:' + ${id} + ':' + JSON.stringify(${fn}))`\n );\n } else {\n reject();\n }\n });\n }\n\n insertCSS(style = '') {\n style = style.replace(/[\\n\\t\\r]/g, '');\n return this.executeScript(`\n function() {\n const style = document.createElement('style');\n style.innerHTML = '${style}';\n document.head.appendChild(style);\n return 'SUCCESS';\n }()\n `);\n }\n\n parseResult(result: string) {\n try {\n return JSON.parse(result);\n } catch(e) {\n if (result === 'undefined' || result === 'null') {\n return null;\n }\n return result;\n }\n }\n\n onMessage = (event: WebViewMessageEvent) => {\n const data: string = event.nativeEvent?.data;\n if (data && data.startsWith('afterInjectJavaScript')) {\n const id = data?.match(/\\:([0-9]+)\\:/);\n const callback = id && this.invokeJSCallbacks[id[1]];\n const result = data.substring(data.indexOf(':', data.indexOf(':') + 1) + 1);\n callback && callback(this.parseResult(result));\n } else {\n this.invokeEventCallback('onMessage', [event, this]);\n }\n }\n\n getTitle(iframe: any) {\n try {\n return iframe.currentTarget.contentWindow.document.title;\n } catch(e) {\n // browser blocks cross origin access to iframe content.\n }\n }\n\n public onLoad(e: any, title: string, src: string) {\n this.updateState({\n currentTarget: {\n title: title,\n src: src\n }\n } as WmWebViewState, () => {\n this.invokeEventCallback('onLoad', [e, this]);\n });\n }\n\n protected renderWidget(props: WmWebviewProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {Platform.OS === 'web' ?\n (<iframe src={props.src} width={'100%'} height={'100%'}\n onLoad={(e) => this.onLoad(e, this.getTitle(e.currentTarget), (e.currentTarget as any).src)}></iframe>) :\n (<WebView\n ref={(ref) => this.webview = ref}\n nestedScrollEnabled={true}\n style={this.styles.webview}\n source={{\n uri: props.src\n }}\n testID={this.getTestId('web_view')}\n {...getAccessibilityProps(AccessibilityWidgetType.WEBVIEW, props)}\n incognito={props.incognito}\n onMessage={this.onMessage}\n sharedCookiesEnabled={true}\n onNavigationStateChange={(state) => {\n this.webViewState = state;\n }}\n scrollEnabled={true}\n onLoadEnd={(e) => this.onLoad(e, e.nativeEvent.title, e.nativeEvent.url)}\n allowsFullscreenVideo={true}\n allowsInlineMediaPlayback={true}\n >\n </WebView>)}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,EAAEC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAC1D,SAASC,OAAO,QAAgD,sBAAsB;AACtF,SAASC,QAAQ,QAAQ,6CAA6C;AACtE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAuB,kBAAkB;AAC/D,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,SAAS,EAAEC,gBAAgB,QAAQ,sCAAsC;AAElF,MAAMC,cAAc,SAASP,kBAAkB,CAAiB;EAAAQ,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,wBAC9C;MACdC,KAAK,EAAE,EAAE;MACTC,GAAG,EAAE;IACP,CAAC;EAAA;AAEH;AAEA,eAAe,MAAMC,SAAS,SAASd,aAAa,CAAgD;EAMlGS,WAAWA,CAACM,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEZ,aAAa,EAAE,IAAID,cAAc,CAAC,CAAC,CAAC;IAACS,eAAA,kBALlB,IAAI;IAAAA,eAAA,uBACI,IAAI;IAAAA,eAAA,4BAClB,CAAC,CAAC;IAAAA,eAAA,gCAiBN,MAAe;MACrC,IAAI,IAAI,CAACK,OAAO,IAAI,IAAI,CAACC,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,SAAS,EAAE;QACpE,IAAI,CAACF,OAAO,CAACG,MAAM,CAAC,CAAC;QACrB,OAAO,IAAI;MACb;MACA,OAAO,KAAK;IACd,CAAC;IAAAR,eAAA,oBAwDYS,KAA0B,IAAK;MAAA,IAAAC,kBAAA;MAC1C,MAAMC,IAAY,IAAAD,kBAAA,GAAGD,KAAK,CAACG,WAAW,cAAAF,kBAAA,uBAAjBA,kBAAA,CAAmBC,IAAI;MAC5C,IAAIA,IAAI,IAAIA,IAAI,CAACE,UAAU,CAAC,uBAAuB,CAAC,EAAE;QACpD,MAAMC,EAAE,GAAGH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,KAAK,CAAC,cAAc,CAAC;QACtC,MAAMC,QAAQ,GAAGF,EAAE,IAAI,IAAI,CAACG,iBAAiB,CAACH,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,MAAMI,MAAM,GAAGP,IAAI,CAACQ,SAAS,CAACR,IAAI,CAACS,OAAO,CAAC,GAAG,EAAET,IAAI,CAACS,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3EJ,QAAQ,IAAIA,QAAQ,CAAC,IAAI,CAACK,WAAW,CAACH,MAAM,CAAC,CAAC;MAChD,CAAC,MAAM;QACL,IAAI,CAACI,mBAAmB,CAAC,WAAW,EAAE,CAACb,KAAK,EAAE,IAAI,CAAC,CAAC;MACtD;IACF,CAAC;IArFC,IAAI,CAACc,QAAQ,GAAGnC,QAAQ,CAACoC,gBAAgB;IACzC,IAAI7B,SAAS,CAAC,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE;MACtCZ,WAAW,CAACyC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAACC,qBAAqB,CAAC;IAC/E;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAIhC,SAAS,CAAC,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE;MACtCZ,WAAW,CAAC4C,mBAAmB,CAAC,mBAAmB,EAAE,IAAI,CAACF,qBAAqB,CAAC;IAClF;EACF;EAUA,IAAIzB,KAAKA,CAAA,EAAG;IAAA,IAAA4B,qBAAA;IACV,QAAAA,qBAAA,GAAO,IAAI,CAACC,KAAK,CAACC,aAAa,cAAAF,qBAAA,uBAAxBA,qBAAA,CAA0B5B,KAAK;EACxC;EAEA,IAAI+B,UAAUA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACf,QAAAA,sBAAA,GAAO,IAAI,CAACH,KAAK,CAACC,aAAa,cAAAE,sBAAA,uBAAxBA,sBAAA,CAA0B/B,GAAG;EACtC;EAEAgC,aAAaA,CAACC,EAAU,EAAE;IACxB,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,IAAI,IAAI,CAACjC,OAAO,EAAE;QAChB,MAAMS,EAAE,GAAG,EAAE,GAAGyB,IAAI,CAACC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAACvB,iBAAiB,CAACH,EAAE,CAAC,GAAGuB,OAAO;QACpCF,EAAE,GAAG;AACb;AACA;AACA,sBAAsBA,EAAE;AACxB;AACA;AACA;AACA;AACA,SAAS;QACD,IAAI,CAAC9B,OAAO,CAACoC,gBAAgB,CAC3B,oEAAoE3B,EAAE,2BAA2BqB,EAAE,IACrG,CAAC;MACH,CAAC,MAAM;QACLG,MAAM,CAAC,CAAC;MACV;IACF,CAAC,CAAC;EACJ;EAEAI,SAASA,CAACC,KAAK,GAAG,EAAE,EAAE;IACpBA,KAAK,GAAGA,KAAK,CAACC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACtC,OAAO,IAAI,CAACV,aAAa,CAAC;AAC9B;AACA;AACA,2BAA2BS,KAAK;AAChC;AACA;AACA;AACA,KAAK,CAAC;EACJ;EAEAtB,WAAWA,CAACH,MAAc,EAAE;IAC1B,IAAI;MACF,OAAO2B,IAAI,CAACC,KAAK,CAAC5B,MAAM,CAAC;IAC3B,CAAC,CAAC,OAAM6B,CAAC,EAAE;MACT,IAAI7B,MAAM,KAAK,WAAW,IAAIA,MAAM,KAAK,MAAM,EAAE;QAC/C,OAAO,IAAI;MACb;MACA,OAAOA,MAAM;IACf;EACF;EAcA8B,QAAQA,CAACC,MAAW,EAAE;IACpB,IAAI;MACF,OAAOA,MAAM,CAAClB,aAAa,CAACmB,aAAa,CAACC,QAAQ,CAAClD,KAAK;IAC1D,CAAC,CAAC,OAAM8C,CAAC,EAAE;MACT;IAAA;EAEJ;EAEOK,MAAMA,CAACL,CAAM,EAAE9C,KAAa,EAAEC,GAAW,EAAE;IAChD,IAAI,CAACmD,WAAW,CAAC;MACftB,aAAa,EAAE;QACb9B,KAAK,EAAEA,KAAK;QACZC,GAAG,EAAEA;MACP;IACF,CAAC,EAAoB,MAAM;MACzB,IAAI,CAACoB,mBAAmB,CAAC,QAAQ,EAAE,CAACyB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC;EACJ;EAEUO,YAAYA,CAAClD,KAAqB,EAAE;IAC5C,oBACErB,KAAA,CAAAwE,aAAA,CAACrE,IAAI;MACHyD,KAAK,EAAE,IAAI,CAACa,MAAM,CAACC,IAAK;MACxBC,QAAQ,EAAGjD,KAAK,IAAK,IAAI,CAACkD,YAAY,CAAClD,KAAK;IAAE,GAE7C,IAAI,CAACmD,WAAW,EAChB3E,QAAQ,CAAC4E,EAAE,KAAK,KAAK,gBACnB9E,KAAA,CAAAwE,aAAA;MAAQrD,GAAG,EAAEE,KAAK,CAACF,GAAI;MAAC4D,KAAK,EAAE,MAAO;MAACC,MAAM,EAAE,MAAO;MACrDX,MAAM,EAAGL,CAAC,IAAK,IAAI,CAACK,MAAM,CAACL,CAAC,EAAE,IAAI,CAACC,QAAQ,CAACD,CAAC,CAAChB,aAAa,CAAC,EAAGgB,CAAC,CAAChB,aAAa,CAAS7B,GAAG;IAAE,CAAS,CAAC,gBACvGnB,KAAA,CAAAwE,aAAA,CAACpE,OAAO,EAAA6E,QAAA;MACPC,GAAG,EAAGA,GAAG,IAAK,IAAI,CAAC5D,OAAO,GAAG4D,GAAI;MACjCC,mBAAmB,EAAE,IAAK;MAC1BvB,KAAK,EAAE,IAAI,CAACa,MAAM,CAACnD,OAAQ;MAC3B8D,MAAM,EAAE;QACNC,GAAG,EAAEhE,KAAK,CAACF;MACb,CAAE;MACFmE,MAAM,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU;IAAE,GAC/B5E,qBAAqB,CAACD,uBAAuB,CAAC8E,OAAO,EAAEnE,KAAK,CAAC;MACjEoE,SAAS,EAAEpE,KAAK,CAACoE,SAAU;MAC3BC,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BC,oBAAoB,EAAE,IAAK;MAC3BC,uBAAuB,EAAG7C,KAAK,IAAK;QAClC,IAAI,CAACxB,YAAY,GAAGwB,KAAK;MAC3B,CAAE;MACF8C,aAAa,EAAE,IAAK;MACpBC,SAAS,EAAG9B,CAAC,IAAK,IAAI,CAACK,MAAM,CAACL,CAAC,EAAEA,CAAC,CAACnC,WAAW,CAACX,KAAK,EAAE8C,CAAC,CAACnC,WAAW,CAACkE,GAAG,CAAE;MACzEC,qBAAqB,EAAE,IAAK;MAC5BC,yBAAyB,EAAE;IAAK,EAEzB,CACP,CAAC;EAEX;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","BackHandler","Platform","View","WebView","HideMode","BaseComponent","BaseComponentState","WmWebviewProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","isAndroid","isWebPreviewMode","WmWebViewState","constructor","args","_defineProperty","title","src","WmWebview","props","webview","webViewState","canGoBack","goBack","event","_event$nativeEvent","data","nativeEvent","startsWith","id","match","callback","invokeJSCallbacks","result","substring","indexOf","parseResult","invokeEventCallback","hideMode","DONOT_ADD_TO_DOM","addEventListener","handleBackButtonPress","componentWillUnmount","removeEventListener","_this$state$currentTa","state","currentTarget","currentsrc","_this$state$currentTa2","executeScript","fn","Promise","resolve","reject","Date","now","injectJavaScript","insertCSS","style","replace","JSON","parse","e","getTitle","iframe","contentWindow","document","onLoad","updateState","renderWidget","createElement","styles","root","onLayout","handleLayout","_background","OS","width","height","_extends","ref","nestedScrollEnabled","containerStyle","source","uri","testID","getTestId","WEBVIEW","incognito","onMessage","sharedCookiesEnabled","onNavigationStateChange","scrollEnabled","onLoadEnd","url","allowsFullscreenVideo","allowsInlineMediaPlayback"],"sources":["webview.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, Platform, View } from 'react-native';\nimport { WebView, WebViewNavigation, WebViewMessageEvent } from 'react-native-webview';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWebviewProps from './webview.props';\nimport { DEFAULT_CLASS, WebviewStyles } from './webview.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nclass WmWebViewState extends BaseComponentState<WmWebviewProps> {\n currentTarget = {\n title: '',\n src: ''\n };\n\n}\n\nexport default class WmWebview extends BaseComponent<WmWebviewProps, WmWebViewState, WebviewStyles> {\n\n private webview: WebView | null = null as any;\n private webViewState: WebViewNavigation = null as any;\n private invokeJSCallbacks = {} as any;\n\n constructor(props: WmWebviewProps) {\n super(props, DEFAULT_CLASS, new WmWebviewProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n handleBackButtonPress = (): boolean => {\n if (this.webview && this.webViewState && this.webViewState.canGoBack) {\n this.webview.goBack();\n return true;\n }\n return false;\n }\n\n get title() {\n return this.state.currentTarget?.title;\n }\n\n get currentsrc() {\n return this.state.currentTarget?.src;\n }\n\n executeScript(fn: string) {\n return new Promise((resolve, reject) => {\n if (this.webview) {\n const id = '' + Date.now();\n this.invokeJSCallbacks[id] = resolve;\n fn = `\n (function(){\n try{\n return (${fn});\n } catch(e) {\n return e.getMessage();\n }\n }())\n `;\n this.webview.injectJavaScript(\n `window.ReactNativeWebView.postMessage('afterInjectJavaScript:' + ${id} + ':' + JSON.stringify(${fn}))`\n );\n } else {\n reject();\n }\n });\n }\n\n insertCSS(style = '') {\n style = style.replace(/[\\n\\t\\r]/g, '');\n return this.executeScript(`\n function() {\n const style = document.createElement('style');\n style.innerHTML = '${style}';\n document.head.appendChild(style);\n return 'SUCCESS';\n }()\n `);\n }\n\n parseResult(result: string) {\n try {\n return JSON.parse(result);\n } catch(e) {\n if (result === 'undefined' || result === 'null') {\n return null;\n }\n return result;\n }\n }\n\n onMessage = (event: WebViewMessageEvent) => {\n const data: string = event.nativeEvent?.data;\n if (data && data.startsWith('afterInjectJavaScript')) {\n const id = data?.match(/\\:([0-9]+)\\:/);\n const callback = id && this.invokeJSCallbacks[id[1]];\n const result = data.substring(data.indexOf(':', data.indexOf(':') + 1) + 1);\n callback && callback(this.parseResult(result));\n } else {\n this.invokeEventCallback('onMessage', [event, this]);\n }\n }\n\n getTitle(iframe: any) {\n try {\n return iframe.currentTarget.contentWindow.document.title;\n } catch(e) {\n // browser blocks cross origin access to iframe content.\n }\n }\n\n public onLoad(e: any, title: string, src: string) {\n this.updateState({\n currentTarget: {\n title: title,\n src: src\n }\n } as WmWebViewState, () => {\n this.invokeEventCallback('onLoad', [e, this]);\n });\n }\n\n protected renderWidget(props: WmWebviewProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {Platform.OS === 'web' ?\n (<iframe src={props.src} width={'100%'} height={'100%'}\n onLoad={(e) => this.onLoad(e, this.getTitle(e.currentTarget), (e.currentTarget as any).src)}></iframe>) :\n (<WebView\n ref={(ref) => this.webview = ref}\n nestedScrollEnabled={true}\n containerStyle = {this.styles.webview}\n // style={this.styles.webview} // when using style, there are some inconsistencies observed in Android. containerStyle gives us a uniformity in IOS and Android.\n source={{\n uri: props.src\n }}\n testID={this.getTestId('web_view')}\n {...getAccessibilityProps(AccessibilityWidgetType.WEBVIEW, props)}\n incognito={props.incognito}\n onMessage={this.onMessage}\n sharedCookiesEnabled={true}\n onNavigationStateChange={(state) => {\n this.webViewState = state;\n }}\n scrollEnabled={true}\n onLoadEnd={(e) => this.onLoad(e, e.nativeEvent.title, e.nativeEvent.url)}\n allowsFullscreenVideo={true}\n allowsInlineMediaPlayback={true}\n >\n </WebView>)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -43,18 +43,18 @@ export default class WmTabheader extends BaseComponent {
|
|
43
43
|
}
|
44
44
|
}
|
45
45
|
scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition) {
|
46
|
-
var _this$headerPanelLayo;
|
46
|
+
var _this$headersLayout$s, _this$headersLayout$s2, _this$headerPanelLayo;
|
47
47
|
const initialPosition = this.isRTL ? totalWidth : 0;
|
48
48
|
const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;
|
49
|
-
const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex].width / 2) : this.headersLayout[selectedTabIndex].width / 2;
|
49
|
+
const elementWidth = this.isRTL ? -1 * (((_this$headersLayout$s = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s === void 0 ? void 0 : _this$headersLayout$s.width) / 2) : ((_this$headersLayout$s2 = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s2 === void 0 ? void 0 : _this$headersLayout$s2.width) / 2;
|
50
50
|
const positionX = selectedTabIndex === 0 ? initialPosition : baseWidth + elementWidth - (((_this$headerPanelLayo = this.headerPanelLayout) === null || _this$headerPanelLayo === void 0 ? void 0 : _this$headerPanelLayo.width) || 0) / 2;
|
51
51
|
return positionX;
|
52
52
|
}
|
53
53
|
setPosition() {
|
54
|
-
var _this$headersLayout$
|
54
|
+
var _this$headersLayout$s3, _this$headerPanelLayo2, _this$headerPanelLayo3, _this$listRef$current;
|
55
55
|
const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0;
|
56
56
|
let toIndicatorPosition = 0;
|
57
|
-
let toIndicatorWidth = ((_this$headersLayout$
|
57
|
+
let toIndicatorWidth = ((_this$headersLayout$s3 = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s3 === void 0 ? void 0 : _this$headersLayout$s3.width) || 0;
|
58
58
|
let toHeaderScrollPosition = this.headerScrollPositionValue;
|
59
59
|
let totalWidth = 0;
|
60
60
|
if (this.state.props.data.length !== this.headersLayout.length) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","createRef","Animated","Easing","Text","View","ScrollView","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","scrollPosition","totalWidth","toIndicatorPosition","_this$headerPanelLayo","initialPosition","isRTL","baseWidth","elementWidth","width","positionX","setPosition","_this$headersLayout$s","_this$headerPanelLayo2","_this$headerPanelLayo3","_this$listRef$current","toIndicatorWidth","toHeaderScrollPosition","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","listRef","current","scrollTo","x","y","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","disableTouchEffect","disabletoucheffect","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","_extends","overflow","zIndex","getTestProps","event","handleLayout","ref","horizontal","showsHorizontalScrollIndicator","scrollEnabled","shouldScroll","_background","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View, ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n private listRef: any = createRef();\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n scrollPosition(selectedTabIndex: number, totalWidth: number, toIndicatorPosition: number) {\n const initialPosition = this.isRTL ? totalWidth : 0;\n const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;\n const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex].width/2) : this.headersLayout[selectedTabIndex].width/2\n const positionX = selectedTabIndex === 0 ? initialPosition : \n ((baseWidth + (elementWidth)) - (this.headerPanelLayout?.width || 0) / 2);\n\n return positionX\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n\n const positionX = this.scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition)\n\n this.listRef.current?.scrollTo({\n x: positionX,\n y: 0,\n Animated: true\n });\n\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View \n style={{overflow: 'hidden', zIndex: 16}}\n {...this.getTestProps('tabheader')}\n onLayout={(event) => this.handleLayout(event)}\n >\n <ScrollView\n ref={this.listRef}\n horizontal={true}\n onLayout={this.setHeaderPanelPositon.bind(this)}\n showsHorizontalScrollIndicator={false}\n scrollEnabled={props.shouldScroll}\n >\n <View>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n disableTouchEffect={this.state.props.disabletoucheffect}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {\n arrowIndicator.backgroundImage ? (\n <BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>\n ) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </View>\n </ScrollView>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","createRef","Animated","Easing","Text","View","ScrollView","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","scrollPosition","totalWidth","toIndicatorPosition","_this$headersLayout$s","_this$headersLayout$s2","_this$headerPanelLayo","initialPosition","isRTL","baseWidth","elementWidth","width","positionX","setPosition","_this$headersLayout$s3","_this$headerPanelLayo2","_this$headerPanelLayo3","_this$listRef$current","toIndicatorWidth","toHeaderScrollPosition","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","listRef","current","scrollTo","x","y","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","disableTouchEffect","disabletoucheffect","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","_extends","overflow","zIndex","getTestProps","event","handleLayout","ref","horizontal","showsHorizontalScrollIndicator","scrollEnabled","shouldScroll","_background","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View, ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n private listRef: any = createRef();\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n scrollPosition(selectedTabIndex: number, totalWidth: number, toIndicatorPosition: number) {\n const initialPosition = this.isRTL ? totalWidth : 0;\n const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;\n const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex]?.width/2) : this.headersLayout[selectedTabIndex]?.width/2\n const positionX = selectedTabIndex === 0 ? initialPosition : \n ((baseWidth + (elementWidth)) - (this.headerPanelLayout?.width || 0) / 2);\n\n return positionX\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n\n const positionX = this.scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition)\n\n this.listRef.current?.scrollTo({\n x: positionX,\n y: 0,\n Animated: true\n });\n\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View \n style={{overflow: 'hidden', zIndex: 16}}\n {...this.getTestProps('tabheader')}\n onLayout={(event) => this.handleLayout(event)}\n >\n <ScrollView\n ref={this.listRef}\n horizontal={true}\n onLayout={this.setHeaderPanelPositon.bind(this)}\n showsHorizontalScrollIndicator={false}\n scrollEnabled={props.shouldScroll}\n >\n <View>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n disableTouchEffect={this.state.props.disabletoucheffect}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {\n arrowIndicator.backgroundImage ? (\n <BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>\n ) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </View>\n </ScrollView>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -196,14 +196,14 @@ export default class WmWizard extends BaseComponent {
|
|
196
196
|
}, this.renderMenuPopover())));
|
197
197
|
}
|
198
198
|
stepConnectorWidth(isFirstOrLastConnector, stepIndex) {
|
199
|
-
if (stepIndex === this.lastStepIndex()) {
|
199
|
+
if (stepIndex === this.lastStepIndex() || stepIndex === this.firstStepIndex()) {
|
200
200
|
return '50%';
|
201
201
|
}
|
202
202
|
return isFirstOrLastConnector ? '50%' : '100%';
|
203
203
|
}
|
204
204
|
renderWizardHeader(item, index) {
|
205
|
-
const isLastStep = index === this.
|
206
|
-
const isFirstStep = index ===
|
205
|
+
const isLastStep = index === this.lastStepIndex();
|
206
|
+
const isFirstStep = index === this.firstStepIndex();
|
207
207
|
const isActiveStep = index === this.state.currentStep;
|
208
208
|
const isNumberTextLayout = this.state.props.classname === 'number-text-inline';
|
209
209
|
const wizardStepCountVisibility = index >= this.state.currentStep && !this.state.isDone || !this.state.currentStep;
|
@@ -301,6 +301,17 @@ export default class WmWizard extends BaseComponent {
|
|
301
301
|
}
|
302
302
|
return lastStep;
|
303
303
|
}
|
304
|
+
firstStepIndex() {
|
305
|
+
let firstStep = -1;
|
306
|
+
for (let i = 0; i < this.steps.length; i++) {
|
307
|
+
if (this.steps[i].state.props.show) {
|
308
|
+
if (firstStep === -1) {
|
309
|
+
firstStep = i;
|
310
|
+
}
|
311
|
+
}
|
312
|
+
}
|
313
|
+
return firstStep;
|
314
|
+
}
|
304
315
|
getTotalVisibleSteps() {
|
305
316
|
let lastStep = 0;
|
306
317
|
for (let i = 0; i < this.steps.length; i++) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","createSkeleton","WmWizardState","constructor","args","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","updateDefaultStep","steps","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","isDone","_this$steps$this$stat2","_this$steps$nextStep","lastStep","nextStep","setInActive","show","i","length","updateState","invokeEventCallback","proxy","getStepStyle","style","styles","push","doneStep","activeStep","renderMenuPopover","menuDataset","getmenudataexpression","Labels","title","createElement","id","getTestId","popover","contentanimation","caption","popoverheight","height","popoverwidth","width","listener","iconclass","popovericonclass","iconposition","type","currentMenuItem","key","onPress","hide","stepMenu","activeStepMenu","stepMenuActiveIcon","stepMenuIcon","stepMenuActiveLabel","stepMenuLabel","renderProgressCircleHeader","progressTitle","progresstitle","headerWrapper","stepWrapper","flex","alignItems","justifyContent","flexDirection","minvalue","maxvalue","datavalue","captionplacement","progresstype","subtitle","progressCircle","_extends","stepTitle","getTestPropsForLabel","stepSubTitle","stepConnectorWidth","isFirstOrLastConnector","stepIndex","lastStepIndex","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","wizardStepCountVisibility","paddingRight","paddingLeft","bind","disabled","headernavigation","accessibilityRole","_showSkeleton","getTestPropsForAction","activeStepCounter","stepCounter","stepIcon","icon","color","showskeleton","root","numberTextStepConnector","getTotalVisibleSteps","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","getBackground","_background","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","children","renderWidget","_this$state$props$cla","isSkippable","enableskip","isProgressCircleHeader","includes","onLayout","event","handleLayout","wizardHeader","wizardBody","wizardFooter","actionsalignment","showdone","wizardActions","getStyle","doneButton","donebtnlabel","onTap","disabledone","shownext","nextButton","nextbtnlabel","disablenext","showprev","prevButton","previousbtnlabel","disableprev","cancelable","cancelbtnlabel","cancelButton","skipLink"],"sources":["wizard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, Platform, TouchableWithoutFeedback, DimensionValue } from 'react-native';\nimport { isArray, merge } from 'lodash';\nimport { BaseComponent, BaseComponentState, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardProps from './wizard.props';\nimport { DEFAULT_CLASS, WmWizardStyles } from './wizard.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmWizardstep from './wizardstep/wizardstep.component';\nimport WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';\nimport WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmWizardState extends BaseComponentState<WmWizardProps> {\n currentStep: number = 0;\n isDone: boolean = false;\n}\n\nexport default class WmWizard extends BaseComponent<WmWizardProps, WmWizardState, WmWizardStyles> {\n private numberOfSteps: number = null as any;\n private steps = [] as WmWizardstep[];\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmWizardProps) {\n super(props, DEFAULT_CLASS, new WmWizardProps());\n }\n\n updateDefaultStep() {\n const steps = this.steps;\n const props = this.props;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps && steps.map((item: any, index: any) => {\n if (props.defaultstep === item.props.name) {\n defaultStepIndex = index;\n }\n })\n }\n this.updateCurrentStep(defaultStepIndex);\n }\n\n addWizardStep(step: WmWizardstep) {\n this.steps[step.props.index] = step;\n this.forceUpdate();\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (this.props.defaultstep && this.props.defaultstep != 'none') {\n this.updateDefaultStep();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<WmWizardProps>, prevState: Readonly<WmWizardState>, snapshot?: any): void {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n // * when a variable is bind to default step\n if (this.props.defaultstep && prevProps.defaultstep !== this.props.defaultstep) {\n this.updateDefaultStep();\n }\n }\n\n showActiveStep() {\n this.steps[this.state.currentStep]?.setActive();\n }\n\n updateCurrentStep(index: number, isDone = false) {\n const lastStep = this.state.currentStep;\n let nextStep = index\n this.steps[this.state.currentStep]?.setInActive();\n\n // check for next available step if next or prev steps show prop is false\n if(this.steps[nextStep]?.state && !this.steps[nextStep].state.props.show){\n if(lastStep < nextStep){\n for(let i = nextStep + 1; i < this.steps.length; i++){\n if(this.steps[i].state.props.show) {\n nextStep = i;\n break;\n }\n }\n }else if(lastStep > nextStep) {\n for(let i = nextStep - 1; i >= 0; i--){\n if(this.steps[i].state.props.show) {\n nextStep = i;\n break;\n }\n }\n }\n }\n\n this.updateState({\n currentStep: nextStep,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== nextStep) {\n this.invokeEventCallback('onChange', [null, this.proxy, nextStep + 1, lastStep + 1]);\n }\n });\n }\n\n getStepStyle(index: number) {\n const style = [this.styles.step];\n if (this.state.isDone || index < this.state.currentStep) {\n style.push(this.styles.doneStep);\n } else if (this.state.currentStep === index) {\n style.push(this.styles.activeStep);\n }\n return style;\n }\n\n renderMenuPopover(){\n const menuDataset = this.props.getmenudataexpression || ((item: any, index: number) => '') ;\n const Labels = this.steps.map((step: WmWizardstep) => step.state.props.title);\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles.popover}\n contentanimation={'slideInDown'}\n caption={''}\n popoverheight={this.styles.popover.popover.height as string | number | undefined || null}\n popoverwidth={this.styles.popover.popover.width as string | number | undefined || null}\n listener={this.listener}\n iconclass={this.props.popovericonclass || 'fa fa-caret-down'}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.popover.popover}>\n {Labels.map((item: any, index: number) => {\n const currentMenuItem = index==this.state.currentStep;\n const caption = menuDataset({\"count\":this.steps.length}, index);\n return (\n <TouchableWithoutFeedback key={'wizard_menu_item_'+index} onPress={()=>{this.popOverRef.hide();}}>\n <View style={[this.styles.stepMenu, currentMenuItem?this.styles.activeStepMenu:{}]}>\n <WmIcon id={this.getTestId('icon')} caption={caption} iconclass={currentMenuItem? \"wi wi-radio-button-checked\" : 'wi wi-radio-button-unchecked'} styles={currentMenuItem?this.styles.stepMenuActiveIcon:this.styles.stepMenuIcon}/>\n <WmLabel caption={item} styles={currentMenuItem?this.styles.stepMenuActiveLabel:this.styles.stepMenuLabel}/>\n </View>\n </TouchableWithoutFeedback>\n )})}\n </View>\n </WmPopover>\n );\n }\n\n renderProgressCircleHeader(item: any, index: number) {\n const progressTitle = this.props.progresstitle || (index + 1 + '/' + this.steps.length);\n return (\n <View style={[this.styles.headerWrapper]} key={index + 1}>\n <View style={this.styles.stepWrapper}>\n <View style={{ flex: 1, alignItems: 'flex-start', justifyContent: 'center', flexDirection:'row' }}>\n <WmProgressCircle id={this.getTestId('progress')} minvalue={0} maxvalue={this.steps.length} datavalue={index + 1} captionplacement={'inside'} type={this.props.progresstype} title={progressTitle} subtitle={''} styles={this.styles.progressCircle}/>\n </View>\n <View style={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle} {...this.getTestPropsForLabel('step' + (index + 1)+ '_subtitle')}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n stepConnectorWidth(isFirstOrLastConnector: boolean, stepIndex: number): DimensionValue {\n if(stepIndex === this.lastStepIndex()){\n return '50%';\n }\n return isFirstOrLastConnector ? '50%' : '100%';\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.numberOfSteps - 1;\n const isFirstStep = index === 0;\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n const wizardStepCountVisibility = (index >= this.state.currentStep && !this.state.isDone) || !this.state.currentStep\n return item.state.props.show !== false ? (\n <View \n style={[\n this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}\n ]} \n key={index+1}\n >\n <TouchableOpacity \n style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep || !this.state.props.headernavigation}\n accessibilityRole='header'\n >\n {!this._showSkeleton ? \n <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}>\n { wizardStepCountVisibility &&\n <Text \n style={\n isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter} \n {...this.getTestPropsForLabel('step' + (index + 1) + '_indicator')\n }\n >\n {index+1}\n </Text>\n }\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon \n id={this.getTestId('status')} \n styles={isActiveStep ? merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}}) : this.styles.stepIcon}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}\n ></WmIcon>\n }\n </View> : \n <WmLabel showskeleton={true} styles={{root: {...this.getStepStyle(index)[0]}}}/>\n }\n {(isActiveStep) &&\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.state.props.title || 'Step Title'}\n </Text> \n }\n {this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {this.getTotalVisibleSteps() > 1 &&\n item.state.props.show &&\n <View \n style={[\n this.styles.stepConnector, \n {\n width: this.stepConnectorWidth(isFirstStep || isLastStep, index),\n left: Platform.OS === \"web\" ?\n (!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? \n '50%': '0%': isFirstStep ? '50%': '0%'\n }\n ]}\n ></View>\n }\n </View>\n ) : null;\n }\n\n prev() {\n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n const index = this.state.currentStep;\n if (index >= this.steps.length - 1) {\n return;\n }\n const currentStep = this.steps[index];\n if (eventName === 'skip') {\n currentStep.invokeSkipCB(index);\n } else if (currentStep.invokeNextCB(index) == false) {\n return;\n }\n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if (this.state.currentStep !== this.lastStepIndex()) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', [$event, this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', [null, this.proxy]);\n }\n\n skip() {\n this.next('skip');\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n\n lastStepIndex(): number {\n let lastStep = 0;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n lastStep = i;\n }\n }\n return lastStep;\n }\n\n getTotalVisibleSteps(): number {\n let lastStep = 0;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n lastStep++;\n }\n }\n return lastStep;\n }\n \n public renderSkeleton(props: WmWizardProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {props.children}\n </View>))\n }\n return null;\n }\n\n\n renderWidget(props: WmWizardProps) {\n this.numberOfSteps = this.steps.length;\n const activeStep = this.steps[this.state.currentStep];\n const isSkippable = activeStep && activeStep.state.props.enableskip;\n const isProgressCircleHeader = this.state.props.classname?.includes('progress-circle-header');\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View \n style={styles}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.getBackground()}\n <View style={this.styles.wizardHeader}>\n {activeStep && isProgressCircleHeader ? (this.renderProgressCircleHeader(activeStep, this.state.currentStep)) : (this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null)}\n </View>\n <View style={this.styles.wizardBody}>\n {props.children}\n </View>\n <View style={[this.styles.wizardFooter,\n {flexDirection: props.actionsalignment === 'right' ? 'row-reverse': 'row'}]}>\n {(this.state.currentStep) === this.lastStepIndex() && activeStep.state.props.showdone &&\n <WmButton iconclass={'wm-sl-l sl-check'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton)}\n id = {this.getTestId('donebtn')} caption={props.donebtnlabel} onTap={this.done.bind(this)} disabled={activeStep.state.props.disabledone}></WmButton>\n }\n {(this.state.currentStep) < this.lastStepIndex() && activeStep.state.props.shownext &&\n <WmButton iconclass={'wi wi-chevron-right'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.nextButton)}\n id = {this.getTestId('nextbtn')}\n iconposition={'right'} caption={props.nextbtnlabel} onTap={this.next.bind(this)} disabled={activeStep.state.props.disablenext}></WmButton>\n }\n {this.state.currentStep > 0 && activeStep.state.props.showprev &&\n <WmButton iconclass={'wi wi-chevron-left'} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.prevButton)} caption={props.previousbtnlabel}\n id = {this.getTestId('prevbtn')}\n onTap={this.prev.bind(this)} disabled={activeStep.state.props.disableprev}></WmButton>\n }\n {props.cancelable ?\n <WmButton id = {this.getTestId('cancelbtn')} caption={props.cancelbtnlabel} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.cancelButton)} onTap={this.cancel.bind(this)}></WmButton>\n : null\n }\n {isSkippable &&\n <WmAnchor iconclass={'wi wi-chevron-right'} iconposition={'right'} caption={'Skip'}\n id = {this.getTestId('skip')}\n styles={merge({}, this.styles.wizardActions, this.styles.skipLink)} onTap={this.skip.bind(this)}></WmAnchor>\n }\n </View>\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,QAAQ,EAAEC,wBAAwB,QAAwB,cAAc;AAC/G,SAASC,OAAO,EAAEC,KAAK,QAAQ,QAAQ;AACvC,SAAUC,aAAa,EAAEC,kBAAkB,QAA2B,+CAA+C;AAErH,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,OAAOC,MAAM,MAAM,gEAAgE;AACnF,OAAOC,QAAQ,MAAM,oEAAoE;AAEzF,OAAOC,gBAAgB,MAAM,sFAAsF;AACnH,OAAOC,SAAS,MAAM,2EAA2E;AACjG,OAAOC,OAAO,MAAM,kEAAkE;AAEtF,SAASC,cAAc,QAAQ,wEAAwE;AAEvG,OAAO,MAAMC,aAAa,SAASV,kBAAkB,CAAgB;EAAAW,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,sBAC7C,CAAC;IAAAA,eAAA,iBACL,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,QAAQ,SAASf,aAAa,CAA+C;EAahGY,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEb,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;IAACY,eAAA,wBAbnB,IAAI;IAAAA,eAAA,gBACpB,EAAE;IAAAA,eAAA,qBACc,IAAI;IAAAA,eAAA,mBAEE;MACpCG,eAAe,EAAGC,CAAC,IAAK;QACtB,IAAIA,CAAC,YAAYV,SAAS,EAAE;UAC1B,IAAI,CAACW,UAAU,GAAGD,CAAC;QACrB;MACF;IACF,CAAC;EAID;EAEAE,iBAAiBA,CAAA,EAAG;IAClB,MAAMC,KAAK,GAAG,IAAI,CAACA,KAAK;IACxB,MAAML,KAAK,GAAG,IAAI,CAACA,KAAK;IACxB,IAAIM,gBAAgB,GAAG,CAAC;IACxB,IAAIxB,OAAO,CAACuB,KAAK,CAAC,IAAIL,KAAK,CAACO,WAAW,EAAE;MACvCF,KAAK,IAAIA,KAAK,CAACG,GAAG,CAAC,CAACC,IAAS,EAAEC,KAAU,KAAK;QAC5C,IAAIV,KAAK,CAACO,WAAW,KAAKE,IAAI,CAACT,KAAK,CAACW,IAAI,EAAE;UACzCL,gBAAgB,GAAGI,KAAK;QAC1B;MACF,CAAC,CAAC;IACJ;IACA,IAAI,CAACE,iBAAiB,CAACN,gBAAgB,CAAC;EAC1C;EAEAO,aAAaA,CAACC,IAAkB,EAAE;IAChC,IAAI,CAACT,KAAK,CAACS,IAAI,CAACd,KAAK,CAACU,KAAK,CAAC,GAAGI,IAAI;IACnC,IAAI,CAACC,WAAW,CAAC,CAAC;EACpB;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,IAAI,CAAChB,KAAK,CAACO,WAAW,IAAI,IAAI,CAACP,KAAK,CAACO,WAAW,IAAI,MAAM,EAAE;MAC9D,IAAI,CAACH,iBAAiB,CAAC,CAAC;IAC1B;EACF;EAEAa,kBAAkBA,CAACC,SAAkC,EAAEC,SAAkC,EAAEC,QAAc,EAAQ;IAC/G,KAAK,CAACH,kBAAkB,IAAI,KAAK,CAACA,kBAAkB,CAACC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IACpF;IACA,IAAI,IAAI,CAACpB,KAAK,CAACO,WAAW,IAAIW,SAAS,CAACX,WAAW,KAAK,IAAI,CAACP,KAAK,CAACO,WAAW,EAAE;MAC9E,IAAI,CAACH,iBAAiB,CAAC,CAAC;IAC1B;EACF;EAEAiB,cAAcA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACf,CAAAA,qBAAA,OAAI,CAACjB,KAAK,CAAC,IAAI,CAACkB,KAAK,CAACC,WAAW,CAAC,cAAAF,qBAAA,eAAlCA,qBAAA,CAAoCG,SAAS,CAAC,CAAC;EACjD;EAEAb,iBAAiBA,CAACF,KAAa,EAAEgB,MAAM,GAAG,KAAK,EAAE;IAAA,IAAAC,sBAAA,EAAAC,oBAAA;IAC/C,MAAMC,QAAQ,GAAG,IAAI,CAACN,KAAK,CAACC,WAAW;IACvC,IAAIM,QAAQ,GAAGpB,KAAK;IACpB,CAAAiB,sBAAA,OAAI,CAACtB,KAAK,CAAC,IAAI,CAACkB,KAAK,CAACC,WAAW,CAAC,cAAAG,sBAAA,eAAlCA,sBAAA,CAAoCI,WAAW,CAAC,CAAC;;IAEjD;IACA,IAAG,CAAAH,oBAAA,OAAI,CAACvB,KAAK,CAACyB,QAAQ,CAAC,cAAAF,oBAAA,eAApBA,oBAAA,CAAsBL,KAAK,IAAI,CAAC,IAAI,CAAClB,KAAK,CAACyB,QAAQ,CAAC,CAACP,KAAK,CAACvB,KAAK,CAACgC,IAAI,EAAC;MACvE,IAAGH,QAAQ,GAAGC,QAAQ,EAAC;QACrB,KAAI,IAAIG,CAAC,GAAGH,QAAQ,GAAG,CAAC,EAAEG,CAAC,GAAG,IAAI,CAAC5B,KAAK,CAAC6B,MAAM,EAAED,CAAC,EAAE,EAAC;UACnD,IAAG,IAAI,CAAC5B,KAAK,CAAC4B,CAAC,CAAC,CAACV,KAAK,CAACvB,KAAK,CAACgC,IAAI,EAAE;YACjCF,QAAQ,GAAGG,CAAC;YACZ;UACF;QACF;MACF,CAAC,MAAK,IAAGJ,QAAQ,GAAGC,QAAQ,EAAE;QAC5B,KAAI,IAAIG,CAAC,GAAGH,QAAQ,GAAG,CAAC,EAAEG,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAC;UACpC,IAAG,IAAI,CAAC5B,KAAK,CAAC4B,CAAC,CAAC,CAACV,KAAK,CAACvB,KAAK,CAACgC,IAAI,EAAE;YACjCF,QAAQ,GAAGG,CAAC;YACZ;UACF;QACF;MACF;IACF;IAEA,IAAI,CAACE,WAAW,CAAC;MACfX,WAAW,EAAEM,QAAQ;MACrBJ,MAAM,EAAEA;IACV,CAAC,EAAmB,MAAM;MACxB,IAAI,CAACL,cAAc,CAAC,CAAC;MACrB,IAAIQ,QAAQ,KAAKC,QAAQ,EAAE;QACzB,IAAI,CAACM,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAAEP,QAAQ,GAAG,CAAC,EAAED,QAAQ,GAAG,CAAC,CAAC,CAAC;MACtF;IACF,CAAC,CAAC;EACJ;EAEAS,YAAYA,CAAC5B,KAAa,EAAE;IAC1B,MAAM6B,KAAK,GAAG,CAAC,IAAI,CAACC,MAAM,CAAC1B,IAAI,CAAC;IAChC,IAAI,IAAI,CAACS,KAAK,CAACG,MAAM,IAAIhB,KAAK,GAAG,IAAI,CAACa,KAAK,CAACC,WAAW,EAAE;MACvDe,KAAK,CAACE,IAAI,CAAC,IAAI,CAACD,MAAM,CAACE,QAAQ,CAAC;IAClC,CAAC,MAAM,IAAI,IAAI,CAACnB,KAAK,CAACC,WAAW,KAAKd,KAAK,EAAE;MAC3C6B,KAAK,CAACE,IAAI,CAAC,IAAI,CAACD,MAAM,CAACG,UAAU,CAAC;IACpC;IACA,OAAOJ,KAAK;EACd;EAEAK,iBAAiBA,CAAA,EAAE;IACjB,MAAMC,WAAW,GAAG,IAAI,CAAC7C,KAAK,CAAC8C,qBAAqB,KAAK,CAACrC,IAAS,EAAEC,KAAa,KAAK,EAAE,CAAC;IAC1F,MAAMqC,MAAM,GAAG,IAAI,CAAC1C,KAAK,CAACG,GAAG,CAAEM,IAAkB,IAAKA,IAAI,CAACS,KAAK,CAACvB,KAAK,CAACgD,KAAK,CAAC;IAC7E,oBACExE,KAAA,CAAAyE,aAAA,CAACzD,SAAS;MACR0D,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAC3BX,MAAM,EAAE,IAAI,CAACA,MAAM,CAACY,OAAQ;MAC5BC,gBAAgB,EAAE,aAAc;MAChCC,OAAO,EAAE,EAAG;MACZC,aAAa,EAAE,IAAI,CAACf,MAAM,CAACY,OAAO,CAACA,OAAO,CAACI,MAAM,IAAmC,IAAK;MACzFC,YAAY,EAAE,IAAI,CAACjB,MAAM,CAACY,OAAO,CAACA,OAAO,CAACM,KAAK,IAAmC,IAAK;MACvFC,QAAQ,EAAE,IAAI,CAACA,QAAS;MACxBC,SAAS,EAAE,IAAI,CAAC5D,KAAK,CAAC6D,gBAAgB,IAAI,kBAAmB;MAC7DC,YAAY,EAAC,OAAO;MACpBC,IAAI,EAAC;IAAU,gBACbvF,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE,IAAI,CAACC,MAAM,CAACY,OAAO,CAACA;IAAQ,GACtCL,MAAM,CAACvC,GAAG,CAAC,CAACC,IAAS,EAAEC,KAAa,KAAK;MACxC,MAAMsD,eAAe,GAAGtD,KAAK,IAAE,IAAI,CAACa,KAAK,CAACC,WAAW;MACrD,MAAM8B,OAAO,GAAGT,WAAW,CAAC;QAAC,OAAO,EAAC,IAAI,CAACxC,KAAK,CAAC6B;MAAM,CAAC,EAAExB,KAAK,CAAC;MAC/D,oBACAlC,KAAA,CAAAyE,aAAA,CAACpE,wBAAwB;QAACoF,GAAG,EAAE,mBAAmB,GAACvD,KAAM;QAACwD,OAAO,EAAEA,CAAA,KAAI;UAAC,IAAI,CAAC/D,UAAU,CAACgE,IAAI,CAAC,CAAC;QAAC;MAAE,gBAC/F3F,KAAA,CAAAyE,aAAA,CAACvE,IAAI;QAAC6D,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAAC4B,QAAQ,EAAEJ,eAAe,GAAC,IAAI,CAACxB,MAAM,CAAC6B,cAAc,GAAC,CAAC,CAAC;MAAE,gBACjF7F,KAAA,CAAAyE,aAAA,CAAC5D,MAAM;QAAC6D,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;QAACG,OAAO,EAAEA,OAAQ;QAACM,SAAS,EAAEI,eAAe,GAAE,4BAA4B,GAAG,8BAA+B;QAACxB,MAAM,EAAEwB,eAAe,GAAC,IAAI,CAACxB,MAAM,CAAC8B,kBAAkB,GAAC,IAAI,CAAC9B,MAAM,CAAC+B;MAAa,CAAC,CAAC,eACnO/F,KAAA,CAAAyE,aAAA,CAACxD,OAAO;QAAC6D,OAAO,EAAE7C,IAAK;QAAC+B,MAAM,EAAEwB,eAAe,GAAC,IAAI,CAACxB,MAAM,CAACgC,mBAAmB,GAAC,IAAI,CAAChC,MAAM,CAACiC;MAAc,CAAC,CACvG,CACkB,CAAC;IAC5B,CAAC,CACE,CACC,CAAC;EAEhB;EAEAC,0BAA0BA,CAACjE,IAAS,EAAEC,KAAa,EAAE;IACnD,MAAMiE,aAAa,GAAG,IAAI,CAAC3E,KAAK,CAAC4E,aAAa,IAAKlE,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAACL,KAAK,CAAC6B,MAAO;IACvF,oBACE1D,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACqC,aAAa,CAAE;MAACZ,GAAG,EAAEvD,KAAK,GAAG;IAAE,gBACvDlC,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE,IAAI,CAACC,MAAM,CAACsC;IAAY,gBACnCtG,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE;QAAEwC,IAAI,EAAE,CAAC;QAAEC,UAAU,EAAE,YAAY;QAAEC,cAAc,EAAE,QAAQ;QAAEC,aAAa,EAAC;MAAM;IAAE,gBAChG1G,KAAA,CAAAyE,aAAA,CAAC1D,gBAAgB;MAAC2D,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU,CAAE;MAACgC,QAAQ,EAAE,CAAE;MAACC,QAAQ,EAAE,IAAI,CAAC/E,KAAK,CAAC6B,MAAO;MAACmD,SAAS,EAAE3E,KAAK,GAAG,CAAE;MAAC4E,gBAAgB,EAAE,QAAS;MAACvB,IAAI,EAAE,IAAI,CAAC/D,KAAK,CAACuF,YAAa;MAACvC,KAAK,EAAE2B,aAAc;MAACa,QAAQ,EAAE,EAAG;MAAChD,MAAM,EAAE,IAAI,CAACA,MAAM,CAACiD;IAAe,CAAC,CACjP,CAAC,eACTjH,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE;QAAEwC,IAAI,EAAE,CAAC;QAAEE,cAAc,EAAE,QAAQ;QAAEC,aAAa,EAAE;MAAS;IAAE,gBACxE1G,KAAA,CAAAyE,aAAA,CAACxE,IAAI,EAAAiH,QAAA;MAACnD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACmD;IAAU,GAAK,IAAI,CAACC,oBAAoB,CAAC,MAAM,IAAIlF,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAC/FD,IAAI,CAACT,KAAK,CAACgD,KAAK,IAAI,YAAmB,CAAC,eAC3CxE,KAAA,CAAAyE,aAAA,CAACxE,IAAI,EAAAiH,QAAA;MAACnD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACqD;IAAa,GAAK,IAAI,CAACD,oBAAoB,CAAC,MAAM,IAAIlF,KAAK,GAAG,CAAC,CAAC,GAAE,WAAW,CAAC,GACpGD,IAAI,CAACT,KAAK,CAACwF,QAAQ,IAAI,gBAAuB,CAC7C,CAAC,eACPhH,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE;QAAE2C,aAAa,EAAE,KAAK;QAAEF,UAAU,EAAE,UAAU;QAAEC,cAAc,EAAE,UAAU;QAAEF,IAAI,EAAE;MAAE;IAAE,GAChG,IAAI,CAACnC,iBAAiB,CAAC,CACpB,CACF,CACF,CAAC;EAEX;EAEAkD,kBAAkBA,CAACC,sBAA+B,EAAEC,SAAiB,EAAkB;IACrF,IAAGA,SAAS,KAAK,IAAI,CAACC,aAAa,CAAC,CAAC,EAAC;MACpC,OAAO,KAAK;IACd;IACA,OAAOF,sBAAsB,GAAG,KAAK,GAAG,MAAM;EAChD;EAEAG,kBAAkBA,CAACzF,IAAS,EAAEC,KAAa,EAAE;IAC3C,MAAMyF,UAAU,GAAGzF,KAAK,KAAK,IAAI,CAAC0F,aAAa,GAAG,CAAC;IACnD,MAAMC,WAAW,GAAG3F,KAAK,KAAK,CAAC;IAC/B,MAAM4F,YAAY,GAAG5F,KAAK,KAAK,IAAI,CAACa,KAAK,CAACC,WAAW;IACrD,MAAM+E,kBAAkB,GAAG,IAAI,CAAChF,KAAK,CAACvB,KAAK,CAACwG,SAAS,KAAK,oBAAoB;IAC9E,MAAMC,yBAAyB,GAAI/F,KAAK,IAAI,IAAI,CAACa,KAAK,CAACC,WAAW,IAAI,CAAC,IAAI,CAACD,KAAK,CAACG,MAAM,IAAK,CAAC,IAAI,CAACH,KAAK,CAACC,WAAW;IACpH,OAAOf,IAAI,CAACc,KAAK,CAACvB,KAAK,CAACgC,IAAI,KAAK,KAAK,gBACpCxD,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MACH6D,KAAK,EAAE,CACL,IAAI,CAACC,MAAM,CAACqC,aAAa,EAAE0B,kBAAkB,GAC7C;QAACG,YAAY,EAAEJ,YAAY,GAAG,CAAC,GAAG,CAAC;QAAEK,WAAW,EAAEjG,KAAK,KAAK,IAAI,CAACa,KAAK,CAACC,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG;MAAC,CAAC,GAAE,CAAC,CAAC,CACnG;MACFyC,GAAG,EAAEvD,KAAK,GAAC;IAAE,gBAEblC,KAAA,CAAAyE,aAAA,CAACtE,gBAAgB;MACf4D,KAAK,EAAE,IAAI,CAACC,MAAM,CAACsC,WAAY;MAC/BZ,OAAO,EAAE,IAAI,CAACtD,iBAAiB,CAACgG,IAAI,CAAC,IAAI,EAAElG,KAAK,EAAE,KAAK,CAAE;MAACmG,QAAQ,EAAEnG,KAAK,IAAI,IAAI,CAACa,KAAK,CAACC,WAAW,IAAI,CAAC,IAAI,CAACD,KAAK,CAACvB,KAAK,CAAC8G,gBAAiB;MAC1IC,iBAAiB,EAAC;IAAQ,GAEvB,CAAC,IAAI,CAACC,aAAa,gBAClBxI,KAAA,CAAAyE,aAAA,CAACvE,IAAI,EAAAgH,QAAA;MAACnD,KAAK,EAAE,IAAI,CAACD,YAAY,CAAC5B,KAAK;IAAE,GAAK,IAAI,CAACuG,qBAAqB,CAAC,MAAM,GAACvG,KAAK,CAAC,GAC/E+F,yBAAyB,iBACzBjI,KAAA,CAAAyE,aAAA,CAACxE,IAAI,EAAAiH,QAAA;MACHnD,KAAK,EACH+D,YAAY,GAAG,CAAC,IAAI,CAAC9D,MAAM,CAACG,UAAU,EAAE,IAAI,CAACH,MAAM,CAAC0E,iBAAiB,CAAC,GAAG,IAAI,CAAC1E,MAAM,CAAC2E;IAAY,GAC7F,IAAI,CAACvB,oBAAoB,CAAC,MAAM,IAAIlF,KAAK,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAGnEA,KAAK,GAAC,CACH,CAAC,EAER,CAACA,KAAK,GAAG,IAAI,CAACa,KAAK,CAACC,WAAW,IAAI,IAAI,CAACD,KAAK,CAACG,MAAM,kBACnDlD,KAAA,CAAAyE,aAAA,CAAC5D,MAAM;MACL6D,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,QAAQ,CAAE;MAC7BX,MAAM,EAAE8D,YAAY,GAAGvH,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACyD,MAAM,CAAC4E,QAAQ,EAAE;QAACC,IAAI,EAAE;UAACC,KAAK,EAAE,IAAI,CAAC9E,MAAM,CAACG,UAAU,CAAC2E;QAAK;MAAC,CAAC,CAAC,GAAG,IAAI,CAAC9E,MAAM,CAAC4E,QAAS;MAC7HxD,SAAS,EAAEnD,IAAI,CAACc,KAAK,CAACvB,KAAK,CAAC4D,SAAS,IAAI;IAAmB,CACrD,CAEP,CAAC,gBACPpF,KAAA,CAAAyE,aAAA,CAACxD,OAAO;MAAC8H,YAAY,EAAE,IAAK;MAAC/E,MAAM,EAAE;QAACgF,IAAI,EAAE;UAAC,GAAG,IAAI,CAAClF,YAAY,CAAC5B,KAAK,CAAC,CAAC,CAAC;QAAC;MAAC;IAAE,CAAC,CAAC,EAEhF4F,YAAY,iBACZ9H,KAAA,CAAAyE,aAAA,CAACxE,IAAI,EAAAiH,QAAA;MAACnD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACmD;IAAU,GAAK,IAAI,CAACC,oBAAoB,CAAC,MAAM,IAAIlF,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAC/FD,IAAI,CAACc,KAAK,CAACvB,KAAK,CAACgD,KAAK,IAAI,YACvB,CAAC,EAER,IAAI,CAACoD,aAAa,GAAG,CAAC,IAAIE,YAAY,iBACrC9H,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACiF,uBAAuB,EAAE;QAAC/D,KAAK,EAAEyC,UAAU,GAAG,CAAC,GAAG;MAAE,CAAC;IAAE,CAAO,CAC5E,CAAC,EAClB,IAAI,CAACuB,oBAAoB,CAAC,CAAC,GAAG,CAAC,IAC9BjH,IAAI,CAACc,KAAK,CAACvB,KAAK,CAACgC,IAAI,iBACrBxD,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MACH6D,KAAK,EAAE,CACL,IAAI,CAACC,MAAM,CAACmF,aAAa,EACzB;QACEjE,KAAK,EAAE,IAAI,CAACoC,kBAAkB,CAACO,WAAW,IAAIF,UAAU,EAAEzF,KAAK,CAAC;QAChEkH,IAAI,EAAEhJ,QAAQ,CAACiJ,EAAE,KAAK,KAAK,GACxB,CAAC,IAAI,CAACC,KAAK,IAAIzB,WAAW,IAAM,IAAI,CAACyB,KAAK,IAAI3B,UAAW,GAC1D,KAAK,GAAE,IAAI,GAAEE,WAAW,GAAG,KAAK,GAAE;MACtC,CAAC;IACD,CACG,CAEL,CAAC,GACL,IAAI;EACV;EAEA0B,IAAIA,CAAA,EAAG;IACL,MAAMrH,KAAK,GAAG,IAAI,CAACa,KAAK,CAACC,WAAW;IACpC,IAAId,KAAK,IAAI,CAAC,EAAE;MACd;IACF;IACA,MAAMc,WAAW,GAAG,IAAI,CAACnB,KAAK,CAACK,KAAK,CAAC;IACrC,IAAGc,WAAW,CAACwG,YAAY,CAACtH,KAAK,CAAC,IAAI,KAAK,EAAC;MAC1C;IACF;IACA,IAAI,CAACE,iBAAiB,CAACF,KAAK,GAAG,CAAC,CAAC;EACnC;EAEAuH,IAAIA,CAACC,SAAkB,EAAE;IACvB,MAAMxH,KAAK,GAAG,IAAI,CAACa,KAAK,CAACC,WAAW;IACpC,IAAId,KAAK,IAAI,IAAI,CAACL,KAAK,CAAC6B,MAAM,GAAG,CAAC,EAAE;MAClC;IACF;IACA,MAAMV,WAAW,GAAG,IAAI,CAACnB,KAAK,CAACK,KAAK,CAAC;IACrC,IAAIwH,SAAS,KAAK,MAAM,EAAE;MACxB1G,WAAW,CAAC2G,YAAY,CAACzH,KAAK,CAAC;IACjC,CAAC,MAAM,IAAIc,WAAW,CAAC4G,YAAY,CAAC1H,KAAK,CAAC,IAAI,KAAK,EAAE;MACnD;IACF;IACA,IAAI,CAACE,iBAAiB,CAACF,KAAK,GAAG,CAAC,CAAC;EACnC;EAEA2H,IAAIA,CAACC,MAAW,EAAE;IAChB,IAAI,IAAI,CAAC/G,KAAK,CAACC,WAAW,KAAK,IAAI,CAACyE,aAAa,CAAC,CAAC,EAAE;MACnD;IACF;IACA,IAAI,CAAC9D,WAAW,CAAC;MACfT,MAAM,EAAE;IACV,CAAkB,CAAC;IACnB,IAAI,CAACU,mBAAmB,CAAC,QAAQ,EAAE,CAACkG,MAAM,EAAE,IAAI,CAACjG,KAAK,CAAC,CAAC;EAC1D;EAEAkG,MAAMA,CAAA,EAAG;IACP,IAAI,CAACnG,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;EAC1D;EAEAmG,IAAIA,CAAA,EAAG;IACL,IAAI,CAACP,IAAI,CAAC,MAAM,CAAC;EACnB;EAEAQ,aAAaA,CAAA,EAA6B;IACxC,OAAO,IAAI,CAACzB,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC0B,WAAW;EACrD;EAEAzC,aAAaA,CAAA,EAAW;IACtB,IAAIpE,QAAQ,GAAG,CAAC;IAChB,KAAI,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAC5B,KAAK,CAAC6B,MAAM,EAAED,CAAC,EAAE,EAAE;MACzC,IAAG,IAAI,CAAC5B,KAAK,CAAC4B,CAAC,CAAC,CAACV,KAAK,CAACvB,KAAK,CAACgC,IAAI,EAAE;QACjCH,QAAQ,GAAGI,CAAC;MACd;IACF;IACA,OAAOJ,QAAQ;EACjB;EAEA6F,oBAAoBA,CAAA,EAAW;IAC7B,IAAI7F,QAAQ,GAAG,CAAC;IAChB,KAAI,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAC5B,KAAK,CAAC6B,MAAM,EAAED,CAAC,EAAE,EAAE;MACzC,IAAG,IAAI,CAAC5B,KAAK,CAAC4B,CAAC,CAAC,CAACV,KAAK,CAACvB,KAAK,CAACgC,IAAI,EAAE;QACjCH,QAAQ,EAAE;MACZ;IACF;IACA,OAAOA,QAAQ;EACjB;EAEO8G,cAAcA,CAAC3I,KAAoB,EAAmB;IACzD,IAAG,CAACA,KAAK,CAAC4I,oBAAoB,EAAE;MAAA,IAAAC,WAAA;MAC9B,MAAMC,cAAgC,GAAG,EAAAD,WAAA,OAAI,CAAC7I,KAAK,cAAA6I,WAAA,gBAAAA,WAAA,GAAVA,WAAA,CAAYrG,MAAM,cAAAqG,WAAA,uBAAlBA,WAAA,CAAoBE,QAAQ,KAAI;QAAEvB,IAAI,EAAE,CAAC,CAAC;QAAEwB,IAAI,EAAE,CAAC;MAAG,CAAqB;MACpH,OAAOtJ,cAAc,CAAC,IAAI,CAACuJ,KAAK,EAAEH,cAAc,EAAE;QAChD,GAAG,IAAI,CAACtG,MAAM,CAACgF;MACjB,CAAC,eAAGhJ,KAAA,CAAAyE,aAAA,CAACvE,IAAI;QAAC6D,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACgF,IAAI,EAAE;UAAE0B,OAAO,EAAE;QAAE,CAAC;MAAE,GACjDlJ,KAAK,CAACmJ,QACH,CAAE,CAAC;IACX;IACA,OAAO,IAAI;EACb;EAGFC,YAAYA,CAACpJ,KAAoB,EAAE;IAAA,IAAAqJ,qBAAA;IACjC,IAAI,CAACjD,aAAa,GAAG,IAAI,CAAC/F,KAAK,CAAC6B,MAAM;IACtC,MAAMS,UAAU,GAAG,IAAI,CAACtC,KAAK,CAAC,IAAI,CAACkB,KAAK,CAACC,WAAW,CAAC;IACrD,MAAM8H,WAAW,GAAG3G,UAAU,IAAIA,UAAU,CAACpB,KAAK,CAACvB,KAAK,CAACuJ,UAAU;IACnE,MAAMC,sBAAsB,IAAAH,qBAAA,GAAG,IAAI,CAAC9H,KAAK,CAACvB,KAAK,CAACwG,SAAS,cAAA6C,qBAAA,uBAA1BA,qBAAA,CAA4BI,QAAQ,CAAC,wBAAwB,CAAC;IAC7F,MAAMjH,MAAM,GAAG,IAAI,CAACwE,aAAa,GAAG;MAClC,GAAG,IAAI,CAACxE,MAAM,CAACgF,IAAI;MACnB,GAAG,IAAI,CAAChF,MAAM,CAACuG,QAAQ,CAACvB;IAC1B,CAAC,GAAG,IAAI,CAAChF,MAAM,CAACgF,IAAI;IACpB,oBACEhJ,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MACH6D,KAAK,EAAEC,MAAO;MACdkH,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,GAE7C,IAAI,CAAClB,aAAa,CAAC,CAAC,eACrBjK,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE,IAAI,CAACC,MAAM,CAACqH;IAAa,GACnClH,UAAU,IAAI6G,sBAAsB,GAAI,IAAI,CAAC9E,0BAA0B,CAAC/B,UAAU,EAAE,IAAI,CAACpB,KAAK,CAACC,WAAW,CAAC,GAAK,IAAI,CAACnB,KAAK,GAAG,IAAI,CAACA,KAAK,CAACG,GAAG,CAAC,CAACM,IAAI,EAAEmB,CAAC,KAAK,IAAI,CAACiE,kBAAkB,CAACpF,IAAI,EAAEmB,CAAC,CAAC,CAAC,GAAG,IAC1L,CAAC,eACPzD,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE,IAAI,CAACC,MAAM,CAACsH;IAAW,GACjC9J,KAAK,CAACmJ,QACH,CAAC,eACP3K,KAAA,CAAAyE,aAAA,CAACvE,IAAI;MAAC6D,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACuH,YAAY,EACpC;QAAC7E,aAAa,EAAElF,KAAK,CAACgK,gBAAgB,KAAK,OAAO,GAAG,aAAa,GAAE;MAAK,CAAC;IAAE,GAC1E,IAAI,CAACzI,KAAK,CAACC,WAAW,KAAM,IAAI,CAACyE,aAAa,CAAC,CAAC,IAAItD,UAAU,CAACpB,KAAK,CAACvB,KAAK,CAACiK,QAAQ,iBACnFzL,KAAA,CAAAyE,aAAA,CAAC7D,QAAQ;MAACwE,SAAS,EAAE,kBAAmB;MAACpB,MAAM,EAAEzD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACyD,MAAM,CAAC0H,aAAa,EAAE,IAAI,CAACjB,KAAK,CAACkB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC3H,MAAM,CAAC4H,UAAU,CAAE;MAChJlH,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAACG,OAAO,EAAEtD,KAAK,CAACqK,YAAa;MAACC,KAAK,EAAE,IAAI,CAACjC,IAAI,CAACzB,IAAI,CAAC,IAAI,CAAE;MAACC,QAAQ,EAAElE,UAAU,CAACpB,KAAK,CAACvB,KAAK,CAACuK;IAAY,CAAW,CAAC,EAEtJ,IAAI,CAAChJ,KAAK,CAACC,WAAW,GAAI,IAAI,CAACyE,aAAa,CAAC,CAAC,IAAItD,UAAU,CAACpB,KAAK,CAACvB,KAAK,CAACwK,QAAQ,iBACjFhM,KAAA,CAAAyE,aAAA,CAAC7D,QAAQ;MAACwE,SAAS,EAAE,qBAAsB;MAACpB,MAAM,EAAEzD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACyD,MAAM,CAAC0H,aAAa,EAAE,IAAI,CAACjB,KAAK,CAACkB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC3H,MAAM,CAACiI,UAAU,CAAE;MACjJvH,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAC1BW,YAAY,EAAE,OAAQ;MAACR,OAAO,EAAEtD,KAAK,CAAC0K,YAAa;MAACJ,KAAK,EAAE,IAAI,CAACrC,IAAI,CAACrB,IAAI,CAAC,IAAI,CAAE;MAACC,QAAQ,EAAElE,UAAU,CAACpB,KAAK,CAACvB,KAAK,CAAC2K;IAAY,CAAW,CAAC,EAErJ,IAAI,CAACpJ,KAAK,CAACC,WAAW,GAAG,CAAC,IAAImB,UAAU,CAACpB,KAAK,CAACvB,KAAK,CAAC4K,QAAQ,iBAC5DpM,KAAA,CAAAyE,aAAA,CAAC7D,QAAQ;MAACwE,SAAS,EAAE,oBAAqB;MAACpB,MAAM,EAAEzD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACkK,KAAK,CAACkB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC3H,MAAM,CAAC0H,aAAa,EAAE,IAAI,CAAC1H,MAAM,CAACqI,UAAU,CAAE;MAACvH,OAAO,EAAEtD,KAAK,CAAC8K,gBAAiB;MACjL5H,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAChCmH,KAAK,EAAE,IAAI,CAACvC,IAAI,CAACnB,IAAI,CAAC,IAAI,CAAE;MAACC,QAAQ,EAAElE,UAAU,CAACpB,KAAK,CAACvB,KAAK,CAAC+K;IAAY,CAAW,CAAC,EAE3F/K,KAAK,CAACgL,UAAU,gBACbxM,KAAA,CAAAyE,aAAA,CAAC7D,QAAQ;MAAC8D,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;MAAEG,OAAO,EAAEtD,KAAK,CAACiL,cAAe;MAACzI,MAAM,EAAEzD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACkK,KAAK,CAACkB,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC3H,MAAM,CAAC0H,aAAa,EAAE,IAAI,CAAC1H,MAAM,CAAC0I,YAAY,CAAE;MAACZ,KAAK,EAAE,IAAI,CAAC/B,MAAM,CAAC3B,IAAI,CAAC,IAAI;IAAE,CAAW,CAAC,GACjO,IAAI,EAET0C,WAAW,iBACR9K,KAAA,CAAAyE,aAAA,CAAC3D,QAAQ;MAACsE,SAAS,EAAE,qBAAsB;MAACE,YAAY,EAAE,OAAQ;MAACR,OAAO,EAAE,MAAO;MACjFJ,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAC7BX,MAAM,EAAEzD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACyD,MAAM,CAAC0H,aAAa,EAAE,IAAI,CAAC1H,MAAM,CAAC2I,QAAQ,CAAE;MAACb,KAAK,EAAE,IAAI,CAAC9B,IAAI,CAAC5B,IAAI,CAAC,IAAI;IAAE,CAAW,CAE7G,CACF,CAAC;EAEX;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","createSkeleton","WmWizardState","constructor","args","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","updateDefaultStep","steps","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","isDone","_this$steps$this$stat2","_this$steps$nextStep","lastStep","nextStep","setInActive","show","i","length","updateState","invokeEventCallback","proxy","getStepStyle","style","styles","push","doneStep","activeStep","renderMenuPopover","menuDataset","getmenudataexpression","Labels","title","createElement","id","getTestId","popover","contentanimation","caption","popoverheight","height","popoverwidth","width","listener","iconclass","popovericonclass","iconposition","type","currentMenuItem","key","onPress","hide","stepMenu","activeStepMenu","stepMenuActiveIcon","stepMenuIcon","stepMenuActiveLabel","stepMenuLabel","renderProgressCircleHeader","progressTitle","progresstitle","headerWrapper","stepWrapper","flex","alignItems","justifyContent","flexDirection","minvalue","maxvalue","datavalue","captionplacement","progresstype","subtitle","progressCircle","_extends","stepTitle","getTestPropsForLabel","stepSubTitle","stepConnectorWidth","isFirstOrLastConnector","stepIndex","lastStepIndex","firstStepIndex","renderWizardHeader","isLastStep","isFirstStep","isActiveStep","isNumberTextLayout","classname","wizardStepCountVisibility","paddingRight","paddingLeft","bind","disabled","headernavigation","accessibilityRole","_showSkeleton","getTestPropsForAction","activeStepCounter","stepCounter","stepIcon","icon","color","showskeleton","root","numberOfSteps","numberTextStepConnector","getTotalVisibleSteps","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","getBackground","_background","firstStep","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","children","renderWidget","_this$state$props$cla","isSkippable","enableskip","isProgressCircleHeader","includes","onLayout","event","handleLayout","wizardHeader","wizardBody","wizardFooter","actionsalignment","showdone","wizardActions","getStyle","doneButton","donebtnlabel","onTap","disabledone","shownext","nextButton","nextbtnlabel","disablenext","showprev","prevButton","previousbtnlabel","disableprev","cancelable","cancelbtnlabel","cancelButton","skipLink"],"sources":["wizard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, Platform, TouchableWithoutFeedback, DimensionValue } from 'react-native';\nimport { isArray, merge } from 'lodash';\nimport { BaseComponent, BaseComponentState, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardProps from './wizard.props';\nimport { DEFAULT_CLASS, WmWizardStyles } from './wizard.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmWizardstep from './wizardstep/wizardstep.component';\nimport WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';\nimport WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmWizardState extends BaseComponentState<WmWizardProps> {\n currentStep: number = 0;\n isDone: boolean = false;\n}\n\nexport default class WmWizard extends BaseComponent<WmWizardProps, WmWizardState, WmWizardStyles> {\n private numberOfSteps: number = null as any;\n private steps = [] as WmWizardstep[];\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmWizardProps) {\n super(props, DEFAULT_CLASS, new WmWizardProps());\n }\n\n updateDefaultStep() {\n const steps = this.steps;\n const props = this.props;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps && steps.map((item: any, index: any) => {\n if (props.defaultstep === item.props.name) {\n defaultStepIndex = index;\n }\n })\n }\n this.updateCurrentStep(defaultStepIndex);\n }\n\n addWizardStep(step: WmWizardstep) {\n this.steps[step.props.index] = step;\n this.forceUpdate();\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (this.props.defaultstep && this.props.defaultstep != 'none') {\n this.updateDefaultStep();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<WmWizardProps>, prevState: Readonly<WmWizardState>, snapshot?: any): void {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n // * when a variable is bind to default step\n if (this.props.defaultstep && prevProps.defaultstep !== this.props.defaultstep) {\n this.updateDefaultStep();\n }\n }\n\n showActiveStep() {\n this.steps[this.state.currentStep]?.setActive();\n }\n\n updateCurrentStep(index: number, isDone = false) {\n const lastStep = this.state.currentStep;\n let nextStep = index\n this.steps[this.state.currentStep]?.setInActive();\n\n // check for next available step if next or prev steps show prop is false\n if(this.steps[nextStep]?.state && !this.steps[nextStep].state.props.show){\n if(lastStep < nextStep){\n for(let i = nextStep + 1; i < this.steps.length; i++){\n if(this.steps[i].state.props.show) {\n nextStep = i;\n break;\n }\n }\n }else if(lastStep > nextStep) {\n for(let i = nextStep - 1; i >= 0; i--){\n if(this.steps[i].state.props.show) {\n nextStep = i;\n break;\n }\n }\n }\n }\n\n this.updateState({\n currentStep: nextStep,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== nextStep) {\n this.invokeEventCallback('onChange', [null, this.proxy, nextStep + 1, lastStep + 1]);\n }\n });\n }\n\n getStepStyle(index: number) {\n const style = [this.styles.step];\n if (this.state.isDone || index < this.state.currentStep) {\n style.push(this.styles.doneStep);\n } else if (this.state.currentStep === index) {\n style.push(this.styles.activeStep);\n }\n return style;\n }\n\n renderMenuPopover(){\n const menuDataset = this.props.getmenudataexpression || ((item: any, index: number) => '') ;\n const Labels = this.steps.map((step: WmWizardstep) => step.state.props.title);\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles.popover}\n contentanimation={'slideInDown'}\n caption={''}\n popoverheight={this.styles.popover.popover.height as string | number | undefined || null}\n popoverwidth={this.styles.popover.popover.width as string | number | undefined || null}\n listener={this.listener}\n iconclass={this.props.popovericonclass || 'fa fa-caret-down'}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.popover.popover}>\n {Labels.map((item: any, index: number) => {\n const currentMenuItem = index==this.state.currentStep;\n const caption = menuDataset({\"count\":this.steps.length}, index);\n return (\n <TouchableWithoutFeedback key={'wizard_menu_item_'+index} onPress={()=>{this.popOverRef.hide();}}>\n <View style={[this.styles.stepMenu, currentMenuItem?this.styles.activeStepMenu:{}]}>\n <WmIcon id={this.getTestId('icon')} caption={caption} iconclass={currentMenuItem? \"wi wi-radio-button-checked\" : 'wi wi-radio-button-unchecked'} styles={currentMenuItem?this.styles.stepMenuActiveIcon:this.styles.stepMenuIcon}/>\n <WmLabel caption={item} styles={currentMenuItem?this.styles.stepMenuActiveLabel:this.styles.stepMenuLabel}/>\n </View>\n </TouchableWithoutFeedback>\n )})}\n </View>\n </WmPopover>\n );\n }\n\n renderProgressCircleHeader(item: any, index: number) {\n const progressTitle = this.props.progresstitle || (index + 1 + '/' + this.steps.length);\n return (\n <View style={[this.styles.headerWrapper]} key={index + 1}>\n <View style={this.styles.stepWrapper}>\n <View style={{ flex: 1, alignItems: 'flex-start', justifyContent: 'center', flexDirection:'row' }}>\n <WmProgressCircle id={this.getTestId('progress')} minvalue={0} maxvalue={this.steps.length} datavalue={index + 1} captionplacement={'inside'} type={this.props.progresstype} title={progressTitle} subtitle={''} styles={this.styles.progressCircle}/>\n </View>\n <View style={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle} {...this.getTestPropsForLabel('step' + (index + 1)+ '_subtitle')}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n stepConnectorWidth(isFirstOrLastConnector: boolean, stepIndex: number): DimensionValue {\n if(stepIndex === this.lastStepIndex() || stepIndex === this.firstStepIndex()){\n return '50%';\n }\n return isFirstOrLastConnector ? '50%' : '100%';\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.lastStepIndex();\n const isFirstStep = index === this.firstStepIndex();\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n const wizardStepCountVisibility = (index >= this.state.currentStep && !this.state.isDone) || !this.state.currentStep\n return item.state.props.show !== false ? (\n <View \n style={[\n this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}\n ]} \n key={index+1}\n >\n <TouchableOpacity \n style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep || !this.state.props.headernavigation}\n accessibilityRole='header'\n >\n {!this._showSkeleton ? \n <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}>\n { wizardStepCountVisibility &&\n <Text \n style={\n isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter} \n {...this.getTestPropsForLabel('step' + (index + 1) + '_indicator')\n }\n >\n {index+1}\n </Text>\n }\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon \n id={this.getTestId('status')} \n styles={isActiveStep ? merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}}) : this.styles.stepIcon}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}\n ></WmIcon>\n }\n </View> : \n <WmLabel showskeleton={true} styles={{root: {...this.getStepStyle(index)[0]}}}/>\n }\n {(isActiveStep) &&\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.state.props.title || 'Step Title'}\n </Text> \n }\n {this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {this.getTotalVisibleSteps() > 1 &&\n item.state.props.show &&\n <View \n style={[\n this.styles.stepConnector, \n {\n width: this.stepConnectorWidth(isFirstStep || isLastStep, index),\n left: Platform.OS === \"web\" ?\n (!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? \n '50%': '0%': isFirstStep ? '50%': '0%'\n }\n ]}\n ></View>\n }\n </View>\n ) : null;\n }\n\n prev() {\n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n const index = this.state.currentStep;\n if (index >= this.steps.length - 1) {\n return;\n }\n const currentStep = this.steps[index];\n if (eventName === 'skip') {\n currentStep.invokeSkipCB(index);\n } else if (currentStep.invokeNextCB(index) == false) {\n return;\n }\n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if (this.state.currentStep !== this.lastStepIndex()) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', [$event, this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', [null, this.proxy]);\n }\n\n skip() {\n this.next('skip');\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n\n lastStepIndex(): number {\n let lastStep = 0;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n lastStep = i;\n }\n }\n return lastStep;\n }\n\n firstStepIndex(): number {\n let firstStep = -1;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n if (firstStep === -1) {\n firstStep = i;\n }\n }\n }\n return firstStep;\n }\n\n getTotalVisibleSteps(): number {\n let lastStep = 0;\n for(let i = 0; i < this.steps.length; i++) {\n if(this.steps[i].state.props.show) {\n lastStep++;\n }\n }\n return lastStep;\n }\n \n public renderSkeleton(props: WmWizardProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {props.children}\n </View>))\n }\n return null;\n }\n\n\n renderWidget(props: WmWizardProps) {\n this.numberOfSteps = this.steps.length;\n const activeStep = this.steps[this.state.currentStep];\n const isSkippable = activeStep && activeStep.state.props.enableskip;\n const isProgressCircleHeader = this.state.props.classname?.includes('progress-circle-header');\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View \n style={styles}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.getBackground()}\n <View style={this.styles.wizardHeader}>\n {activeStep && isProgressCircleHeader ? (this.renderProgressCircleHeader(activeStep, this.state.currentStep)) : (this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null)}\n </View>\n <View style={this.styles.wizardBody}>\n {props.children}\n </View>\n <View style={[this.styles.wizardFooter,\n {flexDirection: props.actionsalignment === 'right' ? 'row-reverse': 'row'}]}>\n {(this.state.currentStep) === this.lastStepIndex() && activeStep.state.props.showdone &&\n <WmButton iconclass={'wm-sl-l sl-check'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton)}\n id = {this.getTestId('donebtn')} caption={props.donebtnlabel} onTap={this.done.bind(this)} disabled={activeStep.state.props.disabledone}></WmButton>\n }\n {(this.state.currentStep) < this.lastStepIndex() && activeStep.state.props.shownext &&\n <WmButton iconclass={'wi wi-chevron-right'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.nextButton)}\n id = {this.getTestId('nextbtn')}\n iconposition={'right'} caption={props.nextbtnlabel} onTap={this.next.bind(this)} disabled={activeStep.state.props.disablenext}></WmButton>\n }\n {this.state.currentStep > 0 && activeStep.state.props.showprev &&\n <WmButton iconclass={'wi wi-chevron-left'} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.prevButton)} caption={props.previousbtnlabel}\n id = {this.getTestId('prevbtn')}\n onTap={this.prev.bind(this)} disabled={activeStep.state.props.disableprev}></WmButton>\n }\n {props.cancelable ?\n <WmButton id = {this.getTestId('cancelbtn')} caption={props.cancelbtnlabel} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.cancelButton)} onTap={this.cancel.bind(this)}></WmButton>\n : null\n }\n {isSkippable &&\n <WmAnchor iconclass={'wi wi-chevron-right'} iconposition={'right'} caption={'Skip'}\n id = {this.getTestId('skip')}\n styles={merge({}, this.styles.wizardActions, this.styles.skipLink)} onTap={this.skip.bind(this)}></WmAnchor>\n }\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -35,12 +35,32 @@ export default class WmList extends BaseComponent {
|
|
35
35
|
_defineProperty(this, "hasMoreData", true);
|
36
36
|
_defineProperty(this, "leftActionTemplate", void 0);
|
37
37
|
_defineProperty(this, "rightActionTemplate", void 0);
|
38
|
+
_defineProperty(this, "flatListRefs", {});
|
38
39
|
_defineProperty(this, "renderLeftActions", () => {
|
39
40
|
return this.leftActionTemplate ? /*#__PURE__*/React.createElement(React.Fragment, null, this.leftActionTemplate.getTemplate()) : null;
|
40
41
|
});
|
41
42
|
_defineProperty(this, "renderRightActions", () => {
|
42
43
|
return this.rightActionTemplate ? /*#__PURE__*/React.createElement(React.Fragment, null, this.rightActionTemplate.getTemplate()) : null;
|
43
44
|
});
|
45
|
+
_defineProperty(this, "selectItem", item => {
|
46
|
+
const dataset = this.state.props.dataset;
|
47
|
+
if (isNumber(item)) {
|
48
|
+
this.onSelect(dataset[item], item);
|
49
|
+
} else {
|
50
|
+
let index = dataset.indexOf(item);
|
51
|
+
this.onSelect(dataset[index], index);
|
52
|
+
}
|
53
|
+
});
|
54
|
+
_defineProperty(this, "scrollToItem", (groupKey, itemIndex) => {
|
55
|
+
const refKey = groupKey || 'main';
|
56
|
+
if (this.flatListRefs[refKey]) {
|
57
|
+
this.flatListRefs[refKey].scrollToIndex({
|
58
|
+
index: itemIndex,
|
59
|
+
animated: true,
|
60
|
+
viewPosition: 0.5
|
61
|
+
});
|
62
|
+
}
|
63
|
+
});
|
44
64
|
this.updateState({
|
45
65
|
maxRecordsToShow: this.state.props.pagesize
|
46
66
|
});
|
@@ -75,6 +95,15 @@ export default class WmList extends BaseComponent {
|
|
75
95
|
selectedItem = $item;
|
76
96
|
}
|
77
97
|
this.selectedItemWidgets = this.itemWidgets[$index];
|
98
|
+
let groupKey = null;
|
99
|
+
if (props.direction === 'horizontal') {
|
100
|
+
var _this$state$groupedDa;
|
101
|
+
(_this$state$groupedDa = this.state.groupedData) === null || _this$state$groupedDa === void 0 || _this$state$groupedDa.forEach(group => {
|
102
|
+
if (group.data.includes($item)) {
|
103
|
+
groupKey = group.key;
|
104
|
+
}
|
105
|
+
});
|
106
|
+
}
|
78
107
|
return new Promise(resolve => {
|
79
108
|
this.updateState({
|
80
109
|
props: {
|
@@ -82,6 +111,9 @@ export default class WmList extends BaseComponent {
|
|
82
111
|
},
|
83
112
|
selectedindex: $index
|
84
113
|
}, () => {
|
114
|
+
if (props.direction === 'horizontal') {
|
115
|
+
this.scrollToItem(groupKey, $index);
|
116
|
+
}
|
85
117
|
this.invokeEventCallback(eventName, [this.proxy, $item]);
|
86
118
|
$event && this.invokeEventCallback('onTap', [$event, this.proxy]);
|
87
119
|
resolve(null);
|
@@ -143,15 +175,6 @@ export default class WmList extends BaseComponent {
|
|
143
175
|
groupedData: {}
|
144
176
|
});
|
145
177
|
}
|
146
|
-
selectItem(item) {
|
147
|
-
const dataset = this.state.props.dataset;
|
148
|
-
if (isNumber(item)) {
|
149
|
-
this.onSelect(dataset[item], item);
|
150
|
-
} else {
|
151
|
-
let index = dataset.indexOf(item);
|
152
|
-
this.onSelect(dataset[index], index);
|
153
|
-
}
|
154
|
-
}
|
155
178
|
getItem(index) {
|
156
179
|
const props = this.state.props;
|
157
180
|
return this.props.dataset[index];
|
@@ -299,7 +322,9 @@ export default class WmList extends BaseComponent {
|
|
299
322
|
}
|
300
323
|
componentDidUpdate(prevProps, prevState, snapshot) {
|
301
324
|
super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);
|
302
|
-
|
325
|
+
if (prevProps.triggeronrenderwhenhidden === true || this.showView()) {
|
326
|
+
this.invokeEventCallback('onRender', [this, this.state.props.dataset]);
|
327
|
+
}
|
303
328
|
}
|
304
329
|
getDefaultStyles() {
|
305
330
|
const isHorizontal = this.state.props.direction === 'horizontal';
|
@@ -351,7 +376,7 @@ export default class WmList extends BaseComponent {
|
|
351
376
|
width: '100%'
|
352
377
|
} : null, cols && cols > 1 || isHorizontal ? {
|
353
378
|
paddingRight: (isNil(this.styles.item.marginRight) ? this.styles.item.margin : this.styles.item.marginRight) || 4
|
354
|
-
} : null]
|
379
|
+
} : null, this.styles.itemContainer]
|
355
380
|
}), props.renderItem(item, index, this), this.isSelected(item) ? /*#__PURE__*/React.createElement(WmIcon, {
|
356
381
|
id: this.getTestId('icon' + index),
|
357
382
|
iconclass: "wi wi-check-circle",
|
@@ -425,6 +450,9 @@ export default class WmList extends BaseComponent {
|
|
425
450
|
style: this.styles.group,
|
426
451
|
key: v.key || this.keyExtractor.getKey(v, true)
|
427
452
|
}, this.renderHeader(props, v.key), /*#__PURE__*/React.createElement(FlatList, _extends({
|
453
|
+
ref: ref => {
|
454
|
+
this.flatListRefs[v.key || 'main'] = ref;
|
455
|
+
},
|
428
456
|
testID: this.getTestId('flat_list'),
|
429
457
|
key: props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs,
|
430
458
|
keyExtractor: (item, i) => this.generateItemKey(item, i, props),
|