@wavemaker/app-rn-runtime 11.7.0-patch.2 → 11.7.0-patch.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/components/basic/progress-bar/progress-bar.component.js +23 -1
  2. package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  3. package/components/basic/search/search.component.js +6 -4
  4. package/components/basic/search/search.component.js.map +1 -1
  5. package/components/container/tabs/tabheader/tabheader.component.js +5 -1
  6. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  7. package/components/container/tabs/tabheader/tabheader.styles.js +1 -1
  8. package/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
  9. package/components/container/tabs/tabs.component.js +11 -7
  10. package/components/container/tabs/tabs.component.js.map +1 -1
  11. package/components/container/wizard/wizard.component.js +1 -1
  12. package/components/container/wizard/wizard.component.js.map +1 -1
  13. package/components/container/wizard/wizard.props.js +1 -0
  14. package/components/container/wizard/wizard.props.js.map +1 -1
  15. package/components/data/form/form.props.js +1 -0
  16. package/components/data/form/form.props.js.map +1 -1
  17. package/components/data/list/list.component.js +10 -1
  18. package/components/data/list/list.component.js.map +1 -1
  19. package/components/data/list/list.styles.js +2 -0
  20. package/components/data/list/list.styles.js.map +1 -1
  21. package/components/data/liveform/liveform.component.js +2 -2
  22. package/components/data/liveform/liveform.component.js.map +1 -1
  23. package/components/input/checkboxset/checkboxset.component.js +13 -4
  24. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  25. package/components/input/checkboxset/checkboxset.props.js +6 -0
  26. package/components/input/checkboxset/checkboxset.props.js.map +1 -1
  27. package/components/input/checkboxset/checkboxset.styles.js +1 -0
  28. package/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  29. package/components/input/switch/switch.styles.js +1 -1
  30. package/components/input/switch/switch.styles.js.map +1 -1
  31. package/components/page/tabbar/tabbar.component.js +1 -1
  32. package/components/page/tabbar/tabbar.component.js.map +1 -1
  33. package/core/utils.js +53 -0
  34. package/core/utils.js.map +1 -1
  35. package/package.json +2 -2
  36. package/runtime/App.js +4 -4
  37. package/runtime/App.js.map +1 -1
@@ -2,19 +2,31 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
  import { ProgressBar } from 'react-native-paper';
5
+ import { LinearGradient as ExpoLinearGradient } from 'expo-linear-gradient';
5
6
  import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
6
7
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
7
8
  import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
8
9
  import WmProgressBarProps from './progress-bar.props';
9
10
  import { DEFAULT_CLASS } from './progress-bar.styles';
11
+ import { parseLinearGradient } from '@wavemaker/app-rn-runtime/core/utils';
10
12
  export class WmProgressBarState extends BaseComponentState {}
11
13
  export default class WmProgressBar extends BaseComponent {
12
14
  constructor(props) {
13
15
  super(props, DEFAULT_CLASS, new WmProgressBarProps());
14
16
  }
15
17
  renderWidget(props) {
18
+ var _styles$root, _styles$progressBar;
16
19
  let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);
17
20
  const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);
21
+ const {
22
+ hasLinearGradient,
23
+ color1,
24
+ color2,
25
+ start,
26
+ end
27
+ } = parseLinearGradient(styles === null || styles === void 0 || (_styles$root = styles.root) === null || _styles$root === void 0 || (_styles$root = _styles$root.progressBar) === null || _styles$root === void 0 ? void 0 : _styles$root.backgroundColor);
28
+ const gradientColors = [color1, color2];
29
+ const valuePercent = `${Math.round(value * 100)}%`;
18
30
  return /*#__PURE__*/React.createElement(View, {
19
31
  style: styles.root
20
32
  }, this._background, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(), {
@@ -31,7 +43,17 @@ export default class WmProgressBar extends BaseComponent {
31
43
  style: [styles.progressBar, {
32
44
  height: styles.root.height || styles.progressBar.height
33
45
  }]
34
- }))));
46
+ })), hasLinearGradient ? /*#__PURE__*/React.createElement(ExpoLinearGradient, {
47
+ colors: gradientColors,
48
+ start: start,
49
+ end: end,
50
+ style: [{
51
+ width: valuePercent,
52
+ height: styles.root.height || styles.progressBar.height,
53
+ position: 'absolute',
54
+ borderRadius: (styles === null || styles === void 0 || (_styles$progressBar = styles.progressBar) === null || _styles$progressBar === void 0 ? void 0 : _styles$progressBar.borderRadius) || 0
55
+ }]
56
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null)));
35
57
  }
36
58
  }
