@wavemaker/app-rn-runtime 12.0.0-next.141134 → 12.0.0-next.141138

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +1 -0
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/basic/custom/custom.component.js +1 -1
  4. app-rn-runtime/components/basic/custom/custom.component.js.map +1 -1
  5. app-rn-runtime/components/basic/lottie/lottie.component.js +3 -1
  6. app-rn-runtime/components/basic/lottie/lottie.component.js.map +1 -1
  7. app-rn-runtime/components/basic/search/search.component.js +1 -1
  8. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  9. app-rn-runtime/components/basic/search/search.props.js +1 -0
  10. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  11. app-rn-runtime/components/basic/skeleton/skeleton.component.js +2 -0
  12. app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
  13. app-rn-runtime/components/container/container.component.js +8 -1
  14. app-rn-runtime/components/container/container.component.js.map +1 -1
  15. app-rn-runtime/components/container/container.props.js +1 -0
  16. app-rn-runtime/components/container/container.props.js.map +1 -1
  17. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js +1 -0
  18. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  19. app-rn-runtime/components/container/tabs/tabs.component.js +3 -1
  20. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  21. app-rn-runtime/components/input/baseinput/baseinput.component.js +46 -10
  22. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  23. app-rn-runtime/components/input/basenumber/basenumber.component.js +16 -3
  24. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  25. app-rn-runtime/components/input/checkbox/checkbox.component.js +2 -2
  26. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  27. app-rn-runtime/components/input/checkbox/checkbox.styles.js +3 -1
  28. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  29. app-rn-runtime/components/input/currency/currency.component.js +3 -1
  30. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  31. app-rn-runtime/components/input/currency/currency.styles.js +6 -1
  32. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  33. app-rn-runtime/components/input/epoch/base-datetime.component.js +4 -3
  34. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  35. app-rn-runtime/components/input/number/number.component.js +3 -1
  36. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  37. app-rn-runtime/components/input/number/number.styles.js +3 -0
  38. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  39. app-rn-runtime/components/input/radioset/radioset.component.js +12 -7
  40. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  41. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  42. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  43. app-rn-runtime/components/input/radioset/radioset.styles.js +6 -0
  44. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  45. app-rn-runtime/components/input/text/text.component.js +5 -2
  46. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  47. app-rn-runtime/components/input/text/text.props.js +1 -0
  48. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  49. app-rn-runtime/components/input/text/text.styles.js +3 -0
  50. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  51. app-rn-runtime/components/input/textarea/textarea.component.js +3 -1
  52. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  53. app-rn-runtime/components/input/textarea/textarea.styles.js +3 -0
  54. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  55. app-rn-runtime/components/page/content/content.component.js +4 -19
  56. app-rn-runtime/components/page/content/content.component.js.map +1 -1
  57. app-rn-runtime/components/page/left-panel/left-panel.component.js +4 -1
  58. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  59. app-rn-runtime/components/page/page-content/page-content.component.js +43 -12
  60. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  61. app-rn-runtime/core/AppConfig.js.map +1 -1
  62. app-rn-runtime/core/base.component.js +31 -5
  63. app-rn-runtime/core/base.component.js.map +1 -1
  64. app-rn-runtime/core/components/textinput.component.js +9 -7
  65. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  66. app-rn-runtime/core/storage.service.js +15 -0
  67. app-rn-runtime/core/storage.service.js.map +1 -1
  68. app-rn-runtime/core/wm-component-tree.js +58 -0
  69. app-rn-runtime/core/wm-component-tree.js.map +1 -0
  70. app-rn-runtime/package.json +13 -6
  71. app-rn-runtime/runtime/App.js +17 -2
  72. app-rn-runtime/runtime/App.js.map +1 -1
  73. app-rn-runtime/runtime/App.navigator.js +1 -0
  74. app-rn-runtime/runtime/App.navigator.js.map +1 -1
  75. app-rn-runtime/runtime/base-fragment.component.js +18 -0
  76. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  77. app-rn-runtime/runtime/base-page.component.js +10 -0
  78. app-rn-runtime/runtime/base-page.component.js.map +1 -1
  79. app-rn-runtime/runtime/base-partial.component.js +3 -0
  80. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
  81. app-rn-runtime/runtime/navigator/drawer.navigator.js +19 -10
  82. app-rn-runtime/runtime/navigator/drawer.navigator.js.map +1 -1
  83. app-rn-runtime/styles/theme.js +5 -0
  84. app-rn-runtime/styles/theme.js.map +1 -1
  85. app-rn-runtime/styles/theme.variables.js +1 -1
  86. app-rn-runtime/styles/theme.variables.js.map +1 -1
  87. app-rn-runtime/variables/http.service.js +5 -1
  88. app-rn-runtime/variables/http.service.js.map +1 -1
  89. app-rn-runtime/variables/live-variable.js +14 -0
  90. app-rn-runtime/variables/live-variable.js.map +1 -1
@@ -8,6 +8,7 @@ export default class WmContainerProps extends PartialHostProps {
8
8
  _defineProperty(this, "animation", null);
9
9
  _defineProperty(this, "animationdelay", null);
10
10
  _defineProperty(this, "onLoad", void 0);
11
+ _defineProperty(this, "scrollable", false);
11
12
  }
12
13
  }
13
14
  //# sourceMappingURL=container.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PartialHostProps","WmContainerProps","constructor","args","_defineProperty"],"sources":["container.props.ts"],"sourcesContent":["import { PartialHostProps } from './partial-host.component';\n\nexport default class WmContainerProps extends PartialHostProps {\n animation?: string = null as any;\n animationdelay?: number = null as any;\n onLoad?: Function;\n}\n"],"mappings":";;;AAAA,SAASA,gBAAgB,QAAQ,0BAA0B;AAE3D,eAAe,MAAMC,gBAAgB,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACxC,IAAI;IAAAA,eAAA,yBACC,IAAI;IAAAA,eAAA;EAAA;AAEhC","ignoreList":[]}
1
+ {"version":3,"names":["PartialHostProps","WmContainerProps","constructor","args","_defineProperty"],"sources":["container.props.ts"],"sourcesContent":["import { PartialHostProps } from './partial-host.component';\n\nexport default class WmContainerProps extends PartialHostProps {\n animation?: string = null as any;\n animationdelay?: number = null as any;\n onLoad?: Function;\n scrollable?: Boolean = false as any;\n}\n"],"mappings":";;;AAAA,SAASA,gBAAgB,QAAQ,0BAA0B;AAE3D,eAAe,MAAMC,gBAAgB,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACxC,IAAI;IAAAA,eAAA,yBACC,IAAI;IAAAA,eAAA;IAAAA,eAAA,qBAEP,KAAK;EAAA;AAC9B","ignoreList":[]}
@@ -10,6 +10,7 @@ export default class WmTabpaneProps extends BaseProps {
10
10
  _defineProperty(this, "title", 'Tab Title');
11
11
  _defineProperty(this, "renderPartial", void 0);
12
12
  _defineProperty(this, "isPartialLoaded", false);
13
+ _defineProperty(this, "invokeVariables", true);
13
14
  }
