@wavemaker/app-rn-runtime 11.7.0-next.42251 → 11.7.0-rc.5525

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. app-rn-runtime/components/basic/anchor/anchor.component.js +3 -1
  2. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  3. app-rn-runtime/components/basic/anchor/anchor.props.js +1 -0
  4. app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
  5. app-rn-runtime/components/basic/button/button.component.js +3 -1
  6. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  7. app-rn-runtime/components/basic/button/button.styles.js +2 -1
  8. app-rn-runtime/components/basic/button/button.styles.js.map +1 -1
  9. app-rn-runtime/components/basic/label/label.component.js +17 -9
  10. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  11. app-rn-runtime/components/basic/search/search.component.js +8 -2
  12. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  13. app-rn-runtime/components/basic/search/search.props.js +1 -0
  14. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  15. app-rn-runtime/components/chart/basechart.component.js +1 -0
  16. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  17. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +17 -10
  18. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  19. app-rn-runtime/components/container/container.component.js +1 -10
  20. app-rn-runtime/components/container/container.component.js.map +1 -1
  21. app-rn-runtime/components/container/container.props.js +0 -1
  22. app-rn-runtime/components/container/container.props.js.map +1 -1
  23. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +1 -1
  24. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  25. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +14 -1
  26. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  27. app-rn-runtime/components/container/tabs/tabs.component.js +3 -0
  28. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  29. app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
  30. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  31. app-rn-runtime/components/data/form/form-action/form-action.props.js +1 -0
  32. app-rn-runtime/components/data/form/form-action/form-action.props.js.map +1 -1
  33. app-rn-runtime/components/data/form/form-field/form-field.component.js +11 -0
  34. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  35. app-rn-runtime/components/data/form/form-field/form-field.props.js +3 -0
  36. app-rn-runtime/components/data/form/form-field/form-field.props.js.map +1 -1
  37. app-rn-runtime/components/data/form/form.component.js +26 -4
  38. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  39. app-rn-runtime/components/data/form/form.props.js +3 -0
  40. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  41. app-rn-runtime/components/data/list/list.component.js +42 -38
  42. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  43. app-rn-runtime/components/data/list/list.props.js +2 -0
  44. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  45. app-rn-runtime/components/data/list/list.styles.js +5 -1
  46. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  47. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +4 -0
  48. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  49. app-rn-runtime/components/input/baseinput/baseinput.component.js +1 -1
  50. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  51. app-rn-runtime/components/input/baseinput/baseinput.props.js +2 -0
  52. app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
  53. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +13 -4
  54. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  55. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  56. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  57. app-rn-runtime/components/input/radioset/radioset.component.js +49 -23
  58. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  59. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  60. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  61. app-rn-runtime/components/input/radioset/radioset.styles.js +35 -2
  62. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  63. app-rn-runtime/components/input/slider/slider.component.js +3 -2
  64. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  65. app-rn-runtime/components/input/text/text.component.js +4 -2
  66. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  67. app-rn-runtime/components/input/toggle/toggle.component.js +3 -2
  68. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  69. app-rn-runtime/components/navigation/popover/popover.component.js +4 -0
  70. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  71. app-rn-runtime/components/page/left-panel/left-panel.component.js +4 -0
  72. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  73. app-rn-runtime/core/accessibility.js +2 -2
  74. app-rn-runtime/core/accessibility.js.map +1 -1
  75. app-rn-runtime/core/base.component.js +12 -3
  76. app-rn-runtime/core/base.component.js.map +1 -1
  77. app-rn-runtime/core/components/textinput.component.js +147 -14
  78. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  79. app-rn-runtime/core/event-notifier.js +21 -7
  80. app-rn-runtime/core/event-notifier.js.map +1 -1
  81. app-rn-runtime/core/formatters.js +14 -1
  82. app-rn-runtime/core/formatters.js.map +1 -1
  83. app-rn-runtime/package.json +4 -3
  84. app-rn-runtime/runtime/App.js +5 -3
  85. app-rn-runtime/runtime/App.js.map +1 -1
  86. app-rn-runtime/runtime/base-fragment.component.js +5 -1
  87. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  88. app-rn-runtime/styles/background.component.js +15 -4
  89. app-rn-runtime/styles/background.component.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","_extends","style","root","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showPopover","showModal","popover","accessible","accessibilityViewIsModal","title","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: TapEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)} accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","_extends","style","root","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showPopover","showModal","popover","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: TapEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAA4BC,gBAAgB,EAAEC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,UAAU,QAAQ,cAAc;AACtG,SAASC,aAAa,EAAEC,kBAAkB,QAAmB,+CAA+C;AAG5G,SAASC,aAAa,QAAoC,8CAA8C;AACxG,OAAOC,QAAQ,MAAM,oEAAoE;AAEzF,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,WAAW,MAAM,qCAAqC;AAC7D,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAO,MAAMC,cAAc,SAASR,kBAAkB,CAAiB;EAAAS,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,mBACjD,KAAK;IAAAA,eAAA,uBACV,CAAC,CAAC;IAAAA,eAAA,mBACN,CAAC,CAAC;IAAAA,eAAA,0BACK,KAAK;EAAA;AACzB;AASA,eAAe,MAAMC,SAAS,SAASb,aAAa,CAAkD;EAIpGU,WAAWA,CAACI,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,cAAc,CAAC,CAAC,EAAE,IAAIK,cAAc,CAAC,CAAC,CAAC;IAACG,eAAA,eAH7D,IAAI;IAAAA,eAAA,0BAMUG,CAAoB,IAAK;MAClD,MAAMC,QAAQ,GAAG,CAAC,CAAoB;MACtC,IAAI,IAAI,CAACC,KAAK,CAACH,KAAK,CAACI,IAAI,KAAK,UAAU,EAAE;QACxC,MAAMC,gBAAgB,GAAGpB,UAAU,CAACqB,GAAG,CAAC,QAAQ,CAAC;QACjD,IAAI,CAACC,IAAI,CAACC,OAAO,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,KAAK;UACjD,IAAIC,YAAY,GAAG,IAAI,CAACZ,KAAK,CAACH,KAAK,CAACe,YAAmB;UACvD,IAAIA,YAAY,IAAInC,QAAQ,CAACmC,YAAY,CAAC,EAAE;YAC1CA,YAAY,GAAGC,QAAQ,CAACD,YAAY,CAAC;UACvC;UACAb,QAAQ,CAACe,IAAI,GAAGJ,EAAE;UAClB,IAAIA,EAAE,GAAGE,YAAY,GAAGV,gBAAgB,CAACM,KAAK,EAAE;YAC9CT,QAAQ,CAACe,IAAI,GAAGJ,EAAE,GAAGF,KAAK,GAAGI,YAAY;UAC3C;UACAb,QAAQ,CAACgB,GAAG,GAAGJ,EAAE,GAAGF,MAAM;UAC1B,IAAI,CAACO,WAAW,CAAC;YAACjB,QAAQ,EAAEA;UAAQ,CAAmB,CAAC;QAC1D,CAAC,CAAC;MACJ;IACF,CAAC;IAAAJ,eAAA,sBAEqBG,CAAY,IAAK;MACrC,IAAI,CAACmB,QAAQ,CAAC;QAAEC,QAAQ,EAAE;MAAK,CAAC,CAAC;MACjC,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAACrB,CAAC,EAAE,IAAI,CAAC,CAAC;MAC7CA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEsB,eAAe,CAAC,CAAC;IACtB,CAAC;IAAAzB,eAAA,eAEa,MAAM,CAAC,CAAC;EA3BtB;EA6BA0B,mBAAmBA,CAACC,OAAwB,EAAEC,MAAuB,EAAEC,YAA0B,EAAE;IACjG,MAAMC,CAAC,GAAG,IAAI,CAACzB,KAAK,CAAC0B,YAAY;IACjCD,CAAC,CAACE,UAAU,GAAGJ,MAAM,CAACK,KAAK;IAC3BH,CAAC,CAACI,YAAY,GAAG;MAAC,GAAGN,MAAM,CAACO,YAAY;MAAE,GAAG,IAAI,CAAC9B,KAAK,CAACD;IAAQ,CAAC;IACjE0B,CAAC,CAACH,OAAO,GAAGA,OAAO;IACnBG,CAAC,CAACM,OAAO,GAAG,IAAI,CAAC/B,KAAK,CAACH,KAAK,CAACmC,SAAS,KAAK,UAAU;IACrDP,CAAC,CAACQ,QAAQ,GAAG,IAAI;IACjBR,CAAC,CAACS,SAAS,GAAG,IAAI,CAAClC,KAAK,CAACH,KAAK,CAACsC,gBAAgB,IAAI,WAAW;IAC9DV,CAAC,CAACW,OAAO,GAAG,MAAM;MAChB,IAAI,CAACC,IAAI,GAAG,MAAM,CAAC,CAAC;MACpB,IAAI,CAACpB,QAAQ,CAAC;QAAEC,QAAQ,EAAE,KAAK;QAAEoB,eAAe,EAAE,KAAK;QAAEZ,YAAY,EAAE,CAAC;MAAkB,CAAC,CAAC;MAC5F,IAAI,CAACP,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAACkB,IAAI,GAAG,MAAMb,YAAY,CAACe,SAAS,CAAC,IAAI,CAACvC,KAAK,CAAC0B,YAAY,CAAC;IACjE,OAAOD,CAAC;EACV;EAEAe,YAAYA,CAAC3C,KAAqB,EAAE;IAClC,IAAI4C,UAAU,GAAG,CAAC,CAAQ;IAC1B,MAAMlB,MAAM,GAAG,IAAI,CAACmB,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAC,UAAU,GAAG/C,KAAK,CAACI,IAAI,CAAC,EAAE,IAAI,CAACsB,MAAM,CAAC;IAC/F,IAAI1B,KAAK,CAACI,IAAI,KAAK,UAAU,EAAE;MAC7B,IAAIJ,KAAK,CAACe,YAAY,EAAE;QACtB6B,UAAU,CAACjC,KAAK,GAAGX,KAAK,CAACe,YAAY;QACrCW,MAAM,CAACO,YAAY,CAACtB,KAAK,GAAGX,KAAK,CAACe,YAAY;MAChD;MACA,IAAIf,KAAK,CAACgD,aAAa,EAAE;QACvBJ,UAAU,CAAChC,MAAM,GAAGZ,KAAK,CAACgD,aAAa;MACzC;IACF;IACA,oBACErE,KAAA,CAAAsE,aAAA,CAAClE,IAAI,EAAAmE,QAAA;MAACC,KAAK,EAAEzB,MAAM,CAAC0B,IAAK;MAACC,QAAQ,EAAE,IAAI,CAACC,eAAgB;MAACC,GAAG,EAAEA,GAAG,IAAI;QAAC,IAAI,CAAChD,IAAI,GAAGgD,GAAW;MAAA;IAAE,GAAK7D,qBAAqB,CAACD,uBAAuB,CAAC+D,OAAO,EAAExD,KAAK,CAAC,GAC/J,IAAI,CAACyD,WAAW,eACjB9E,KAAA,CAAAsE,aAAA,CAAC5D,QAAQ;MACPqE,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAC9BtB,SAAS,EAAErC,KAAK,CAACqC,SAAU;MAC3BuB,OAAO,EAAE5D,KAAK,CAAC4D,OAAQ;MACvBC,UAAU,EAAE7D,KAAK,CAAC6D,UAAW;MAC7BC,SAAS,EAAE9D,KAAK,CAAC8D,SAAU;MAC3BC,YAAY,EAAE/D,KAAK,CAAC+D,YAAa;MACjCC,UAAU,EAAEhE,KAAK,CAACgE,UAAW;MAC7BC,SAAS,EAAEjE,KAAK,CAACiE,SAAU;MAC3BC,UAAU,EAAElE,KAAK,CAACkE,UAAW;MAC7BC,OAAO,EAAEnE,KAAK,CAACmE,OAAQ;MACvBzC,MAAM,EAAEA,MAAM,CAAC0C,IAAK;MACpBC,KAAK,EAAE,IAAI,CAACC;IAAY,CAAC,CAAC,EAC3B,IAAI,CAACnE,KAAK,CAACkB,QAAQ,gBAClB1C,KAAA,CAAAsE,aAAA,CAAC7D,aAAa,QACVuC,YAA0B,IAAK;MAC/BA,YAAY,CAAC4C,SAAS,CAAC,IAAI,CAAC/C,mBAAmB,eAC3C7C,KAAA,CAAAsE,aAAA,CAACjE,UAAU;QAACmE,KAAK,EAAE,IAAI,CAACN,KAAK,CAACC,UAAU,CAACpB,MAAM,CAAC8C,OAAO,EAAE5B,UAAU,CAAE;QACnE6B,QAAQ,EAAGC,KAAK,IAAK;UAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;QAAA,CAAE;QACtDE,mBAAmB,EAAE,EAAG;QACxBC,UAAU,EAAE7E,KAAK,CAACI,IAAI,KAAK,UAAW;QAAC0E,wBAAwB;MAAA,GAC9D9E,KAAK,CAAC+E,KAAK,gBAAIpG,KAAA,CAAAsE,aAAA,CAACnE,IAAI;QAACqE,KAAK,EAAEzB,MAAM,CAACqD;MAAM,GAAE/E,KAAK,CAAC+E,KAAY,CAAC,GAAG,IAAI,eACtEpG,KAAA,CAAAsE,aAAA,CAACpE,gBAAgB,EAAAqE,QAAA,KACb,IAAI,CAAC8B,qBAAqB,CAAC,cAAc,CAAC;QAC9CC,aAAa,EAAE,CAAE;QAACC,OAAO,EAAEA,CAAA,KAAM;UAC/BlF,KAAK,CAACmC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAACK,IAAI,CAAC,CAAC;QAC7C,CAAE;QAACW,KAAK,EAAEzB,MAAM,CAACyD,cAAc,CAAC/B;MAAK,iBACnCzE,KAAA,CAAAsE,aAAA,CAACzD,WAAW,EAAA0D,QAAA;QACVxB,MAAM,EAAEA,MAAM,CAACyD,cAAe;QAC9BC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAAC9D,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;MAAE,GACpDtB,KAAK,CAACqF,aAAa,GAAG;QACzBA,aAAa,EAAGA,CAACC,CAAM,EAAEF,MAAgB,KAAK;UAC5C,OAAOpF,KAAK,CAACqF,aAAa,IAAIrF,KAAK,CAACqF,aAAa,CAACrF,KAAK,EAAEoF,MAAM,CAAC;QAClE;MACF,CAAC,GAAG,CAAC,CAAC,GACHpF,KAAK,CAACqF,aAAa,GAAG,IAAI,GAAGrF,KAAK,CAACuF,QAC3B,CACG,CACR,CAAC,EACd7D,MAAM,EAAEC,YAAY,CAAC,CAAC;MACzB,OAAO,IAAI;IACb,CACa,CAAC,GAAI,IAClB,CAAC;EACX;AACF"}