37
59
  //# sourceMappingURL=progress-bar.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","ProgressBar","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressBarProps","DEFAULT_CLASS","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","createElement","style","root","_background","_extends","getTestPropsForAction","target","width","height","PROGRESSBAR","progress","color","progressValue","progressBar"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n renderWidget(props: WmProgressBarProps) {\n let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n return (\n <View style={styles.root}>\n {this._background}\n <Tappable {...this.getTestPropsForAction()} target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <ProgressBar\n {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, props)}\n progress={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n </Tappable>\n </View>); \n }\n\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,oBAAoB;AAChD,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAE1E,OAAO,MAAMC,kBAAkB,SAASL,kBAAkB,CAAqB;AAE/E,eAAe,MAAMM,aAAa,SAASP,aAAa,CAA8D;EAEpHQ,WAAWA,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;EACvD;EAEAM,YAAYA,CAACD,KAAyB,EAAE;IACtC,IAAIE,KAAK,GAAG,CAACF,KAAK,CAACG,SAAS,GAAGH,KAAK,CAACI,QAAQ,KAAKJ,KAAK,CAACK,QAAQ,GAAGL,KAAK,CAACI,QAAQ,CAAC;IAClF,MAAME,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,OAAMT,KAAK,CAACU,IAAK,eAAc,CAAC,EAAE,IAAI,CAACJ,MAAM,CAAC;IACxG,oBACAnB,KAAA,CAAAwB,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEN,MAAM,CAACO;IAAK,GACtB,IAAI,CAACC,WAAW,eACjB3B,KAAA,CAAAwB,aAAA,CAACrB,QAAQ,EAAAyB,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAAC,CAAC;MAAEC,MAAM,EAAE,IAAK;MAACX,MAAM,EAAE;QAACO,IAAI,EAAC;UAACK,KAAK,EAAE,MAAM;UAAEC,MAAM,EAAE;QAAM;MAAC;IAAE,iBACvGhC,KAAA,CAAAwB,aAAA,CAACtB,WAAW,EAAA0B,QAAA,KACNrB,qBAAqB,CAACD,uBAAuB,CAAC2B,WAAW,EAAEpB,KAAK,CAAC;MACrEqB,QAAQ,EAAEnB,KAAM;MAChBoB,KAAK,EAAEhB,MAAM,CAACiB,aAAa,CAACD,KAAM;MAClCV,KAAK,EAAE,CAACN,MAAM,CAACkB,WAAW,EAAE;QAACL,MAAM,EAAEb,MAAM,CAACO,IAAI,CAACM,MAAM,IAAIb,MAAM,CAACkB,WAAW,CAACL;MAAM,CAAC;IAAE,EAAc,CAC/F,CACN,CAAC;EACT;AAEF"}
1
+ {"version":3,"names":["React","View","ProgressBar","LinearGradient","ExpoLinearGradient","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressBarProps","DEFAULT_CLASS","parseLinearGradient","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","_styles$root","_styles$progressBar","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","hasLinearGradient","color1","color2","start","end","root","progressBar","backgroundColor","gradientColors","valuePercent","Math","round","createElement","style","_background","_extends","getTestPropsForAction","target","width","height","PROGRESSBAR","progress","color","progressValue","colors","position","borderRadius","Fragment"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { LinearGradient as ExpoLinearGradient } from 'expo-linear-gradient';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\nimport { parseLinearGradient } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n renderWidget(props: WmProgressBarProps) {\n let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n const {hasLinearGradient, color1, color2, start, end} = parseLinearGradient(styles?.root?.progressBar?.backgroundColor as string);\n const gradientColors = [color1, color2];\n const valuePercent = `${Math.round(value * 100)}%`;\n\n return (\n <View style={styles.root}>\n {this._background}\n <Tappable {...this.getTestPropsForAction()} target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <ProgressBar\n {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, props)}\n progress={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n {hasLinearGradient ? (\n <ExpoLinearGradient\n colors={gradientColors}\n start={start}\n end={end}\n style={[\n {\n width: valuePercent as any,\n height: styles.root.height || styles.progressBar.height,\n position: 'absolute',\n borderRadius: styles?.progressBar?.borderRadius || 0,\n },\n ]}\n />\n ) : (\n <></>\n )}\n </Tappable>\n </View>); \n }\n\n}\n"],"mappings":"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"}
@@ -175,10 +175,12 @@ export default class WmSearch extends BaseDatasetComponent {
175
175
  return;
176
176
  }
177
177
  }
178
- if (this.props.invokeEvent) {
179
- this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);
180
- }
181
- this.invokeEventCallback('onChange', [undefined, this.proxy, value, prevQuery]);
178
+ setTimeout(() => {
179
+ if (this.props.invokeEvent) {
180
+ this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);
181
+ }
182
+ this.invokeEventCallback('onChange', [undefined, this.proxy, value, prevQuery]);
183
+ }, 300);
182
184
  }