14
15
  }
15
16
  //# sourceMappingURL=tabpane.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmTabpaneProps","constructor","args","_defineProperty"],"sources":["tabpane.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabpaneProps extends BaseProps {\n children?: any;\n paneicon?: string = null as any;\n title: string = 'Tab Title';\n renderPartial?: Function;\n isPartialLoaded? = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,mBAEhC,IAAI;IAAAA,eAAA,gBACR,WAAW;IAAAA,eAAA;IAAAA,eAAA,0BAER,KAAK;EAAA;AAC1B","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmTabpaneProps","constructor","args","_defineProperty"],"sources":["tabpane.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabpaneProps extends BaseProps {\n children?: any;\n paneicon?: string = null as any;\n title: string = 'Tab Title';\n renderPartial?: Function;\n isPartialLoaded? = false;\n invokeVariables = true;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,mBAEhC,IAAI;IAAAA,eAAA,gBACR,WAAW;IAAAA,eAAA;IAAAA,eAAA,0BAER,KAAK;IAAAA,eAAA,0BACN,IAAI;EAAA;AACxB","ignoreList":[]}
@@ -173,7 +173,9 @@ export default class WmTabs extends BaseComponent {
173
173
  alignSelf: 'flex-start'
174
174
  },
175
175
  onLayout: this.setTabPaneHeights.bind(this, i)
176
- }, p);
176
+ }, /*#__PURE__*/React.cloneElement(p, {
177
+ "invokeVariables": false
178
+ }));
177
179
  }))));
178
180
  }