@@ -34,6 +34,10 @@ export default class WmLeftPanel extends BaseComponent {
34
34
  }
35
35
  renderWidget(props) {
36
36
  return /*#__PURE__*/React.createElement(ScrollView, {
37
+ onScroll: event => {
38
+ this.notify('scroll', [event]);
39
+ },
40
+ scrollEventThrottle: 48,
37
41
  contentContainerStyle: this.styles.root
38
42
  }, this._background, this.renderContent(props));
39
43
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","arguments","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","contentContainerStyle","styles","root","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView contentContainerStyle={this.styles.root}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,gBAAgB,SAASJ,kBAAkB,CAAmB;EAAAK,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAAST,aAAa,CAAwD;EAE5GM,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,UAAU;MAACmB,qBAAqB,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GACjD,IAAI,CAACC,WAAW,EAChB,IAAI,CAACb,aAAa,CAACH,KAAK,CACf,CAAC;EAEjB;AACF"}
1
+ {"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","arguments","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","onScroll","event","notify","scrollEventThrottle","contentContainerStyle","styles","root","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n contentContainerStyle={this.styles.root}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,gBAAgB,SAASJ,kBAAkB,CAAmB;EAAAK,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAAST,aAAa,CAAwD;EAE5GM,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,UAAU;MACTmB,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,qBAAqB,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GACvC,IAAI,CAACC,WAAW,EAChB,IAAI,CAACjB,aAAa,CAACH,KAAK,CACf,CAAC;EAEjB;AACF"}
@@ -1,12 +1,12 @@
1
1
  import { AccessibilityInfo } from 'react-native';
2
- import { isAndroid, removeUndefinedKeys } from './utils';
2
+ import { isAndroid, isWebPreviewMode, removeUndefinedKeys } from './utils';
3
3
  let _isScreenReaderEnabled = false;
4
4
  AccessibilityInfo.addEventListener('screenReaderChanged', flag => {
5
5
  _isScreenReaderEnabled = flag;
6
6
  });
7
7
  export const isScreenReaderEnabled = () => _isScreenReaderEnabled;
8
8
  async function getScreenReaderStatus() {
9
- _isScreenReaderEnabled = await AccessibilityInfo.isScreenReaderEnabled();
9
+ _isScreenReaderEnabled = !isWebPreviewMode() && (await AccessibilityInfo.isScreenReaderEnabled());
10
10
  }
11
11
  getScreenReaderStatus();
12
12
  export let AccessibilityWidgetType = /*#__PURE__*/function (AccessibilityWidgetType) {
@@ -1 +1 @@
1
- {"version":3,"names":["AccessibilityInfo","isAndroid","removeUndefinedKeys","_isScreenReaderEnabled","addEventListener","flag","isScreenReaderEnabled","getScreenReaderStatus","AccessibilityWidgetType","getAccessibilityProps","widgetType","accessibilityProps","props","accessible","BUTTON","TEXT","NUMBER","TEXTAREA","SELECT","CURRENCY","TOGGLE","DATE","LABEL","ANCHOR","MESSAGE","SEARCH","PICTURE","ICON","NAV","POVOVER","WEBVIEW","LINECHART","VIDEO","accessibilityLabel","accessibilitylabel","caption","accessibilityHint","hint","accessibilityRole","accessibilityrole","accessibilityState","disabled","accessibilityLabelledBy","accessibilitylabelledby","accessibilityValue","min","minvalue","max","maxvalue","expanded","selected","CHIPS","RADIOSET","readonly","CHECKBOX","checked","SWITCH","PROGRESSBAR","PROGRESSCIRCLE","finalProps"],"sources":["accessibility.ts"],"sourcesContent":["import { AccessibilityInfo } from 'react-native';\nimport { isAndroid, removeUndefinedKeys } from './utils';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener(\n 'screenReaderChanged',\n flag => {\n _isScreenReaderEnabled = flag;\n },\n);\n\nexport const isScreenReaderEnabled = () => _isScreenReaderEnabled;\n\nasync function getScreenReaderStatus() {\n _isScreenReaderEnabled = await AccessibilityInfo.isScreenReaderEnabled();\n}\n\ngetScreenReaderStatus();\n\nexport enum AccessibilityWidgetType {\n BUTTON = 'button',\n PICTURE = 'picture',\n TEXT = 'text',\n NUMBER = 'number',\n TEXTAREA = 'textarea',\n SELECT = 'select',\n CHIPS = 'chips',\n CURRENCY = 'currency',\n RADIOSET = 'radioset',\n CHECKBOX = 'checkbox',\n TOGGLE = 'toggle',\n SWITCH = 'switch',\n DATE = 'date',\n VIDEO = 'video',\n PROGRESSBAR = 'progressbar',\n PROGRESSCIRCLE = 'progresscircle',\n LABEL = 'label',\n ANCHOR = 'anchor',\n MESSAGE = 'message',\n SEARCH = 'search',\n ICON = 'icon',\n NAV = 'nav',\n POVOVER = 'popover',\n WEBVIEW = 'webview',\n LINECHART = 'linechart',\n};\n\n \nexport type AccessibilityPropsType = {\n accessible?: boolean;\n accessibilityLabel?: string;\n accessibilityLabelledBy?: string;\n accessibilityHint?: string;\n accessibilityRole?: 'button' | 'link' | 'header' | 'search' | 'image' | 'imagebutton' | 'none' | 'summary' | 'text' | 'progressbar' | 'grid' | 'alert';\n accessibilityState?: {\n disabled?: boolean;\n selected?: boolean;\n checked?: boolean;\n expanded?: boolean;\n };\n accessibilityValue?: {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n };\n accessibilityActions?: Array<{\n name: string;\n label?: string;\n }>;\n accessibilityLiveRegion?: 'none' | 'polite' | 'assertive';\n accessibilityLanguage?: any;\n accessibilityElementsHidden?: boolean;\n accessibilityViewIsModal?: boolean;\n};\n \n\nexport const getAccessibilityProps = (widgetType: AccessibilityWidgetType, accessibilityProps: AccessibilityPropsType | any) => {\n let props: AccessibilityPropsType = {accessible: true};\n if (!_isScreenReaderEnabled) {\n return {};\n }\n switch (widgetType) {\n case AccessibilityWidgetType.BUTTON:\n case AccessibilityWidgetType.TEXT:\n case AccessibilityWidgetType.NUMBER:\n case AccessibilityWidgetType.TEXTAREA:\n case AccessibilityWidgetType.SELECT:\n case AccessibilityWidgetType.CURRENCY:\n case AccessibilityWidgetType.TOGGLE:\n case AccessibilityWidgetType.DATE:\n case AccessibilityWidgetType.LABEL:\n case AccessibilityWidgetType.ANCHOR:\n case AccessibilityWidgetType.MESSAGE: \n case AccessibilityWidgetType.SEARCH: \n case AccessibilityWidgetType.PICTURE: \n case AccessibilityWidgetType.ICON:\n case AccessibilityWidgetType.NAV:\n case AccessibilityWidgetType.POVOVER:\n case AccessibilityWidgetType.WEBVIEW:\n case AccessibilityWidgetType.LINECHART: \n case AccessibilityWidgetType.VIDEO: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption;\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n\n if (\n widgetType === AccessibilityWidgetType.BUTTON ||\n widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.TOGGLE ||\n widgetType === AccessibilityWidgetType.DATE\n ) {\n props.accessibilityState = { disabled: accessibilityProps.disabled };\n }\n if (\n (widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.CURRENCY ||\n widgetType === AccessibilityWidgetType.TOGGLE) &&\n isAndroid()\n ) {\n props.accessibilityLabelledBy =\n accessibilityProps.accessibilitylabelledby;\n }\n if (\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.CURRENCY\n ) {\n props.accessibilityValue = {\n min: accessibilityProps.minvalue,\n max: accessibilityProps.maxvalue,\n };\n }\n if (widgetType === AccessibilityWidgetType.SELECT) {\n props.accessibilityState = {\n ...props.accessibilityState,\n expanded: accessibilityProps.expanded,\n };\n }\n if (widgetType === AccessibilityWidgetType.TOGGLE) {\n props.accessibilityState = {\n ...props.accessibilityState,\n selected: accessibilityProps.selected,\n };\n }\n break;\n }\n\n case AccessibilityWidgetType.CHIPS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption;\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.RADIOSET: {\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOX: {\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n checked: accessibilityProps.checked,\n };\n break;\n }\n\n case AccessibilityWidgetType.SWITCH: {\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n case AccessibilityWidgetType.PROGRESSBAR:\n case AccessibilityWidgetType.PROGRESSCIRCLE: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n break;\n }\n default:\n break;\n }\n\n const finalProps = removeUndefinedKeys(props);\n // console.log('finalProps', finalProps)\n\n return finalProps;\n}\n "],"mappings":"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"}
1
+ {"version":3,"names":["AccessibilityInfo","isAndroid","isWebPreviewMode","removeUndefinedKeys","_isScreenReaderEnabled","addEventListener","flag","isScreenReaderEnabled","getScreenReaderStatus","AccessibilityWidgetType","getAccessibilityProps","widgetType","accessibilityProps","props","accessible","BUTTON","TEXT","NUMBER","TEXTAREA","SELECT","CURRENCY","TOGGLE","DATE","LABEL","ANCHOR","MESSAGE","SEARCH","PICTURE","ICON","NAV","POVOVER","WEBVIEW","LINECHART","VIDEO","accessibilityLabel","accessibilitylabel","caption","accessibilityHint","hint","accessibilityRole","accessibilityrole","accessibilityState","disabled","accessibilityLabelledBy","accessibilitylabelledby","accessibilityValue","min","minvalue","max","maxvalue","expanded","selected","CHIPS","RADIOSET","readonly","CHECKBOX","checked","SWITCH","PROGRESSBAR","PROGRESSCIRCLE","finalProps"],"sources":["accessibility.ts"],"sourcesContent":["import { AccessibilityInfo } from 'react-native';\nimport { isAndroid, isWebPreviewMode, removeUndefinedKeys } from './utils';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener(\n 'screenReaderChanged',\n flag => {\n _isScreenReaderEnabled = flag;\n },\n);\n\nexport const isScreenReaderEnabled = () => _isScreenReaderEnabled;\n\nasync function getScreenReaderStatus() {\n _isScreenReaderEnabled = (!isWebPreviewMode() && await AccessibilityInfo.isScreenReaderEnabled());\n}\n\ngetScreenReaderStatus();\n\nexport enum AccessibilityWidgetType {\n BUTTON = 'button',\n PICTURE = 'picture',\n TEXT = 'text',\n NUMBER = 'number',\n TEXTAREA = 'textarea',\n SELECT = 'select',\n CHIPS = 'chips',\n CURRENCY = 'currency',\n RADIOSET = 'radioset',\n CHECKBOX = 'checkbox',\n TOGGLE = 'toggle',\n SWITCH = 'switch',\n DATE = 'date',\n VIDEO = 'video',\n PROGRESSBAR = 'progressbar',\n PROGRESSCIRCLE = 'progresscircle',\n LABEL = 'label',\n ANCHOR = 'anchor',\n MESSAGE = 'message',\n SEARCH = 'search',\n ICON = 'icon',\n NAV = 'nav',\n POVOVER = 'popover',\n WEBVIEW = 'webview',\n LINECHART = 'linechart',\n};\n\n \nexport type AccessibilityPropsType = {\n accessible?: boolean;\n accessibilityLabel?: string;\n accessibilityLabelledBy?: string;\n accessibilityHint?: string;\n accessibilityRole?: 'button' | 'link' | 'header' | 'search' | 'image' | 'imagebutton' | 'none' | 'summary' | 'text' | 'progressbar' | 'grid' | 'alert';\n accessibilityState?: {\n disabled?: boolean;\n selected?: boolean;\n checked?: boolean;\n expanded?: boolean;\n };\n accessibilityValue?: {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n };\n accessibilityActions?: Array<{\n name: string;\n label?: string;\n }>;\n accessibilityLiveRegion?: 'none' | 'polite' | 'assertive';\n accessibilityLanguage?: any;\n accessibilityElementsHidden?: boolean;\n accessibilityViewIsModal?: boolean;\n};\n \n\nexport const getAccessibilityProps = (widgetType: AccessibilityWidgetType, accessibilityProps: AccessibilityPropsType | any) => {\n let props: AccessibilityPropsType = {accessible: true};\n if (!_isScreenReaderEnabled) {\n return {};\n }\n switch (widgetType) {\n case AccessibilityWidgetType.BUTTON:\n case AccessibilityWidgetType.TEXT:\n case AccessibilityWidgetType.NUMBER:\n case AccessibilityWidgetType.TEXTAREA:\n case AccessibilityWidgetType.SELECT:\n case AccessibilityWidgetType.CURRENCY:\n case AccessibilityWidgetType.TOGGLE:\n case AccessibilityWidgetType.DATE:\n case AccessibilityWidgetType.LABEL:\n case AccessibilityWidgetType.ANCHOR:\n case AccessibilityWidgetType.MESSAGE: \n case AccessibilityWidgetType.SEARCH: \n case AccessibilityWidgetType.PICTURE: \n case AccessibilityWidgetType.ICON:\n case AccessibilityWidgetType.NAV:\n case AccessibilityWidgetType.POVOVER:\n case AccessibilityWidgetType.WEBVIEW:\n case AccessibilityWidgetType.LINECHART: \n case AccessibilityWidgetType.VIDEO: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption;\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n\n if (\n widgetType === AccessibilityWidgetType.BUTTON ||\n widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.TOGGLE ||\n widgetType === AccessibilityWidgetType.DATE\n ) {\n props.accessibilityState = { disabled: accessibilityProps.disabled };\n }\n if (\n (widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.CURRENCY ||\n widgetType === AccessibilityWidgetType.TOGGLE) &&\n isAndroid()\n ) {\n props.accessibilityLabelledBy =\n accessibilityProps.accessibilitylabelledby;\n }\n if (\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.CURRENCY\n ) {\n props.accessibilityValue = {\n min: accessibilityProps.minvalue,\n max: accessibilityProps.maxvalue,\n };\n }\n if (widgetType === AccessibilityWidgetType.SELECT) {\n props.accessibilityState = {\n ...props.accessibilityState,\n expanded: accessibilityProps.expanded,\n };\n }\n if (widgetType === AccessibilityWidgetType.TOGGLE) {\n props.accessibilityState = {\n ...props.accessibilityState,\n selected: accessibilityProps.selected,\n };\n }\n break;\n }\n\n case AccessibilityWidgetType.CHIPS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption;\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.RADIOSET: {\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOX: {\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n checked: accessibilityProps.checked,\n };\n break;\n }\n\n case AccessibilityWidgetType.SWITCH: {\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n case AccessibilityWidgetType.PROGRESSBAR:\n case AccessibilityWidgetType.PROGRESSCIRCLE: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n break;\n }\n default:\n break;\n }\n\n const finalProps = removeUndefinedKeys(props);\n // console.log('finalProps', finalProps)\n\n return finalProps;\n}\n "],"mappings":"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"}
@@ -52,6 +52,7 @@ export class BaseProps extends StyleProps {
52
52
  _defineProperty(this, "listener", null);
53
53
  _defineProperty(this, "showindevice", null);
54
54
  _defineProperty(this, "showskeleton", false);
55
+ _defineProperty(this, "deferload", false);
55
56
  }
56
57
  }
57
58
  export class BaseComponent extends React.Component {
@@ -77,7 +78,9 @@ export class BaseComponent extends React.Component {
77
78
  _defineProperty(this, "loadAsset", null);
78
79
  _defineProperty(this, "i18nService", injector.I18nService.get());
79
80
  _defineProperty(this, "testIdPrefix", '');
81
+ _defineProperty(this, "_showView", true);
80
82
  this.state = defaultState || {};
83
+ this.notifier.name = this.props.name || '';
81
84
  this.propertyProvider = new PropsProvider(assign({
82
85
  show: true
83
86
  }, defaultProps), assign({}, markupProps), (name, $new, $old) => {
@@ -99,6 +102,8 @@ export class BaseComponent extends React.Component {
99
102
  });
100
103
  //@ts-ignore
101
104
  this.state.props = this.propertyProvider.get();
105
+ //@ts-ignore
106
+ this._showView = !this.props.deferload;
102
107
  this.propertyProvider.check();
103
108
  //@ts-ignore
104
109
  this.proxy = new Proxy(this, {
@@ -263,6 +268,9 @@ export class BaseComponent extends React.Component {
263
268
  }
264
269
  }
265
270
  }
271
+ showView() {
272
+ return this.isVisible();
273
+ }
266
274
  isVisible() {
267
275
  const show = this.state.props.show;
268
276
  return show !== false && show !== 'false' && show !== '0' && !isNil(show);
@@ -404,13 +412,14 @@ export class BaseComponent extends React.Component {
404
412
  }
405
413
  render() {
406
414
  const props = this.state.props;
407
- if (this.state.hide || !this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM) {
408
- return null;
409
- }
410
415
  this.isFixed = false;
411
416
  const selectedLocale = this.i18nService.getSelectedLocale();
412
417
  return this.getDependenciesFromContext(() => {
413
418
  WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);
419
+ this._showView = this._showView || this.showView();
420
+ if (this.state.hide || !this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM || !this._showView) {
421
+ return null;
422
+ }
414
423
  const classname = this.getStyleClassName();
415
424
  this.styles = this.theme.mergeStyle(this.getDefaultStyles(), {
416
425
  text: this.theme.getStyle('app-' + selectedLocale)
@@ -1 +1 @@
1
- {"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","arguments","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","propertyProvider","show","name","$new","$old","debug","props","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notifier","notify","args","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","parent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","View","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","loadAsset","Consumer","_this$parent","_showSkeleton","showskeleton","Provider","render","hideMode","DONOT_ADD_TO_DOM","selectedLocale","getSelectedLocale","info","disabled","showindevice","d","join","hasOwnProperty","backgroundColor","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, TextStyle, ViewStyle } from 'react-native';\nimport { AnimatableProperties } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProperties<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[]) {\n return this.notifier.notify(event, args);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProperties<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props:{}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show);\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n private setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.parent?._showSkeleton \n || !!this.state.props.showskeleton;\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n if (this.state.hide || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)) {\n return null;\n }\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.props.styles,\n {\n root: this.styleOverrides,\n text: this.styleOverrides\n });\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","arguments","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","args","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","parent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","View","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","loadAsset","Consumer","_this$parent","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","hasOwnProperty","backgroundColor","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, TextStyle, ViewStyle } from 'react-native';\nimport { AnimatableProperties } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProperties<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = false;\n deferload?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[]) {\n return this.notifier.notify(event, args);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProperties<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props:{}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show);\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n private setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.parent?._showSkeleton \n || !!this.state.props.showskeleton;\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.props.styles,\n {\n root: this.styleOverrides,\n text: this.styleOverrides\n });\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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"}
@@ -1,13 +1,82 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import React, { useCallback, useRef, useState } from 'react';
3
- import { Platform, TextInput } from 'react-native';
2
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
3
+ import { Animated, Platform, Text, TextInput, View } from 'react-native';
4
+ import { isArray } from 'lodash';
5
+ import IMask from 'imask';
4
6
  import { FloatingLabel } from './floatinglabel.component';
7
+ const WmCursor = /*#__PURE__*/React.memo(props => {
8
+ const opacityAnimation = useRef(new Animated.Value(0.5)).current;
9
+ const runAnimation = useCallback(() => {
10
+ Animated.timing(opacityAnimation, {
11
+ toValue: 0.2,
12
+ duration: 500,
13
+ useNativeDriver: true
14
+ }).start(() => {
15
+ Animated.timing(opacityAnimation, {
16
+ toValue: 0.6,
17
+ duration: 500,
18
+ useNativeDriver: true
19
+ }).start(runAnimation);
20
+ });
21
+ }, []);
22
+ useEffect(() => {
23
+ runAnimation();
24
+ }, []);
25
+ return /*#__PURE__*/React.createElement(Animated.View, {
26
+ style: {
27
+ backgroundColor: props.color,
28
+ width: 2,
29
+ marginHorizontal: 1,
30
+ height: props.height,
31
+ opacity: opacityAnimation
32
+ }
33
+ });
34
+ });
5
35
  export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
6
- var _props$value, _props$defaultValue;
7
36
  const [selectRange, setSelectRange] = useState(null);
8
37
  const [isInputFocused, setIsInputFocused] = useState(false);
38
+ const [iMask, setIMask] = useState(null);
39
+ const [displayCursor, setDisplayCursor] = useState(false);
9
40
  const value = useRef(props.value || '');
10
- const animateLabelText = props.floatingLabel && (Platform.OS === 'web' ? Number((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) > 0 : Number((_props$defaultValue = props.defaultValue) === null || _props$defaultValue === void 0 ? void 0 : _props$defaultValue.length) > 0);
41
+ const [x, forceUpdate] = useState(1);
42
+ const [displayValue, setDisplayValue] = useState('');
43
+ const element = useRef(null);
44
+ // iMask initialization
45
+ useEffect(() => {
46
+ const iMask = props.displayformat ? new IMask.MaskedPattern({
47
+ mask: props.displayformat,
48
+ skipInvalid: true,
49
+ lazy: false,
50
+ definitions: {
51
+ '9': /\d/,
52
+ 'A': /[a-zA-Z]/,
53
+ 'a': /[a-z]/,
54
+ '*': /\w/
55
+ }
56
+ }) : null;
57
+ if (iMask) {
58
+ iMask.typedValue = value;
59
+ setDisplayValue(iMask.displayValue);
60
+ setIMask(iMask);
61
+ }
62
+ }, [props.displayformat]);
63
+ // set default value
64
+ useEffect(() => {
65
+ const defaultValue = props.defaultValue || props.value || '';
66
+ if (!value.current) {
67
+ value.current = defaultValue;
68
+ onChangeText(defaultValue);
69
+ }
70
+ }, [props.defaultValue, props.value]);
71
+ // set cursor position in windows
72
+ useEffect(() => {
73
+ setTimeout(() => {
74
+ if (Platform.OS === 'web' && (props.displayformat || props.maskchar)) {
75
+ var _element$current;
76
+ element === null || element === void 0 || (_element$current = element.current) === null || _element$current === void 0 ? void 0 : _element$current.setSelectionRange(value.current.length, value.current.length);
77
+ }
78
+ }, 100);
79
+ }, [value.current, props]);
11
80
  const onSelectionChange = useCallback(e => {
12
81
  var _e$nativeEvent;
13
82
  if (Platform.OS !== 'android') {
@@ -22,39 +91,103 @@ export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
22
91
  } else if (selectRange && selectRange.end > 0) {
23
92
  setSelectRange(null);
24
93
  }
25
- }, [props.allowContentSelection, value.current]);
94
+ }, [props.allowContentSelection, value]);
95
+ // when text changes
26
96
  const onChangeText = useCallback(text => {
27
- value.current = text;
28
- }, []);
97
+ if (!(iMask || props.maskchar)) {
98
+ value.current = text;
99
+ props.onChangeText && props.onChangeText(text);
100
+ return;
101
+ }
102
+ let _value = value.current || '';
103
+ if (value.current.length - text.length > 0) {
104
+ _value = _value.substring(0, _value.length - (value.current.length - text.length));
105
+ } else if (text.length - value.current.length > 0) {
106
+ _value += text.slice(-1 * (text.length - value.current.length));
107
+ }
108
+ let formattedValue = _value;
109
+ if (props.maskchar) {
110
+ formattedValue = _value.replace(/./g, props.maskchar);
111
+ }
112
+ if (iMask) {
113
+ iMask.typedValue = _value;
114
+ formattedValue = iMask.displayValue;
115
+ }
116
+ if (formattedValue !== displayValue) {
117
+ value.current = _value;
118
+ props.onChangeText && props.onChangeText(_value);
119
+ }
120
+ forceUpdate(x + 1);
121
+ setDisplayValue(formattedValue);
122
+ }, [iMask, value, displayValue, props.onChangeText]);
123
+ const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
124
+ const opts = {};
125
+ opts[valueExpr] = value.current;
126
+ const textStyle = Object.assign({}, ...(isArray(props.style) ? props.style : [props.style]));
127
+ const hideInput = props.displayformat || props.maskchar;
29
128
  return /*#__PURE__*/React.createElement(React.Fragment, null, props.floatingLabel ? /*#__PURE__*/React.createElement(FloatingLabel, {
30
- moveUp: !!(value.current || isInputFocused),
129
+ moveUp: !!(value.current || isInputFocused || displayValue),
31
130
  label: props.floatingLabel ?? props.placeholder,
32
131
  style: {
33
132
  ...(props.floatingLabelStyle || []),
34
133
  ...(isInputFocused ? props.activeFloatingLabelStyle || {} : {})
35
134
  }
36
- }) : null, /*#__PURE__*/React.createElement(TextInput, _extends({}, props, {
37
- placeholder: props.floatingLabel ? '' : props.placeholder,
38
- style: props.style,
135
+ }) : null, /*#__PURE__*/React.createElement(TextInput, _extends({}, props, hideInput ? opts : {}, {
136
+ placeholder: props.floatingLabel || displayValue ? '' : props.placeholder,
137
+ style: [props.style, hideInput ? {
138
+ color: 'transparent',
139
+ backgroundColor: 'transparent',
140
+ borderColor: 'transparent',
141
+ zIndex: 1
142
+ } : {}],
39
143
  onFocus: e => {
40
144
  var _props$onFocus;
41
145
  (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, e);
42
146
  setIsInputFocused(true);
147
+ setDisplayCursor(true);
148
+ element.current = e.target;
43
149
  },
44
150
  onBlur: e => {
45
151
  var _props$onBlur;
46
152
  props === null || props === void 0 || (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 ? void 0 : _props$onBlur.call(props, e);
47
153
  setIsInputFocused(false);
154
+ setDisplayCursor(false);
48
155
  },
49
156
  ref: ref,
50
157
  selection: selectRange,
51
158
  onSelectionChange: onSelectionChange,
52
159
  caretHidden: !!(selectRange !== null && selectRange !== void 0 && selectRange.end),
53
160
  onChangeText: text => {
54
- props.onChangeText && props.onChangeText(text);
55
161
  onChangeText(text);
56
- },
162
+ }
163
+ }, hideInput ? {
164
+ selectionColor: 'transparent',
165
+ cursorColor: 'transparent',
166
+ onChange: () => {}
167
+ } : {}, {
57
168
  contextMenuHidden: !props.allowContentSelection
58
- })));
169
+ })), hideInput ? /*#__PURE__*/React.createElement(View, {
170
+ style: [props.style, {
171
+ display: 'flex',
172
+ flexDirection: 'row',
173
+ alignItems: 'center',
174
+ marginTop: -1 * (textStyle.height || textStyle.minHeight || 0) + (textStyle.marginTop || 0)
175
+ }]
176
+ }, /*#__PURE__*/React.createElement(Text, {
177
+ style: {
178
+ width: undefined,
179
+ backgroundColor: 'transparent',
180
+ borderColor: 'transparent',
181
+ padding: 0,
182
+ display: 'flex',
183
+ color: textStyle.color,
184
+ fontFamily: textStyle.fontFamily,
185
+ fontSize: textStyle.fontSize,
186
+ fontWeight: textStyle.fontWeight
187
+ }
188
+ }, displayValue), displayCursor && !props.displayformat ? /*#__PURE__*/React.createElement(WmCursor, {
189
+ color: textStyle.color || '#000000',
190
+ height: textStyle.fontSize || 14
191
+ }) : null) : null);
59
192
  });
60
193
  //# sourceMappingURL=textinput.component.js.map