183
185
  invokeChange(e) {
184
186
  if (Platform.OS === 'web') {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Keyboard","Platform","ScrollView","Text","TextInput","View","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","WmSearchState","constructor","arguments","_defineProperty","top","left","WmSearch","props","_this","this","Promise","resolve","position","view","measure","x","length","undefined","y","width","height","px","py","updateState","computePosition","then","isOpened","dataProvider","datavalue","query","clearSearch","invokeEventCallback","hide","dataItems","state","map","item","selected","type","updateFilteredData","_filteredData","queryText","filterOptions","entries","filteredData","minchars","_this$dataProvider","searchkey","updateRequired","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","showPopover","focus","_this$widgetRef","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","_this$state$props$que","onBlur","setTimeout","triggerValidation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","modal","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","root","ref","onLayout","searchInputWrapper","_extends","text","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","readonly","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","showSearchIcon","searchButton","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Keyboard, Platform, ScrollView, Text, TextInput, View } from 'react-native';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused) {\n this.showPopover && this.showPopover();\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n onChange(value: any) {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n if (value === prevQuery) {\n return;\n }\n }\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (!this.state.props.disabled && this.state.props.type === 'autocomplete') {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {props.showclear && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\n styles={this.styles.clearButton} iconclass={'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n id={this.getTestId('search')}\n iconclass={'wm-sl-l sl-search'} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)} {...this.getTestProps(`action${index}`)}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View>\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Keyboard","Platform","ScrollView","Text","TextInput","View","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","WmSearchState","constructor","arguments","_defineProperty","top","left","WmSearch","props","_this","this","Promise","resolve","position","view","measure","x","length","undefined","y","width","height","px","py","updateState","computePosition","then","isOpened","dataProvider","datavalue","query","clearSearch","invokeEventCallback","hide","dataItems","state","map","item","selected","type","updateFilteredData","_filteredData","queryText","filterOptions","entries","filteredData","minchars","_this$dataProvider","searchkey","updateRequired","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","showPopover","focus","_this$widgetRef","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","setTimeout","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","modal","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","root","ref","onLayout","searchInputWrapper","_extends","text","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","readonly","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","showSearchIcon","searchButton","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Keyboard, Platform, ScrollView, Text, TextInput, View } from 'react-native';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused) {\n this.showPopover && this.showPopover();\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n onChange(value: any) {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }, 300);\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (!this.state.props.disabled && this.state.props.type === 'autocomplete') {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {props.showclear && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\n styles={this.styles.clearButton} iconclass={'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n id={this.getTestId('search')}\n iconclass={'wm-sl-l sl-search'} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)} {...this.getTestProps(`action${index}`)}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View>\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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"}
@@ -10,6 +10,7 @@ import { DEFAULT_CLASS } from './tabheader.styles';
10
10
  import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
11
11
  import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
12
12
  import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
13
+ import WmIcon from "@wavemaker/app-rn-runtime/components/basic/icon/icon.component";
13
14
  export class WmTabheaderState extends BaseComponentState {}
14
15
  export default class WmTabheader extends BaseComponent {
15
16
  constructor(props) {
@@ -161,7 +162,10 @@ export default class WmTabheader extends BaseComponent {
161
162
  style: [this.styles.header, {
162
163
  flexGrow: undefined
163
164
  }, isSelected ? this.styles.activeHeader : null]
164
- }, /*#__PURE__*/React.createElement(Text, _extends({
165
+ }, /*#__PURE__*/React.createElement(WmIcon, {
166
+ styles: this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null),
167
+ iconclass: header.icon
168
+ }), /*#__PURE__*/React.createElement(Text, _extends({
165
169
  numberOfLines: 1,
166
170
  style: [this.styles.headerText, isSelected ? this.styles.activeHeaderText : null]
167
171
  }, this.getTestPropsForLabel(i + '_title')), header.title))));
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","_ref","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","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","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","undefined","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } 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';\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\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 setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex;\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 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}}>\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 style={{overflow: 'hidden', zIndex: 16}}>\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._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 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 <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 {arrowIndicator.backgroundImage ? (<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>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n ); \n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","_ref","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","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","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","undefined","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 from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } 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\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 setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex;\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 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}}>\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 style={{overflow: 'hidden', zIndex: 16}}>\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._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 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 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 {arrowIndicator.backgroundImage ? (<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>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -25,7 +25,7 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
25
25
  color: themeVariables.tabHeaderIconColor
26
26
  },
27
27
  icon: {
28
- fontSize: 24
28
+ fontSize: 12
29
29
  }
30
30
  },