179
181
  renderSkeleton(props) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","createSkeleton","WmTabsState","constructor","args","_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","paneId","newIndex","i","findIndex","t","push","removeTabPane","splice","selectTabPane","indexOf","selectedTabPane","_this$tabLayout2","position","animationView","setPosition","then","prev","_this$animationView","goToLower","next","_this$animationView2","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeletonContent","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","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","onPropertyChange","name","$new","$old","selectedIndex","getBackground","_showSkeleton","_background","renderWidget","paneicon","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers","undefined"],"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';\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 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 tabPane.paneId = `tabPane${this.newIndex++}`;\n const i = this.tabPanes.findIndex(t => t.paneId === tabPane.paneId);\n if (i >= 0) {\n this.tabPanes[i] = tabPane;\n } else {\n this.tabPanes.push(tabPane)\n }\n }\n\n removeTabPane(tabPane: WmTabpane) {\n const i = this.tabPanes.findIndex(t => t.paneId === tabPane.paneId);\n if (i >= 0) {\n this.tabPanes.splice(i, 1); \n this.newIndex--;\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 if (index < 0 || index >= this.tabPanes.length) {\n return;\n }\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 renderSkeletonContent(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 public renderSkeleton(props: WmTabsProps){\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 {this.renderSkeletonContent(props)}\n </View>)) \n }\n return this.renderSkeletonContent(props);\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 getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\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 const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View style={styles}>\n {this.getBackground()}\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() ? {'overflowX': 'hidden','overflowY': '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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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","createSkeleton","WmTabsState","constructor","args","_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","paneId","newIndex","i","findIndex","t","push","removeTabPane","splice","selectTabPane","indexOf","selectedTabPane","_this$tabLayout2","position","animationView","setPosition","then","prev","_this$animationView","goToLower","next","_this$animationView2","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeletonContent","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","cloneElement","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","onPropertyChange","name","$new","$old","selectedIndex","getBackground","_showSkeleton","_background","renderWidget","paneicon","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers","undefined"],"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';\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 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 tabPane.paneId = `tabPane${this.newIndex++}`;\n const i = this.tabPanes.findIndex(t => t.paneId === tabPane.paneId);\n if (i >= 0) {\n this.tabPanes[i] = tabPane;\n } else {\n this.tabPanes.push(tabPane)\n }\n }\n\n removeTabPane(tabPane: WmTabpane) {\n const i = this.tabPanes.findIndex(t => t.paneId === tabPane.paneId);\n if (i >= 0) {\n this.tabPanes.splice(i, 1); \n this.newIndex--;\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 if (index < 0 || index >= this.tabPanes.length) {\n return;\n }\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 renderSkeletonContent(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 {React.cloneElement(p, { \"invokeVariables\": false })}\n {/* {p} */}\n </View>);\n })}\n </View>\n </View>\n </View>\n )\n }\n\n public renderSkeleton(props: WmTabsProps){\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 {this.renderSkeletonContent(props)}\n </View>)) \n }\n return this.renderSkeletonContent(props);\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 getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\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 const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View style={styles}>\n {this.getBackground()}\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() ? {'overflowX': 'hidden','overflowY': '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":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAA6CC,IAAI,QAAQ,cAAc;AACvE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAO,KAAKC,cAAc,MAAM,oDAAoD;AACpF,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAE3D,OAAOC,WAAW,MAAM,iCAAiC;AAEzD,SAASC,cAAc,QAAQ,wEAAwE;AAEvG,OAAO,MAAMC,WAAW,SAASP,kBAAkB,CAAc;EAAAQ,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACxC,EAAE;IAAAA,eAAA,2BACE,CAAC;EAAA;AAC9B;AAEA,eAAe,MAAMC,MAAM,SAASZ,aAAa,CAAyC;EAyBxFS,WAAWA,CAACI,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAII,WAAW,CAAC,CAAC,CAAC;IAACG,eAAA,mBAzBlD,EAAE;IAAAA,eAAA,mBACD,CAAC;IAAAA,eAAA,oBACiB,IAAI;IAAAA,eAAA,yBACN,EAAE;IAAAA,eAAA,wBACe,IAAI;IAAAA,eAAA,4BAC5B;MAC1BG,MAAM,EAAGC,CAAC,IAAK;QAAA,IAAAC,eAAA;QACb,MAAMC,cAAc,GAAG,IAAI,CAACC,KAAK,CAACC,gBAAgB;UAC5CC,CAAC,GAAG,EAAAJ,eAAA,OAAI,CAACK,SAAS,cAAAL,eAAA,uBAAdA,eAAA,CAAgBM,KAAK,KAAI,CAAC;UAC9BC,QAAQ,GAAG,IAAI,CAACC,QAAQ,CAACC,MAAM;QACrC,OAAO;UACLC,KAAK,EAAE,CAAC,CAAC,IAAIT,cAAc,IAAIA,cAAc,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAGG,CAAC;UACjEO,MAAM,EAAE,CAAC,CAAC,GAAGV,cAAc,GAAGG,CAAC;UAC/BQ,KAAK,EAAG,CAAC,CAAC,IAAIX,cAAc,IAAIA,cAAc,KAAKM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAGH;QAC9E,CAAC;MACH,CAAC;MACDS,OAAO,EAAGd,CAAC,IAAK;QACd,IAAI,CAACe,QAAQ,CAAC,IAAI,CAACZ,KAAK,CAACC,gBAAgB,GAAG,CAAC,CAAC;MAChD,CAAC;MACDY,OAAO,EAAGhB,CAAC,IAAK;QACd,IAAI,CAACe,QAAQ,CAAC,IAAI,CAACZ,KAAK,CAACC,gBAAgB,GAAG,CAAC,CAAC;MAChD;IACF,CAAC;EAID;EAEAa,YAAYA,CAACC,KAAwB,EAAE;IACrC,IAAI,CAACZ,SAAS,GAAGY,KAAK,CAACC,WAAW,CAACC,MAAM;IACzC,IAAI,CAACC,WAAW,CAAC,MAAM;MACrB,IAAI,CAACC,OAAO,CAAC,CAAC;IAChB,CAAC,CAAC;EACJ;EAEAC,iBAAiBA,CAACC,KAAa,EAAEL,WAA8B,EAAE;IAAA,IAAAM,qBAAA;IAC/D,IAAI,CAACC,cAAc,CAACF,KAAK,CAAC,IAAAC,qBAAA,GAAGN,WAAW,CAACA,WAAW,CAACC,MAAM,cAAAK,qBAAA,uBAA9BA,qBAAA,CAAgCE,MAAM;IACnE,IAAIH,KAAK,KAAK,IAAI,CAACrB,KAAK,CAACC,gBAAgB,EAAE;MACzC,IAAI,CAACiB,WAAW,CAAC,CAAC;IACpB;EACF;EAEAO,WAAWA,CAACC,QAAgB,EAAEC,QAAmB,EAAE;IACjD,IAAI,CAAC,IAAI,CAAC3B,KAAK,CAAC4B,SAAS,CAACF,QAAQ,CAAC,EAAE;MACnC,MAAME,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC5B,KAAK,CAAC4B,SAAS,CAAC;MAC3CA,SAAS,CAACF,QAAQ,CAAC,GAAG,IAAI;MAC1BG,UAAU,CAAC,MAAM;QACf,IAAI,CAACC,WAAW,CAAC;UACfF,SAAS,EAAEA;QACb,CAAC,EAAiBD,QAAQ,CAAC;MAC7B,CAAC,EAAE,GAAG,CAAC;IACT,CAAC,MAAM;MACLA,QAAQ,IAAIA,QAAQ,CAAC,CAAC;IACxB;EACF;EAEAI,UAAUA,CAACC,OAAkB,EAAE;IAC7BA,OAAO,CAACC,MAAM,GAAG,UAAU,IAAI,CAACC,QAAQ,EAAE,EAAE;IAC5C,MAAMC,CAAC,GAAG,IAAI,CAAC7B,QAAQ,CAAC8B,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACJ,MAAM,KAAKD,OAAO,CAACC,MAAM,CAAC;IACnE,IAAIE,CAAC,IAAI,CAAC,EAAE;MACV,IAAI,CAAC7B,QAAQ,CAAC6B,CAAC,CAAC,GAAGH,OAAO;IAC5B,CAAC,MAAM;MACL,IAAI,CAAC1B,QAAQ,CAACgC,IAAI,CAACN,OAAO,CAAC;IAC7B;EACF;EAEAO,aAAaA,CAACP,OAAkB,EAAE;IAChC,MAAMG,CAAC,GAAG,IAAI,CAAC7B,QAAQ,CAAC8B,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACJ,MAAM,KAAKD,OAAO,CAACC,MAAM,CAAC;IACnE,IAAIE,CAAC,IAAI,CAAC,EAAE;MACV,IAAI,CAAC7B,QAAQ,CAACkC,MAAM,CAACL,CAAC,EAAE,CAAC,CAAC;MAC1B,IAAI,CAACD,QAAQ,EAAE;IACjB;EACF;EAEAO,aAAaA,CAACT,OAAkB,EAAE;IAChC,IAAI,CAACb,OAAO,CAAC,IAAI,CAACb,QAAQ,CAACoC,OAAO,CAACV,OAAO,CAAC,CAAC;EAC9C;EAEA,IAAIW,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACrC,QAAQ,CAAC,IAAI,CAACN,KAAK,CAACC,gBAAgB,CAAC;EACnD;EAEAkB,OAAOA,CAACE,KAAK,GAAG,IAAI,CAACrB,KAAK,CAACC,gBAAgB,EAAE;IAAA,IAAA2C,gBAAA;IAC3C,IAAIvB,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAI,IAAI,CAACf,QAAQ,CAACC,MAAM,EAAE;MAC9C;IACF;IACA,MAAMsC,QAAQ,GAAG,CAAC,CAAC,GAAGxB,KAAK,IAAI,EAAAuB,gBAAA,OAAI,CAACzC,SAAS,cAAAyC,gBAAA,uBAAdA,gBAAA,CAAgBxC,KAAK,KAAI,CAAC,CAAC;IAC1D,IAAG,IAAI,CAAC0C,aAAa,EAAE;MACrB,IAAI,CAACA,aAAa,CAACC,WAAW,CAACF,QAAQ,CAAC,CACvCG,IAAI,CAAC,MAAM,IAAI,CAACpC,QAAQ,CAACS,KAAK,CAAC,CAAC;IACnC,CAAC,MAAM;MACL,IAAI,CAACT,QAAQ,CAACS,KAAK,CAAC;IACtB;EACF;EAEA4B,IAAIA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IACL,CAAAA,mBAAA,OAAI,CAACJ,aAAa,cAAAI,mBAAA,eAAlBA,mBAAA,CAAoBC,SAAS,CAAC,CAAC;EACjC;EAEAC,IAAIA,CAAA,EAAG;IAAA,IAAAC,oBAAA;IACL,CAAAA,oBAAA,OAAI,CAACP,aAAa,cAAAO,oBAAA,eAAlBA,oBAAA,CAAoBF,SAAS,CAAC,CAAC;EACjC;EAEAvC,QAAQA,CAACsB,QAAgB,EAAE;IACzB,IAAIA,QAAQ,GAAG,CAAC,IAAIA,QAAQ,IAAI,IAAI,CAAC5B,QAAQ,CAACC,MAAM,EAAE;MACpD;IACF;IACA,MAAM+C,QAAQ,GAAG,IAAI,CAACtD,KAAK,CAACC,gBAAgB;IAC5C,MAAMsD,aAAa,GAAG,IAAI,CAACjD,QAAQ,CAAC,IAAI,CAACN,KAAK,CAACC,gBAAgB,CAAC;IAChE,IAAI,CAACiC,QAAQ,GAAGA,QAAQ;IACxBqB,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEC,WAAW,CAAC,CAAC;IAC5B,IAAI,CAAC1B,WAAW,CAAC;MACf7B,gBAAgB,EAAEiC;IACpB,CAAC,EAAiB,MAAM;MACtB,IAAI,CAACT,WAAW,CAACS,QAAQ,EAAE,MAAM;QAC/B,MAAMuB,WAAW,GAAG,IAAI,CAACnD,QAAQ,CAAC4B,QAAQ,CAAC;QAC3CuB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEC,SAAS,CAAC,CAAC;QACxB,IAAI,CAACC,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAACC,KAAK,EAAE1B,QAAQ,EAAEoB,QAAQ,CAAC,CAAC;MAC5E,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEOO,qBAAqBA,CAAClE,KAAkB,EAAE;IAC/C,MAAMW,QAAQ,GAAI1B,KAAK,CAACkF,QAAQ,CAACC,OAAO,CAAC,IAAI,CAACpE,KAAK,CAACqE,QAAQ,CAAC,CAC5DC,MAAM,CAAC,CAACC,IAAS,EAAE7C,KAAa,KAAK6C,IAAI,CAACvE,KAAK,CAACwE,IAAI,IAAI,KAAK,CAAC;IAC/D,MAAMC,UAAU,GAAG9D,QAAQ,CAAC+D,GAAG,CAAC,CAACC,CAAM,EAAEnC,CAAS,MAC/C;MAACoC,KAAK,EAAED,CAAC,CAAC3E,KAAK,CAAC4E,KAAK,IAAI,WAAW;MAAEC,IAAI,EAAE,EAAE;MAAEC,GAAG,EAAG,OAAOH,CAAC,CAAC3E,KAAK,CAAC4E,KAAK,IAAIpC,CAAC;IAAE,CAAC,CAAC,CAAC;IACvF,oBACEvD,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;MAAC8F,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAAEC,iBAAiB,EAAE;MAAC,CAAC;IAAE,gBACzDlG,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;MAACkG,QAAQ,EAAE,IAAI,CAACjE,YAAY,CAACkE,IAAI,CAAC,IAAI,CAAE;MAACL,KAAK,EAAE;QAACvE,KAAK,EAAE;MAAM;IAAE,CAAO,CAAC,eAC7ExB,KAAA,CAAA8F,aAAA,CAACtF,WAAW;MACVwF,MAAM,EAAE,IAAI,CAACA,MAAM,CAACK,SAAU;MAC9BC,IAAI,EAAEd,UAAW;MACjBe,YAAY,EAAE,IAAI,CAACxF,KAAK,CAACwF,YAAa;MACtClF,gBAAgB,EAAE,IAAI,CAACD,KAAK,CAACC;IAAiB,CAClC,CAAC,eACfrB,KAAA,CAAA8F,aAAA,CAAC7F;IACC;IAAA;MACA8F,KAAK,EAAE;QACLvE,KAAK,EAAE,MAAM;QACb;QACAgF,QAAQ,EAAE;MACZ;IAAE,gBACFxG,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;MAAC8F,KAAK,EAAE;QACXU,aAAa,EAAE,KAAK;QACpBC,QAAQ,EAAE;MACZ;IAAE,GACChF,QAAQ,CAAC+D,GAAG,CAAC,CAACC,CAAM,EAAEnC,CAAC,KAAK;MAC3B,oBACAvD,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;QACH4F,GAAG,EAAE,OAAOH,CAAC,CAAC3E,KAAK,CAAC4E,KAAK,IAAIpC,CAAC,EAAG;QACjCwC,KAAK,EAAE;UAACvE,KAAK,EAAE,MAAM;UAAEmF,SAAS,EAAE;QAAY,CAAE;QAChDR,QAAQ,EAAE,IAAI,CAAC3D,iBAAiB,CAAC4D,IAAI,CAAC,IAAI,EAAE7C,CAAC;MAAE,gBAE9CvD,KAAK,CAAC4G,YAAY,CAAClB,CAAC,EAAE;QAAE,iBAAiB,EAAE;MAAM,CAAC,CAE/C,CAAC;IACT,CAAC,CACG,CACF,CACF,CAAC;EAET;EAEOmB,cAAcA,CAAC9F,KAAkB,EAAC;IACvC,IAAG,CAACA,KAAK,CAAC+F,oBAAoB,EAAE;MAAA,IAAAC,WAAA;MAC9B,MAAMC,cAAgC,GAAG,EAAAD,WAAA,OAAI,CAAChG,KAAK,cAAAgG,WAAA,gBAAAA,WAAA,GAAVA,WAAA,CAAYf,MAAM,cAAAe,WAAA,uBAAlBA,WAAA,CAAoBE,QAAQ,KAAI;QAAEhB,IAAI,EAAE,CAAC,CAAC;QAAEiB,IAAI,EAAE,CAAC;MAAG,CAAqB;MACpH,OAAOzG,cAAc,CAAC,IAAI,CAAC0G,KAAK,EAAEH,cAAc,EAAE;QAChD,GAAG,IAAI,CAAChB,MAAM,CAACC;MACjB,CAAC,eAAGjG,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;QAAC8F,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;UAAEmB,OAAO,EAAE;QAAE,CAAC;MAAE,GACjD,IAAI,CAACnC,qBAAqB,CAAClE,KAAK,CAC7B,CAAE,CAAC;IACX;IACA,OAAO,IAAI,CAACkE,qBAAqB,CAAClE,KAAK,CAAC;EAC1C;EAEOsG,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAQ;IAChE,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,QAAOF,IAAI;MACT,KAAK,kBAAkB;QACrB,MAAMG,aAAa,GAAGF,IAAI,IAAI,CAAC;QAC/B,MAAMvE,SAAoB,GAAG,EAAE;QAC/BA,SAAS,CAACyE,aAAa,CAAC,GAAG,IAAI;QAC/B,IAAI,CAACvE,WAAW,CAAC;UACf7B,gBAAgB,EAAEoG,aAAa;UAC/BzE,SAAS,EAAEA;QACb,CAAgB,CAAC;IACrB;EACF;EAEA0E,aAAaA,CAAA,EAA6B;IACxC,OAAO,IAAI,CAACC,aAAa,GAAG,IAAI,GAAG,IAAI,CAACC,WAAW;EACrD;EAGAC,YAAYA,CAAC9G,KAAkB,EAAE;IAC/B,MAAMW,QAAQ,GAAI1B,KAAK,CAACkF,QAAQ,CAACC,OAAO,CAACpE,KAAK,CAACqE,QAAQ,CAAC,CACrDC,MAAM,CAAC,CAACC,IAAS,EAAE7C,KAAa,KAAK6C,IAAI,CAACvE,KAAK,CAACwE,IAAI,IAAI,KAAK,CAAC;IACjE,MAAMC,UAAU,GAAG9D,QAAQ,CAAC+D,GAAG,CAAC,CAACC,CAAM,EAAEnC,CAAS,MAC/C;MAACoC,KAAK,EAAED,CAAC,CAAC3E,KAAK,CAAC4E,KAAK,IAAI,WAAW;MAAGC,IAAI,EAAEF,CAAC,CAAC3E,KAAK,CAAC+G,QAAQ,IAAI,EAAE;MAAEjC,GAAG,EAAG,OAAOH,CAAC,CAAC3E,KAAK,CAAC4E,KAAK,IAAIpC,CAAC;IAAE,CAAC,CAAC,CAAC;IAC5G,MAAMyC,MAAM,GAAG,IAAI,CAAC2B,aAAa,GAAG;MAClC,GAAG,IAAI,CAAC3B,MAAM,CAACC,IAAI;MACnB,GAAG,IAAI,CAACD,MAAM,CAACiB,QAAQ,CAAChB;IAC1B,CAAC,GAAG,IAAI,CAACD,MAAM,CAACC,IAAI;IACpB,oBACEjG,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;MAAC8F,KAAK,EAAEC;IAAO,GACjB,IAAI,CAAC0B,aAAa,CAAC,CAAC,eACrB1H,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;MAACkG,QAAQ,EAAE,IAAI,CAACjE,YAAY,CAACkE,IAAI,CAAC,IAAI,CAAE;MAACL,KAAK,EAAE;QAACvE,KAAK,EAAE;MAAM;IAAE,CAAO,CAAC,eAC7ExB,KAAA,CAAA8F,aAAA,CAACtF,WAAW;MACVuH,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAC9BhC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACK,SAAU;MAC9BC,IAAI,EAAEd,UAAW;MACjBnE,gBAAgB,EAAE,IAAI,CAACD,KAAK,CAACC,gBAAiB;MAC9C4G,aAAa,EAAE,IAAI,CAAC1F,OAAO,CAAC6D,IAAI,CAAC,IAAI;IAAE,CAC3B,CAAC,eACfpG,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;MACH8F,KAAK,EAAE,CAAC;QACNvE,KAAK,EAAE,MAAM;QACb0G,IAAI,EAAE;MACR,CAAC,EAAE,IAAI,CAAClC,MAAM,CAACC,IAAI,CAACrD,MAAM,GACzBvC,gBAAgB,CAAC,CAAC,GAAG;QAAC,WAAW,EAAE,QAAQ;QAAC,WAAW,EAAE;MAAM,CAAC,GAAU;QAACmG,QAAQ,EAAE;MAAQ,CAAC,GAC7F;QACAA,QAAQ,EAAE,QAAQ;QAClB2B,SAAS,EAAE,IAAI,CAACxF,cAAc,CAAC,IAAI,CAACvB,KAAK,CAACC,gBAAgB;MAC5D,CAAC,EAAE,IAAI,CAAC2E,MAAM,CAACoC,UAAU;IAAE,gBAC3BpI,KAAA,CAAA8F,aAAA,CAAC1F,cAAc,CAACH,IAAI;MAClBoI,cAAc,EAAEtH,KAAK,CAACuH,cAAe;MACrCvC,KAAK,EAAE;QACLU,aAAa,EAAE,KAAK;QACpBC,QAAQ,EAAE,QAAQ;QAClB6B,UAAU,EAAE;MACd,CAAE;MACFC,SAAS,EAAC,YAAY;MACtBC,GAAG,EAAGC,CAAC,IAAK;QAAC,IAAI,CAACxE,aAAa,GAAGwE,CAAC;MAAA,CAAE;MACrCC,QAAQ,EAAI,IAAI,CAACC;IAAkB,GAElClH,QAAQ,CAAC+D,GAAG,CAAC,CAACC,CAAM,EAAEnC,CAAC,KAAK;MAC3B,oBACAvD,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;QACH4F,GAAG,EAAE,OAAOH,CAAC,CAAC3E,KAAK,CAAC4E,KAAK,IAAIpC,CAAC,EAAG;QACjCwC,KAAK,EAAE;UACLvE,KAAK,EAAE,MAAM;UACboB,MAAM,EAAE,IAAI,CAACoD,MAAM,CAACC,IAAI,CAACrD,MAAM,GAAIiG,SAAS,GAAG,OAAO;UACtDlC,SAAS,EAAE;QAAY;MAAE,gBAC3B3G,KAAA,CAAA8F,aAAA,CAAC7F,IAAI;QACH8F,KAAK,EAAE;UAACvE,KAAK,EAAE,MAAM;UAAEmF,SAAS,EAAE;QAAY,CAAE;QAChDR,QAAQ,EAAE,IAAI,CAAC3D,iBAAiB,CAAC4D,IAAI,CAAC,IAAI,EAAE7C,CAAC;MAAE,GAE9CmC,CACG,CACF,CAAC;IACT,CAAC,CACkB,CACjB,CACF,CAAC;EAEX;AACF","ignoreList":[]}