31
31
  headerText: {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","minWidth","overflow","backgroundColor","tabHeaderBgColor","text","header","paddingTop","paddingBottom","paddingVertical","minHeight","justifyContent","flexGrow","headerIcon","color","tabHeaderIconColor","icon","fontSize","headerText","tabHeaderTextColor","fontFamily","baseFont","fontWeight","activeHeader","tabActiveHeaderBgColor","activeIndicator","tabActiveIndicatorBgColor","width","height","marginTop","activeHeaderIcon","tabActiveHeaderIconColor","activeHeaderText","tabActiveHeaderTextColor","arrowIndicator","display","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","arrowIndicatorDot","skeleton"],"sources":["tabheader.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TextStyle, ViewStyle } from 'react-native';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmTabheaderStyles = BaseStyles & {\n activeIndicator: ViewStyle,\n header: ViewStyle,\n headerIcon: WmIconStyles,\n headerText: TextStyle,\n arrowIndicator: ViewStyle,\n arrowIndicatorDot: ViewStyle,\n activeHeader: ViewStyle,\n activeHeaderIcon: WmIconStyles,\n activeHeaderText: TextStyle,\n skeleton: WmSkeletonStyles \n};\n\nexport const DEFAULT_CLASS = 'app-tabheader';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles = {\n root: {\n flexDirection: 'row',\n minWidth: '100%',\n overflow: 'visible',\n backgroundColor: themeVariables.tabHeaderBgColor,\n },\n text: {},\n header: {\n backgroundColor: themeVariables.tabHeaderBgColor,\n paddingTop: 16,\n paddingBottom: 16,\n paddingVertical: 12,\n minWidth: 80,\n minHeight:48,\n flexDirection: 'row',\n justifyContent: 'center',\n flexGrow: 1\n },\n headerIcon: {\n text: {\n color: themeVariables.tabHeaderIconColor\n },\n icon: {\n fontSize : 24\n }\n } as WmIconStyles,\n headerText: {\n color: themeVariables.tabHeaderTextColor,\n overflow: 'visible',\n fontFamily: themeVariables.baseFont,\n fontWeight: '500',\n fontSize: 14,\n },\n activeHeader: {\n backgroundColor: themeVariables.tabActiveHeaderBgColor\n },\n activeIndicator: {\n backgroundColor: themeVariables.tabActiveIndicatorBgColor,\n width: 100,\n height: 2,\n marginTop: -2\n },\n activeHeaderIcon: {\n text: {\n color: themeVariables.tabActiveHeaderIconColor\n }\n } as WmIconStyles,\n activeHeaderText: {\n color: themeVariables.tabActiveHeaderTextColor \n },\n arrowIndicator: {\n display: 'none',\n backgroundImage: '',\n backgroundSize: '100% 100%',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n },\n arrowIndicatorDot: {\n display: 'none'\n },\n skeleton: {} as WmSkeletonStyles\n } as WmTabheaderStyles;\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAmB/D,OAAO,MAAMC,aAAa,GAAG,eAAe;AAC5CD,UAAU,CAACE,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAa,GAAG;IAClBC,IAAI,EAAE;MACFC,aAAa,EAAE,KAAK;MACpBC,QAAQ,EAAE,MAAM;MAChBC,QAAQ,EAAE,SAAS;MACnBC,eAAe,EAAEP,cAAc,CAACQ;IACpC,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,MAAM,EAAE;MACJH,eAAe,EAAEP,cAAc,CAACQ,gBAAgB;MAChDG,UAAU,EAAE,EAAE;MACdC,aAAa,EAAE,EAAE;MACjBC,eAAe,EAAE,EAAE;MACnBR,QAAQ,EAAE,EAAE;MACZS,SAAS,EAAC,EAAE;MACZV,aAAa,EAAE,KAAK;MACpBW,cAAc,EAAE,QAAQ;MACxBC,QAAQ,EAAE;IACd,CAAC;IACDC,UAAU,EAAE;MACRR,IAAI,EAAE;QACFS,KAAK,EAAElB,cAAc,CAACmB;MAC1B,CAAC;MACDC,IAAI,EAAE;QACFC,QAAQ,EAAG;MACd;IACL,CAAiB;IACjBC,UAAU,EAAE;MACRJ,KAAK,EAAElB,cAAc,CAACuB,kBAAkB;MACxCjB,QAAQ,EAAE,SAAS;MACnBkB,UAAU,EAAExB,cAAc,CAACyB,QAAQ;MACnCC,UAAU,EAAE,KAAK;MACjBL,QAAQ,EAAE;IACd,CAAC;IACDM,YAAY,EAAE;MACVpB,eAAe,EAAEP,cAAc,CAAC4B;IACpC,CAAC;IACDC,eAAe,EAAE;MACbtB,eAAe,EAAEP,cAAc,CAAC8B,yBAAyB;MACzDC,KAAK,EAAE,GAAG;MACVC,MAAM,EAAE,CAAC;MACTC,SAAS,EAAE,CAAC;IAChB,CAAC;IACDC,gBAAgB,EAAE;MACdzB,IAAI,EAAE;QACFS,KAAK,EAAElB,cAAc,CAACmC;MAC1B;IACJ,CAAiB;IACjBC,gBAAgB,EAAE;MACdlB,KAAK,EAAElB,cAAc,CAACqC;IAC1B,CAAC;IACDC,cAAc,EAAE;MACZC,OAAO,EAAE,MAAM;MACfC,eAAe,EAAE,EAAE;MACnBC,cAAc,EAAE,WAAW;MAC3BC,kBAAkB,EAAE,QAAQ;MAC5BC,gBAAgB,EAAE;IACtB,CAAC;IACDC,iBAAiB,EAAE;MACfL,OAAO,EAAE;IACb,CAAC;IACDM,QAAQ,EAAE,CAAC;EACf,CAAsB;EACtB5C,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC"}
1
+ {"version":3,"names":["BASE_THEME","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","minWidth","overflow","backgroundColor","tabHeaderBgColor","text","header","paddingTop","paddingBottom","paddingVertical","minHeight","justifyContent","flexGrow","headerIcon","color","tabHeaderIconColor","icon","fontSize","headerText","tabHeaderTextColor","fontFamily","baseFont","fontWeight","activeHeader","tabActiveHeaderBgColor","activeIndicator","tabActiveIndicatorBgColor","width","height","marginTop","activeHeaderIcon","tabActiveHeaderIconColor","activeHeaderText","tabActiveHeaderTextColor","arrowIndicator","display","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","arrowIndicatorDot","skeleton"],"sources":["tabheader.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TextStyle, ViewStyle } from 'react-native';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmTabheaderStyles = BaseStyles & {\n activeIndicator: ViewStyle,\n header: ViewStyle,\n headerIcon: WmIconStyles,\n headerText: TextStyle,\n arrowIndicator: ViewStyle,\n arrowIndicatorDot: ViewStyle,\n activeHeader: ViewStyle,\n activeHeaderIcon: WmIconStyles,\n activeHeaderText: TextStyle,\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-tabheader';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles = {\n root: {\n flexDirection: 'row',\n minWidth: '100%',\n overflow: 'visible',\n backgroundColor: themeVariables.tabHeaderBgColor,\n },\n text: {},\n header: {\n backgroundColor: themeVariables.tabHeaderBgColor,\n paddingTop: 16,\n paddingBottom: 16,\n paddingVertical: 12,\n minWidth: 80,\n minHeight:48,\n flexDirection: 'row',\n justifyContent: 'center',\n flexGrow: 1\n },\n headerIcon: {\n text: {\n color: themeVariables.tabHeaderIconColor\n },\n icon: {\n fontSize : 12\n }\n } as WmIconStyles,\n headerText: {\n color: themeVariables.tabHeaderTextColor,\n overflow: 'visible',\n fontFamily: themeVariables.baseFont,\n fontWeight: '500',\n fontSize: 14,\n },\n activeHeader: {\n backgroundColor: themeVariables.tabActiveHeaderBgColor\n },\n activeIndicator: {\n backgroundColor: themeVariables.tabActiveIndicatorBgColor,\n width: 100,\n height: 2,\n marginTop: -2\n },\n activeHeaderIcon: {\n text: {\n color: themeVariables.tabActiveHeaderIconColor\n }\n } as WmIconStyles,\n activeHeaderText: {\n color: themeVariables.tabActiveHeaderTextColor\n },\n arrowIndicator: {\n display: 'none',\n backgroundImage: '',\n backgroundSize: '100% 100%',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'\n },\n arrowIndicatorDot: {\n display: 'none'\n },\n skeleton: {} as WmSkeletonStyles\n } as WmTabheaderStyles;\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAmB/D,OAAO,MAAMC,aAAa,GAAG,eAAe;AAC5CD,UAAU,CAACE,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAa,GAAG;IAClBC,IAAI,EAAE;MACFC,aAAa,EAAE,KAAK;MACpBC,QAAQ,EAAE,MAAM;MAChBC,QAAQ,EAAE,SAAS;MACnBC,eAAe,EAAEP,cAAc,CAACQ;IACpC,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,MAAM,EAAE;MACJH,eAAe,EAAEP,cAAc,CAACQ,gBAAgB;MAChDG,UAAU,EAAE,EAAE;MACdC,aAAa,EAAE,EAAE;MACjBC,eAAe,EAAE,EAAE;MACnBR,QAAQ,EAAE,EAAE;MACZS,SAAS,EAAC,EAAE;MACZV,aAAa,EAAE,KAAK;MACpBW,cAAc,EAAE,QAAQ;MACxBC,QAAQ,EAAE;IACd,CAAC;IACDC,UAAU,EAAE;MACRR,IAAI,EAAE;QACFS,KAAK,EAAElB,cAAc,CAACmB;MAC1B,CAAC;MACDC,IAAI,EAAE;QACFC,QAAQ,EAAG;MACd;IACL,CAAiB;IACjBC,UAAU,EAAE;MACRJ,KAAK,EAAElB,cAAc,CAACuB,kBAAkB;MACxCjB,QAAQ,EAAE,SAAS;MACnBkB,UAAU,EAAExB,cAAc,CAACyB,QAAQ;MACnCC,UAAU,EAAE,KAAK;MACjBL,QAAQ,EAAE;IACd,CAAC;IACDM,YAAY,EAAE;MACVpB,eAAe,EAAEP,cAAc,CAAC4B;IACpC,CAAC;IACDC,eAAe,EAAE;MACbtB,eAAe,EAAEP,cAAc,CAAC8B,yBAAyB;MACzDC,KAAK,EAAE,GAAG;MACVC,MAAM,EAAE,CAAC;MACTC,SAAS,EAAE,CAAC;IAChB,CAAC;IACDC,gBAAgB,EAAE;MACdzB,IAAI,EAAE;QACFS,KAAK,EAAElB,cAAc,CAACmC;MAC1B;IACJ,CAAiB;IACjBC,gBAAgB,EAAE;MACdlB,KAAK,EAAElB,cAAc,CAACqC;IAC1B,CAAC;IACDC,cAAc,EAAE;MACZC,OAAO,EAAE,MAAM;MACfC,eAAe,EAAE,EAAE;MACnBC,cAAc,EAAE,WAAW;MAC3BC,kBAAkB,EAAE,QAAQ;MAC5BC,gBAAgB,EAAE;IACtB,CAAC;IACDC,iBAAiB,EAAE;MACfL,OAAO,EAAE;IACb,CAAC;IACDM,QAAQ,EAAE,CAAC;EACf,CAAsB;EACtB5C,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC"}
@@ -85,18 +85,22 @@ export default class WmTabs extends BaseComponent {
85
85
  return this.tabPanes[this.state.selectedTabIndex];
86
86
  }
87
87
  goToTab() {
88
- var _this$tabLayout2, _this$animationView;
88
+ var _this$tabLayout2;
89
89
  let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.selectedTabIndex;
90
90
  const position = -1 * index * (((_this$tabLayout2 = this.tabLayout) === null || _this$tabLayout2 === void 0 ? void 0 : _this$tabLayout2.width) || 0);
91
- (_this$animationView = this.animationView) === null || _this$animationView === void 0 ? void 0 : _this$animationView.setPosition(position).then(() => this.onChange(index));
91
+ if (this.animationView) {
92
+ this.animationView.setPosition(position).then(() => this.onChange(index));
93
+ } else {
94
+ this.onChange(index);
95
+ }
92
96
  }
93
97
  prev() {
94
- var _this$animationView2;
95
- (_this$animationView2 = this.animationView) === null || _this$animationView2 === void 0 ? void 0 : _this$animationView2.goToLower();
98
+ var _this$animationView;
99
+ (_this$animationView = this.animationView) === null || _this$animationView === void 0 ? void 0 : _this$animationView.goToLower();
96
100
  }
97
101
  next() {
98
- var _this$animationView3;
99
- (_this$animationView3 = this.animationView) === null || _this$animationView3 === void 0 ? void 0 : _this$animationView3.goToLower();
102
+ var _this$animationView2;
103
+ (_this$animationView2 = this.animationView) === null || _this$animationView2 === void 0 ? void 0 : _this$animationView2.goToLower();
100
104
  }
101
105
  onChange(newIndex) {
102
106
  if (newIndex < 0 || newIndex >= this.tabPanes.length) {
@@ -178,7 +182,7 @@ export default class WmTabs extends BaseComponent {
178
182
  const tabPanes = React.Children.toArray(props.children).filter((item, index) => item.props.show != false);
179
183
  const headerData = tabPanes.map((p, i) => ({
180
184
  title: p.props.title || 'Tab Title',
181
- icon: '',
185
+ icon: p.props.paneicon || '',
182
186
  key: `tab-${p.props.title}-${i}`
183
187
  }));
184
188
  return /*#__PURE__*/React.createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","WmTabsState","constructor","arguments","_defineProperty","WmTabs","props","bounds","e","_this$tabLayout","activeTabIndex","state","selectedTabIndex","w","tabLayout","width","noOfTabs","tabPanes","length","lower","center","upper","onLower","onChange","onUpper","setTabLayout","event","nativeEvent","layout","forceUpdate","goToTab","setTabPaneHeights","index","_nativeEvent$nativeEv","tabPaneHeights","height","setTabShown","tabIndex","callback","tabsShown","setTimeout","updateState","addTabPane","tabPane","i","findIndex","t","name","newIndex","selectTabPane","indexOf","selectedTabPane","_this$tabLayout2","_this$animationView","undefined","position","animationView","setPosition","then","prev","_this$animationView2","goToLower","next","_this$animationView3","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeleton","Children","toArray","children","filter","item","show","headerData","map","p","title","icon","key","createElement","style","styles","root","borderBottomWidth","onLayout","bind","tabHeader","data","showskeleton","overflow","flexDirection","flexWrap","alignSelf","onPropertyChange","$new","$old","selectedIndex","renderWidget","_background","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers"],"sources":["tabs.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, LayoutRectangle, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmTabsProps from './tabs.props';\nimport { DEFAULT_CLASS, WmTabsStyles } from './tabs.styles';\nimport WmTabpane from './tabpane/tabpane.component';\nimport WmTabheader from './tabheader/tabheader.component';\n\nexport class WmTabsState extends BaseComponentState<WmTabsProps> {\n tabsShown: boolean[] = [];\n selectedTabIndex: number = 0;\n}\n\nexport default class WmTabs extends BaseComponent<WmTabsProps, WmTabsState, WmTabsStyles> {\n public tabPanes = [] as WmTabpane[];\n private newIndex = 0;\n private tabLayout: LayoutRectangle = null as any;\n private tabPaneHeights: number[] = [];\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.selectedTabIndex,\n w = this.tabLayout?.width || 0,\n noOfTabs = this.tabPanes.length;\n return {\n lower: -1 * (activeTabIndex - (activeTabIndex === 0 ? 0 : 1)) * w,\n center: -1 * activeTabIndex * w,\n upper: -1 * (activeTabIndex + (activeTabIndex === noOfTabs - 1 ? 0 : 1)) * w\n };\n },\n onLower: (e) => {\n this.onChange(this.state.selectedTabIndex - 1);\n },\n onUpper: (e) => {\n this.onChange(this.state.selectedTabIndex + 1);\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmTabsProps) {\n super(props, DEFAULT_CLASS, new WmTabsProps(), new WmTabsState());\n }\n \n setTabLayout(event: LayoutChangeEvent) {\n this.tabLayout = event.nativeEvent.layout;\n this.forceUpdate(() => {\n this.goToTab();\n });\n }\n\n setTabPaneHeights(index: number, nativeEvent: LayoutChangeEvent) {\n this.tabPaneHeights[index] = nativeEvent.nativeEvent.layout?.height;\n if (index === this.state.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n setTabShown(tabIndex: number, callback: () => any) {\n if (!this.state.tabsShown[tabIndex]) {\n const tabsShown = [...this.state.tabsShown];\n tabsShown[tabIndex] = true;\n setTimeout(() => {\n this.updateState({\n tabsShown: tabsShown\n } as WmTabsState, callback);\n }, 300);\n } else {\n callback && callback();\n }\n }\n\n addTabPane(tabPane: WmTabpane) {\n const i = this.tabPanes.findIndex(t => t.props.name === tabPane.props.name);\n if (i >= 0) {\n this.tabPanes[i] = tabPane;\n } else {\n this.tabPanes[this.newIndex++] = tabPane;\n }\n }\n\n selectTabPane(tabPane: WmTabpane) {\n this.goToTab(this.tabPanes.indexOf(tabPane));\n }\n\n get selectedTabPane() {\n return this.tabPanes[this.state.selectedTabIndex];\n }\n\n goToTab(index = this.state.selectedTabIndex) {\n const position = -1 * index * (this.tabLayout?.width || 0);\n this.animationView?.setPosition(position)\n .then(() => this.onChange(index));\n }\n\n prev() {\n this.animationView?.goToLower();\n }\n\n next() {\n this.animationView?.goToLower();\n }\n\n onChange(newIndex: number) {\n if (newIndex < 0 || newIndex >= this.tabPanes.length) {\n return;\n }\n const oldIndex = this.state.selectedTabIndex;\n const deselectedTab = this.tabPanes[this.state.selectedTabIndex];\n this.newIndex = newIndex;\n deselectedTab?._onDeselect();\n this.updateState({\n selectedTabIndex: newIndex\n } as WmTabsState, () => {\n this.setTabShown(newIndex, () => {\n const selectedTab = this.tabPanes[newIndex];\n selectedTab?._onSelect();\n this.invokeEventCallback('onChange', [{}, this.proxy, newIndex, oldIndex]);\n });\n });\n }\n\n public renderSkeleton(props: WmTabsProps){\n const tabPanes = React.Children.toArray(this.props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) => \n ({title: p.props.title || 'Tab Title', icon: '', key: `tab-${p.props.title}-${i}`}));\n return(\n <View style={[this.styles.root, { borderBottomWidth: 0}]}>\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n styles={this.styles.tabHeader}\n data={headerData}\n showskeleton={this.props.showskeleton}\n selectedTabIndex={this.state.selectedTabIndex}\n ></WmTabheader>\n <View \n //{...this.panResponder.panHandlers}\n style={{\n width: '100%',\n //height: this.tabPaneHeights[this.state.selectedTabIndex],\n overflow: 'hidden'\n }} >\n <View style={{\n flexDirection: 'row',\n flexWrap: 'nowrap'\n }}>\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>);\n })}\n </View>\n </View>\n </View>\n\n )\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"defaultpaneindex\":\n const selectedIndex = $new || 0;\n const tabsShown: boolean[] = [];\n tabsShown[selectedIndex] = true;\n this.updateState({\n selectedTabIndex: selectedIndex,\n tabsShown: tabsShown\n } as WmTabsState);\n }\n }\n \n renderWidget(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) => \n ({title: p.props.title || 'Tab Title', icon: '', key: `tab-${p.props.title}-${i}`}));\n return (\n <View style={this.styles.root}>\n {this._background}\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n id={this.getTestId('headers')}\n styles={this.styles.tabHeader}\n data={headerData}\n selectedTabIndex={this.state.selectedTabIndex}\n onIndexChange={this.goToTab.bind(this)}\n ></WmTabheader>\n <View\n style={[{\n width: '100%',\n flex: 1\n }, this.styles.root.height ? \n (isWebPreviewMode() ? {'overflow-x': 'hidden','overflow-y': 'auto'} as any : {overflow: 'scroll'}) \n : {\n overflow: 'hidden',\n maxHeight: this.tabPaneHeights[this.state.selectedTabIndex],\n }, this.styles.tabContent]} >\n <SwipeAnimation.View \n enableGestures={props.enablegestures}\n style={{\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'flex-start'\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n >\n {tabPanes.map((p: any, i) => {\n return (\n <View \n key={`tab-${p.props.title}-${i}`}\n style={{\n width: '100%',\n height: this.styles.root.height ? undefined : 1000000,\n alignSelf: 'flex-start'}}>\n <View\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>\n </View>);\n })}\n </SwipeAnimation.View>\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","WmTabsState","constructor","arguments","_defineProperty","WmTabs","props","bounds","e","_this$tabLayout","activeTabIndex","state","selectedTabIndex","w","tabLayout","width","noOfTabs","tabPanes","length","lower","center","upper","onLower","onChange","onUpper","setTabLayout","event","nativeEvent","layout","forceUpdate","goToTab","setTabPaneHeights","index","_nativeEvent$nativeEv","tabPaneHeights","height","setTabShown","tabIndex","callback","tabsShown","setTimeout","updateState","addTabPane","tabPane","i","findIndex","t","name","newIndex","selectTabPane","indexOf","selectedTabPane","_this$tabLayout2","undefined","position","animationView","setPosition","then","prev","_this$animationView","goToLower","next","_this$animationView2","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeleton","Children","toArray","children","filter","item","show","headerData","map","p","title","icon","key","createElement","style","styles","root","borderBottomWidth","onLayout","bind","tabHeader","data","showskeleton","overflow","flexDirection","flexWrap","alignSelf","onPropertyChange","$new","$old","selectedIndex","renderWidget","paneicon","_background","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers"],"sources":["tabs.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, LayoutRectangle, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmTabsProps from './tabs.props';\nimport { DEFAULT_CLASS, WmTabsStyles } from './tabs.styles';\nimport WmTabpane from './tabpane/tabpane.component';\nimport WmTabheader from './tabheader/tabheader.component';\n\nexport class WmTabsState extends BaseComponentState<WmTabsProps> {\n tabsShown: boolean[] = [];\n selectedTabIndex: number = 0;\n}\n\nexport default class WmTabs extends BaseComponent<WmTabsProps, WmTabsState, WmTabsStyles> {\n public tabPanes = [] as WmTabpane[];\n private newIndex = 0;\n private tabLayout: LayoutRectangle = null as any;\n private tabPaneHeights: number[] = [];\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.selectedTabIndex,\n w = this.tabLayout?.width || 0,\n noOfTabs = this.tabPanes.length;\n return {\n lower: -1 * (activeTabIndex - (activeTabIndex === 0 ? 0 : 1)) * w,\n center: -1 * activeTabIndex * w,\n upper: -1 * (activeTabIndex + (activeTabIndex === noOfTabs - 1 ? 0 : 1)) * w\n };\n },\n onLower: (e) => {\n this.onChange(this.state.selectedTabIndex - 1);\n },\n onUpper: (e) => {\n this.onChange(this.state.selectedTabIndex + 1);\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmTabsProps) {\n super(props, DEFAULT_CLASS, new WmTabsProps(), new WmTabsState());\n }\n\n setTabLayout(event: LayoutChangeEvent) {\n this.tabLayout = event.nativeEvent.layout;\n this.forceUpdate(() => {\n this.goToTab();\n });\n }\n\n setTabPaneHeights(index: number, nativeEvent: LayoutChangeEvent) {\n this.tabPaneHeights[index] = nativeEvent.nativeEvent.layout?.height;\n if (index === this.state.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n setTabShown(tabIndex: number, callback: () => any) {\n if (!this.state.tabsShown[tabIndex]) {\n const tabsShown = [...this.state.tabsShown];\n tabsShown[tabIndex] = true;\n setTimeout(() => {\n this.updateState({\n tabsShown: tabsShown\n } as WmTabsState, callback);\n }, 300);\n } else {\n callback && callback();\n }\n }\n\n addTabPane(tabPane: WmTabpane) {\n const i = this.tabPanes.findIndex(t => t.props.name === tabPane.props.name);\n if (i >= 0) {\n this.tabPanes[i] = tabPane;\n } else {\n this.tabPanes[this.newIndex++] = tabPane;\n }\n }\n\n selectTabPane(tabPane: WmTabpane) {\n this.goToTab(this.tabPanes.indexOf(tabPane));\n }\n\n get selectedTabPane() {\n return this.tabPanes[this.state.selectedTabIndex];\n }\n\n goToTab(index = this.state.selectedTabIndex) {\n const position = -1 * index * (this.tabLayout?.width || 0);\n if(this.animationView) {\n this.animationView.setPosition(position)\n .then(() => this.onChange(index));\n } else {\n this.onChange(index);\n }\n }\n\n prev() {\n this.animationView?.goToLower();\n }\n\n next() {\n this.animationView?.goToLower();\n }\n\n onChange(newIndex: number) {\n if (newIndex < 0 || newIndex >= this.tabPanes.length) {\n return;\n }\n const oldIndex = this.state.selectedTabIndex;\n const deselectedTab = this.tabPanes[this.state.selectedTabIndex];\n this.newIndex = newIndex;\n deselectedTab?._onDeselect();\n this.updateState({\n selectedTabIndex: newIndex\n } as WmTabsState, () => {\n this.setTabShown(newIndex, () => {\n const selectedTab = this.tabPanes[newIndex];\n selectedTab?._onSelect();\n this.invokeEventCallback('onChange', [{}, this.proxy, newIndex, oldIndex]);\n });\n });\n }\n\n public renderSkeleton(props: WmTabsProps){\n const tabPanes = React.Children.toArray(this.props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: '', key: `tab-${p.props.title}-${i}`}));\n return(\n <View style={[this.styles.root, { borderBottomWidth: 0}]}>\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n styles={this.styles.tabHeader}\n data={headerData}\n showskeleton={this.props.showskeleton}\n selectedTabIndex={this.state.selectedTabIndex}\n ></WmTabheader>\n <View\n //{...this.panResponder.panHandlers}\n style={{\n width: '100%',\n //height: this.tabPaneHeights[this.state.selectedTabIndex],\n overflow: 'hidden'\n }} >\n <View style={{\n flexDirection: 'row',\n flexWrap: 'nowrap'\n }}>\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>);\n })}\n </View>\n </View>\n </View>\n\n )\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"defaultpaneindex\":\n const selectedIndex = $new || 0;\n const tabsShown: boolean[] = [];\n tabsShown[selectedIndex] = true;\n this.updateState({\n selectedTabIndex: selectedIndex,\n tabsShown: tabsShown\n } as WmTabsState);\n }\n }\n\n renderWidget(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: p.props.paneicon || '', key: `tab-${p.props.title}-${i}`}));\n return (\n <View style={this.styles.root}>\n {this._background}\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n id={this.getTestId('headers')}\n styles={this.styles.tabHeader}\n data={headerData}\n selectedTabIndex={this.state.selectedTabIndex}\n onIndexChange={this.goToTab.bind(this)}\n ></WmTabheader>\n <View\n style={[{\n width: '100%',\n flex: 1\n }, this.styles.root.height ?\n (isWebPreviewMode() ? {'overflow-x': 'hidden','overflow-y': 'auto'} as any : {overflow: 'scroll'})\n : {\n overflow: 'hidden',\n maxHeight: this.tabPaneHeights[this.state.selectedTabIndex],\n }, this.styles.tabContent]} >\n <SwipeAnimation.View\n enableGestures={props.enablegestures}\n style={{\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'flex-start'\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n >\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{\n width: '100%',\n height: this.styles.root.height ? undefined : 1000000,\n alignSelf: 'flex-start'}}>\n <View\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>\n </View>);\n })}\n </SwipeAnimation.View>\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -173,7 +173,7 @@ export default class WmWizard extends BaseComponent {
173
173
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
174
174
  style: this.styles.stepWrapper,
175
175
  onPress: this.updateCurrentStep.bind(this, index, false),
176
- disabled: index >= this.state.currentStep
176
+ disabled: index >= this.state.currentStep || !this.state.props.headernavigation
177
177
  }, /*#__PURE__*/React.createElement(View, {
178
178
  style: this.getStepStyle(index)
179
179
  }, index >= this.state.currentStep && !this.state.isDone && /*#__PURE__*/React.createElement(Text, {