@@ -12,6 +12,7 @@ export class BaseInputState extends BaseComponentState {
12
12
  super(...args);
13
13
  _defineProperty(this, "keyboardType", 'default');
14
14
  _defineProperty(this, "isValid", true);
15
+ _defineProperty(this, "isInputFocused", false);
15
16
  _defineProperty(this, "textValue", '');
16
17
  _defineProperty(this, "isDefault", false);
17
18
  _defineProperty(this, "errorType", '');
@@ -24,6 +25,7 @@ export class BaseInputComponent extends BaseComponent {
24
25
  _defineProperty(this, "widgetRef", null);
25
26
  _defineProperty(this, "isTouched", false);
26
27
  _defineProperty(this, "cursor", 0);
28
+ _defineProperty(this, "timer", null);
27
29
  }
28
30
  focus() {
29
31
  var _this$widgetRef;
@@ -65,17 +67,40 @@ export class BaseInputComponent extends BaseComponent {
65
67
  onChange(event) {
66
68
  if (this.state.props.updateon === 'default') {
67
69
  this.updateDatavalue(event.target.value, event);
70
+ } else if (this.state.props.updateon === 'lazy') {
71
+ if (this.timer !== null) {
72
+ clearTimeout(this.timer);
73
+ this.timer = null;
74
+ }
75
+ this.timer = setTimeout(() => {
76
+ this.updateDatavalue(event.target.value, event);
77
+ }, 300);
68
78
  }
69
79
  }
70
80
  onChangeText(value) {
71
- this.updateState({
72
- textValue: value
73
- }, () => {
74
- if (this.state.props.updateon === 'default') {
75
- this.validate(value);
76
- this.updateDatavalue(value, null);
81
+ if (this.state.props.updateon === 'lazy') {
82
+ if (this.timer !== null) {
83
+ clearTimeout(this.timer);
84
+ this.timer = null;
77
85
  }
78
- });
86
+ this.timer = setTimeout(() => {
87
+ this.updateState({
88
+ textValue: value
89
+ }, () => {
90
+ this.validate(value);
91
+ this.updateDatavalue(value, null);
92
+ });
93
+ }, 300);
94
+ } else {
95
+ this.updateState({
96
+ textValue: value
97
+ }, () => {
98
+ if (this.state.props.updateon === 'default') {
99
+ this.validate(value);
100
+ this.updateDatavalue(value, null);
101
+ }
102
+ });
103
+ }
79
104
  }
80
105
  invokeChange(e) {
81
106
  if (Platform.OS === 'web') {
@@ -99,6 +124,11 @@ export class BaseInputComponent extends BaseComponent {
99
124
  new Promise(resolve => {
100
125
  if (props.hastwowaybinding) {
101
126
  this.setProp("datavalue", value);
127
+ this.updateState({
128
+ props: {
129
+ "datavalue": value
130
+ }
131
+ });
102
132
  resolve(true);
103
133
  } else {
104
134
  this.updateState({
@@ -117,7 +147,7 @@ export class BaseInputComponent extends BaseComponent {
117
147
  onBlur(event) {
118
148
  Injector.FOCUSED_ELEMENT.remove();
119
149
  this.isTouched = true;
120
- let newVal = this.state.textValue;
150
+ let newVal = this.state.textValue || '';
121
151
  let oldVal = this.state.props.datavalue || '';
122
152
  this.validate(newVal);
123
153
  if (newVal === '' || newVal == undefined) {
@@ -125,12 +155,15 @@ export class BaseInputComponent extends BaseComponent {
125
155
  this.props.triggerValidation && this.props.triggerValidation();
126
156
  }, 10);
127
157
  }
128
- if (this.state.props.updateon === 'blur') {
129
- if (oldVal !== newVal) {
158
+ if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
159
+ if (oldVal !== newVal && this.state.props.updateon === 'blur') {
130
160
  this.updateDatavalue(newVal, event, 'blur');
131
161
  } else {
132
162
  this.invokeEventCallback('onBlur', [event, this.proxy]);
133
163
  }
164
+ this.setState({
165
+ isInputFocused: false
166
+ });
134
167
  }
135
168
  }
136
169
  validate(value) {
@@ -149,6 +182,9 @@ export class BaseInputComponent extends BaseComponent {
149
182
  this.invokeEventCallback('onFocus', [event, this.proxy]);
150
183
  (_this$closestTappable = this.closestTappable) === null || _this$closestTappable === void 0 || _this$closestTappable.triggerTap();
151
184
  }, 250);
185
+ this.setState({
186
+ isInputFocused: true
187
+ });
152
188
  }
153
189
  onKeyPress(event) {
154
190
  this.invokeEventCallback('onKeypress', [event, this.proxy]);
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","setTimeout","triggerValidation","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n onChangeText(value: any) {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue;\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur') {\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ export class BaseNumberState extends BaseComponentState {
10
10
  constructor(...args) {
11
11
  super(...args);
12
12
  _defineProperty(this, "isValid", true);
13
+ _defineProperty(this, "isInputFocused", false);
13
14
  _defineProperty(this, "textValue", '');
14
15
  _defineProperty(this, "isDefault", false);
15
16
  _defineProperty(this, "errorType", '');
@@ -159,6 +160,11 @@ export class BaseNumberComponent extends BaseComponent {
159
160
  new Promise(resolve => {
160
161
  if (props.hastwowaybinding) {
161
162
  this.setProp("datavalue", value);
163
+ this.updateState({
164
+ props: {
165
+ "datavalue": value
166
+ }
167
+ });
162
168
  resolve(true);
163
169
  } else {
164
170
  this.updateState({
@@ -175,24 +181,31 @@ export class BaseNumberComponent extends BaseComponent {
175
181
  });
176
182
  }
177
183
  onBlur(event, isDisplayValuePresent) {
178
- let newVal = isDisplayValuePresent ? this.state.textValue : event.target.value || this.state.textValue;
184
+ const textVal = this.state.textValue || '';
185
+ let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;
179
186
  this.validate(newVal);
180
187
  if (newVal === '' || newVal == undefined) {
181
188
  setTimeout(() => {
182
189
  this.props.triggerValidation && this.props.triggerValidation();
183
190
  }, 10);
184
191
  }
185
- if (this.state.props.updateon === 'blur') {
192
+ if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
186
193
  let oldVal = this.state.props.datavalue || '';
187
- if (oldVal !== newVal) {
194
+ if (oldVal !== newVal && this.state.props.updateon === 'blur') {
188
195
  this.updateDatavalue(newVal, event, 'blur');
189
196
  } else {
190
197
  this.invokeEventCallback('onBlur', [event, this.proxy]);
191
198
  }
199
+ this.setState({
200
+ isInputFocused: false
201
+ });
192
202
  }
193
203
  }
194
204
  onFocus(event) {
195
205
  this.invokeEventCallback('onFocus', [event, this.proxy]);
206
+ this.setState({
207
+ isInputFocused: true
208
+ });
196
209
  }
197
210
 
198
211
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","newVal","undefined","setTimeout","triggerValidation","oldVal","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value == oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n let newVal = isDisplayValuePresent ? this.state.textValue : event.target.value || this.state.textValue;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (!isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (!isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","textVal","newVal","undefined","setTimeout","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value == oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (!isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (!isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -80,7 +80,7 @@ export default class WmCheckbox extends BaseComponent {
80
80
  }
81
81
  renderWidget(props) {
82
82
  return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction(), {
83
- style: this.styles.root,
83
+ style: [this.styles.root, this.state.isChecked ? this.styles.checkedItem : null],
84
84
  onPress: this.onPress.bind(this)
85
85
  }, getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {
86
86
  hint: props === null || props === void 0 ? void 0 : props.hint,
@@ -94,7 +94,7 @@ export default class WmCheckbox extends BaseComponent {
94
94
  disabled: props.readonly || props.disabled,
95
95
  id: this.getTestId('checkbox')
96
96
  }), /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(), {
97
- style: this.styles.text
97
+ style: [this.styles.text, this.state.isChecked ? this.styles.selectedLabel : null]
98
98
  }), props.caption));
99
99
  }
100
100
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","TouchableOpacity","BaseComponent","BaseComponentState","WmIcon","unStringify","validateField","WmCheckboxProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmCheckboxState","constructor","args","_defineProperty","WmCheckbox","props","setChecked","dataValue","checkedvalue","value","updateState","isChecked","onPropertyChange","name","$new","$old","state","datavalue","updateDatavalue","validate","validationObj","isValid","errorType","onPress","disabled","readonly","invokeEventCallback","proxy","oldValue","uncheckedvalue","onFieldChange","renderWidget","createElement","_extends","getTestPropsForAction","style","styles","root","bind","CHECKBOX","hint","checked","accessibilityRole","accessibilityLabel","caption","_background","iconclass","checkicon","uncheckicon","id","getTestId","getTestPropsForLabel","text"],"sources":["checkbox.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport {unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmCheckboxProps from './checkbox.props';\nimport { DEFAULT_CLASS, WmCheckboxStyles } from './checkbox.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmCheckboxState extends BaseComponentState<WmCheckboxProps> {\n isChecked: boolean = false;\n isValid: boolean = true;\n errorType = '';\n}\n\nexport default class WmCheckbox extends BaseComponent<WmCheckboxProps, WmCheckboxState, WmCheckboxStyles> {\n\n constructor(props: WmCheckboxProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxProps(), new WmCheckboxState());\n }\n\n setChecked(dataValue: any, checkedvalue: any) {\n const value = unStringify(dataValue) === unStringify(checkedvalue, true);\n this.updateState({ isChecked: value } as WmCheckboxState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'checkedvalue':\n this.setChecked(this.state.props.datavalue, $new);\n break;\n case 'datavalue':\n this.setChecked($new, this.state.props.checkedvalue);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxState);\n }\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmCheckboxState);\n }\n\n onPress() {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onFocus', [null, this.proxy]);\n this.invokeEventCallback('onTap', [null, this.proxy]);\n const oldValue = this.state.props.datavalue;\n const value = !this.state.isChecked;\n this.validate(value);\n this.updateState({ isChecked: value } as WmCheckboxState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n this.updateState({ props: { datavalue: dataValue } } as WmCheckboxState,\n () => {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n });\n }\n\n renderWidget(props: WmCheckboxProps) {\n return (\n <TouchableOpacity {...this.getTestPropsForAction()} style={this.styles.root} onPress={this.onPress.bind(this)} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {hint: props?.hint, checked: this.state.isChecked})} accessibilityRole='checkbox' accessibilityLabel={`Checkbox for ${props.caption}`}>\n {this._background}\n <WmIcon iconclass=\"wi wi-check\" styles={this.state.isChecked ? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('checkbox')}/>\n <Text {...this.getTestPropsForLabel()} style={this.styles.text}>{props.caption}</Text>\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","TouchableOpacity","BaseComponent","BaseComponentState","WmIcon","unStringify","validateField","WmCheckboxProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmCheckboxState","constructor","args","_defineProperty","WmCheckbox","props","setChecked","dataValue","checkedvalue","value","updateState","isChecked","onPropertyChange","name","$new","$old","state","datavalue","updateDatavalue","validate","validationObj","isValid","errorType","onPress","disabled","readonly","invokeEventCallback","proxy","oldValue","uncheckedvalue","onFieldChange","renderWidget","createElement","_extends","getTestPropsForAction","style","styles","root","checkedItem","bind","CHECKBOX","hint","checked","accessibilityRole","accessibilityLabel","caption","_background","iconclass","checkicon","uncheckicon","id","getTestId","getTestPropsForLabel","text","selectedLabel"],"sources":["checkbox.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport {unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmCheckboxProps from './checkbox.props';\nimport { DEFAULT_CLASS, WmCheckboxStyles } from './checkbox.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmCheckboxState extends BaseComponentState<WmCheckboxProps> {\n isChecked: boolean = false;\n isValid: boolean = true;\n errorType = '';\n}\n\nexport default class WmCheckbox extends BaseComponent<WmCheckboxProps, WmCheckboxState, WmCheckboxStyles> {\n\n constructor(props: WmCheckboxProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxProps(), new WmCheckboxState());\n }\n\n setChecked(dataValue: any, checkedvalue: any) {\n const value = unStringify(dataValue) === unStringify(checkedvalue, true);\n this.updateState({ isChecked: value } as WmCheckboxState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'checkedvalue':\n this.setChecked(this.state.props.datavalue, $new);\n break;\n case 'datavalue':\n this.setChecked($new, this.state.props.checkedvalue);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxState);\n }\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmCheckboxState);\n }\n\n onPress() {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onFocus', [null, this.proxy]);\n this.invokeEventCallback('onTap', [null, this.proxy]);\n const oldValue = this.state.props.datavalue;\n const value = !this.state.isChecked;\n this.validate(value);\n this.updateState({ isChecked: value } as WmCheckboxState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n this.updateState({ props: { datavalue: dataValue } } as WmCheckboxState,\n () => {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n });\n }\n\n renderWidget(props: WmCheckboxProps) {\n return (\n <TouchableOpacity {...this.getTestPropsForAction()} style={[this.styles.root, this.state.isChecked ? this.styles.checkedItem : null]} onPress={this.onPress.bind(this)} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {hint: props?.hint, checked: this.state.isChecked})} accessibilityRole='checkbox' accessibilityLabel={`Checkbox for ${props.caption}`}>\n {this._background}\n <WmIcon iconclass=\"wi wi-check\" styles={this.state.isChecked ? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('checkbox')}/>\n <Text {...this.getTestPropsForLabel()} style={[this.styles.text, this.state.isChecked ? this.styles.selectedLabel: null]}>{props.caption}</Text>\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -51,7 +51,9 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
51
51
  icon: {
52
52
  color: 'transparent'
53
53
  }
54
- }
54
+ },
55
+ checkedItem: {},
56
+ selectedLabel: {}
55
57
  });
56
58
  addStyle(DEFAULT_CLASS + '-disabled', '', {
57
59
  root: {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","alignContent","text","alignSelf","fontFamily","baseFont","fontSize","color","labelDefaultColor","marginLeft","skeleton","width","height","checkicon","borderRadius","backgroundColor","primaryColor","justifyContent","alignItems","borderColor","checkedBorderColor","icon","checkedIconColor","padding","uncheckicon","borderWidth","uncheckedBorderColor","uncheckedBgColor","opacity","checkedDisabledColor"],"sources":["checkbox.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\nexport type WmCheckboxStyles = BaseStyles & {\n skeleton: WmSkeletonStyles;\n checkicon: WmIconStyles;\n uncheckicon: WmIconStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-checkbox';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmCheckboxStyles = defineStyles({\n root: {\n flexDirection: 'row',\n alignContent: 'center',\n },\n text: {\n alignSelf: 'center',\n fontFamily: themeVariables.baseFont,\n fontSize: 16,\n color: themeVariables.labelDefaultColor,\n marginLeft: 8\n },\n skeleton: {\n root: {\n width: '100%',\n height: 16\n }\n } as any as WmSkeletonStyles,\n checkicon : {\n root: {\n width: 20,\n height: 20,\n borderRadius: 4,\n backgroundColor: themeVariables.primaryColor,\n justifyContent: 'center',\n alignItems: 'center',\n borderColor: themeVariables.checkedBorderColor,\n },\n text: {\n fontSize: 18,\n },\n icon : {\n color: themeVariables.checkedIconColor,\n padding: 0\n }\n } as WmIconStyles,\n uncheckicon : {\n root: {\n width: 20,\n height: 20,\n borderWidth: 2,\n borderRadius: 4,\n borderColor: themeVariables.uncheckedBorderColor,\n backgroundColor: themeVariables.uncheckedBgColor,\n },\n text: {},\n icon : {\n color: 'transparent',\n }\n } as WmIconStyles,\n });\n\n\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n opacity: 0.8\n },\n text : {\n color: themeVariables.checkedDisabledColor\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n });\n"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAUxF,OAAO,MAAMC,aAAa,GAAG,cAAc;AAC3CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA+B,GAAGL,YAAY,CAAC;IACjDM,IAAI,EAAE;MACJC,aAAa,EAAE,KAAK;MACpBC,YAAY,EAAE;IAChB,CAAC;IACDC,IAAI,EAAE;MACJC,SAAS,EAAE,QAAQ;MACnBC,UAAU,EAAER,cAAc,CAACS,QAAQ;MACnCC,QAAQ,EAAE,EAAE;MACZC,KAAK,EAAEX,cAAc,CAACY,iBAAiB;MACvCC,UAAU,EAAE;IACd,CAAC;IACDC,QAAQ,EAAE;MACRX,IAAI,EAAE;QACJY,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE;MACV;IACF,CAA4B;IAC5BC,SAAS,EAAG;MACVd,IAAI,EAAE;QACJY,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVE,YAAY,EAAE,CAAC;QACfC,eAAe,EAAEnB,cAAc,CAACoB,YAAY;QAC5CC,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE,QAAQ;QACpBC,WAAW,EAAEvB,cAAc,CAACwB;MAC9B,CAAC;MACDlB,IAAI,EAAE;QACJI,QAAQ,EAAE;MACZ,CAAC;MACDe,IAAI,EAAG;QACLd,KAAK,EAAEX,cAAc,CAAC0B,gBAAgB;QACtCC,OAAO,EAAE;MACX;IACJ,CAAiB;IACfC,WAAW,EAAG;MACZzB,IAAI,EAAE;QACJY,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVa,WAAW,EAAE,CAAC;QACdX,YAAY,EAAE,CAAC;QACfK,WAAW,EAAEvB,cAAc,CAAC8B,oBAAoB;QAChDX,eAAe,EAAEnB,cAAc,CAAC+B;MAClC,CAAC;MACDzB,IAAI,EAAE,CAAC,CAAC;MACRmB,IAAI,EAAG;QACLd,KAAK,EAAE;MACT;IACJ;EACA,CAAC,CAAC;EAGJV,QAAQ,CAACH,aAAa,GAAG,WAAW,EAAE,EAAE,EAAE;IACxCK,IAAI,EAAG;MACL6B,OAAO,EAAE;IACX,CAAC;IACD1B,IAAI,EAAG;MACLK,KAAK,EAAEX,cAAc,CAACiC;IACxB;EACF,CAAC,CAAC;EAEFhC,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC5C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","alignContent","text","alignSelf","fontFamily","baseFont","fontSize","color","labelDefaultColor","marginLeft","skeleton","width","height","checkicon","borderRadius","backgroundColor","primaryColor","justifyContent","alignItems","borderColor","checkedBorderColor","icon","checkedIconColor","padding","uncheckicon","borderWidth","uncheckedBorderColor","uncheckedBgColor","checkedItem","selectedLabel","opacity","checkedDisabledColor"],"sources":["checkbox.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\nexport type WmCheckboxStyles = BaseStyles & {\n skeleton: WmSkeletonStyles;\n checkicon: WmIconStyles;\n uncheckicon: WmIconStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-checkbox';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmCheckboxStyles = defineStyles({\n root: {\n flexDirection: 'row',\n alignContent: 'center',\n },\n text: {\n alignSelf: 'center',\n fontFamily: themeVariables.baseFont,\n fontSize: 16,\n color: themeVariables.labelDefaultColor,\n marginLeft: 8\n },\n skeleton: {\n root: {\n width: '100%',\n height: 16\n }\n } as any as WmSkeletonStyles,\n checkicon : {\n root: {\n width: 20,\n height: 20,\n borderRadius: 4,\n backgroundColor: themeVariables.primaryColor,\n justifyContent: 'center',\n alignItems: 'center',\n borderColor: themeVariables.checkedBorderColor,\n },\n text: {\n fontSize: 18,\n },\n icon : {\n color: themeVariables.checkedIconColor,\n padding: 0\n }\n } as WmIconStyles,\n uncheckicon : {\n root: {\n width: 20,\n height: 20,\n borderWidth: 2,\n borderRadius: 4,\n borderColor: themeVariables.uncheckedBorderColor,\n backgroundColor: themeVariables.uncheckedBgColor,\n },\n text: {},\n icon : {\n color: 'transparent',\n }\n } as WmIconStyles,\n checkedItem: {} as AllStyle,\n selectedLabel: {} as AllStyle,\n });\n\n\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n opacity: 0.8\n },\n text : {\n color: themeVariables.checkedDisabledColor\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n });\n"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAUxF,OAAO,MAAMC,aAAa,GAAG,cAAc;AAC3CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA+B,GAAGL,YAAY,CAAC;IACjDM,IAAI,EAAE;MACJC,aAAa,EAAE,KAAK;MACpBC,YAAY,EAAE;IAChB,CAAC;IACDC,IAAI,EAAE;MACJC,SAAS,EAAE,QAAQ;MACnBC,UAAU,EAAER,cAAc,CAACS,QAAQ;MACnCC,QAAQ,EAAE,EAAE;MACZC,KAAK,EAAEX,cAAc,CAACY,iBAAiB;MACvCC,UAAU,EAAE;IACd,CAAC;IACDC,QAAQ,EAAE;MACRX,IAAI,EAAE;QACJY,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE;MACV;IACF,CAA4B;IAC5BC,SAAS,EAAG;MACVd,IAAI,EAAE;QACJY,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVE,YAAY,EAAE,CAAC;QACfC,eAAe,EAAEnB,cAAc,CAACoB,YAAY;QAC5CC,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE,QAAQ;QACpBC,WAAW,EAAEvB,cAAc,CAACwB;MAC9B,CAAC;MACDlB,IAAI,EAAE;QACJI,QAAQ,EAAE;MACZ,CAAC;MACDe,IAAI,EAAG;QACLd,KAAK,EAAEX,cAAc,CAAC0B,gBAAgB;QACtCC,OAAO,EAAE;MACX;IACJ,CAAiB;IACfC,WAAW,EAAG;MACZzB,IAAI,EAAE;QACJY,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVa,WAAW,EAAE,CAAC;QACdX,YAAY,EAAE,CAAC;QACfK,WAAW,EAAEvB,cAAc,CAAC8B,oBAAoB;QAChDX,eAAe,EAAEnB,cAAc,CAAC+B;MAClC,CAAC;MACDzB,IAAI,EAAE,CAAC,CAAC;MACRmB,IAAI,EAAG;QACLd,KAAK,EAAE;MACT;IACJ,CAAiB;IACjBqB,WAAW,EAAE,CAAC,CAAa;IAC3BC,aAAa,EAAE,CAAC;EAChB,CAAC,CAAC;EAGJhC,QAAQ,CAACH,aAAa,GAAG,WAAW,EAAE,EAAE,EAAE;IACxCK,IAAI,EAAG;MACL+B,OAAO,EAAE;IACX,CAAC;IACD5B,IAAI,EAAG;MACLK,KAAK,EAAEX,cAAc,CAACmC;IACxB;EACF,CAAC,CAAC;EAEFlC,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC5C,CAAC,CAAC","ignoreList":[]}