@wavemaker/app-rn-runtime 11.7.1-next.NULL → 11.7.1-rc.162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. app-rn-runtime/components/advanced/webview/webview.props.js +1 -1
  2. app-rn-runtime/components/advanced/webview/webview.props.js.map +1 -1
  3. app-rn-runtime/components/basic/anchor/anchor.component.js +1 -0
  4. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  5. app-rn-runtime/components/basic/button/button.component.js +12 -5
  6. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  7. app-rn-runtime/components/basic/icon/icon.component.js +10 -3
  8. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  9. app-rn-runtime/components/basic/icon/icon.props.js +1 -1
  10. app-rn-runtime/components/basic/icon/icon.props.js.map +1 -1
  11. app-rn-runtime/components/basic/label/label.component.js +3 -2
  12. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  13. app-rn-runtime/components/basic/video/video.props.js +1 -1
  14. app-rn-runtime/components/basic/video/video.props.js.map +1 -1
  15. app-rn-runtime/components/chart/basechart.props.js +2 -1
  16. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  17. app-rn-runtime/components/container/accordion/accordion.component.js +3 -1
  18. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  19. app-rn-runtime/components/container/panel/panel.component.js +2 -1
  20. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  21. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +3 -1
  22. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  23. app-rn-runtime/components/container/wizard/wizard.component.js +2 -1
  24. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  25. app-rn-runtime/components/data/form/form.component.js +2 -1
  26. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  27. app-rn-runtime/components/data/list/list.component.js +4 -2
  28. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  29. app-rn-runtime/components/dialogs/dialog/dialog.component.js +1 -0
  30. app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
  31. app-rn-runtime/components/input/basedataset/basedataset.props.js +1 -1
  32. app-rn-runtime/components/input/basedataset/basedataset.props.js.map +1 -1
  33. app-rn-runtime/components/input/baseinput/baseinput.props.js +1 -1
  34. app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
  35. app-rn-runtime/components/input/basenumber/basenumber.props.js +1 -1
  36. app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
  37. app-rn-runtime/components/input/checkbox/checkbox.component.js +1 -1
  38. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  39. app-rn-runtime/components/input/checkbox/checkbox.props.js +1 -0
  40. app-rn-runtime/components/input/checkbox/checkbox.props.js.map +1 -1
  41. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +1 -1
  42. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  43. app-rn-runtime/components/input/epoch/base-datetime.component.js +10 -2
  44. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  45. app-rn-runtime/components/input/epoch/datetime/datetime.props.js +1 -1
  46. app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
  47. app-rn-runtime/components/input/select/select.component.js +5 -4
  48. app-rn-runtime/components/input/select/select.component.js.map +1 -1
  49. app-rn-runtime/components/input/slider/slider.component.js +5 -2
  50. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  51. app-rn-runtime/components/input/switch/switch.component.js +7 -4
  52. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  53. app-rn-runtime/components/input/switch/switch.styles.js +2 -1
  54. app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
  55. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +5 -1
  56. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  57. app-rn-runtime/components/navigation/popover/popover.props.js +1 -1
  58. app-rn-runtime/components/navigation/popover/popover.props.js.map +1 -1
  59. app-rn-runtime/core/accessibility.js +6 -0
  60. app-rn-runtime/core/accessibility.js.map +1 -1
  61. app-rn-runtime/core/tappable.component.js +1 -1
  62. app-rn-runtime/core/tappable.component.js.map +1 -1
  63. app-rn-runtime/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","BaseDatetimeState","constructor","arguments","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","length","undefined","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","onPropertyChange","name","$new","$old","invokeEventCallback","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","maxDateVal","maxdate","disabled","onDateChange","$event","validate","modes","shift","isFocused","showDatePicker","timestamp","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","getTestPropsForAction","onPress","getIcon","renderWidget","root","invalid","focused","_background","floatinglabel","moveUp","label","placeholder","floatingLabel","activeFloatingLabel","container","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","clearBtnClicked","calendarIcon"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && props.outputformat && props.datepattern) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, props.outputformat) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, props.datepattern)\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n this.updateState({\n props: {\n mindate: moment(minDateVal, props.datepattern).toDate()\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n this.updateState({\n props: {\n maxdate: moment(maxDateVal, props.datepattern).toDate()\n }\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n this.validate(date);\n this.modes.shift();\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: this.format(date, this.state.props.outputformat as string),\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState);\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n this.invokeEventCallback('onFocus', [null, this]);\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 BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.ReactNode, styles?: any) : React.ReactNode{\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n renderWidget(props: WmDatetimeProps) {\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (Platform.OS === 'android' && this.renderNativeWidget(props))\n || (Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n </View>\n ))\n );\n }\n}\n\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","BaseDatetimeState","constructor","arguments","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","length","undefined","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","onPropertyChange","name","$new","$old","invokeEventCallback","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","maxDateVal","maxdate","disabled","onDateChange","$event","validate","modes","shift","isFocused","showDatePicker","timestamp","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onPress","getIcon","renderWidget","root","invalid","focused","_background","floatinglabel","moveUp","label","placeholder","floatingLabel","activeFloatingLabel","container","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && props.outputformat && props.datepattern) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, props.outputformat) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, props.datepattern)\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n this.updateState({\n props: {\n mindate: moment(minDateVal, props.datepattern).toDate()\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n this.updateState({\n props: {\n maxdate: moment(maxDateVal, props.datepattern).toDate()\n }\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n this.validate(date);\n this.modes.shift();\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: this.format(date, this.state.props.outputformat as string),\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState);\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n this.invokeEventCallback('onFocus', [null, this]);\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 BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n renderWidget(props: WmDatetimeProps) {\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (Platform.OS === 'android' && this.renderNativeWidget(props))\n || (Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n </View>\n ))\n );\n }\n}\n\n"],"mappings":"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"}
@@ -20,7 +20,7 @@ export default class WmDatetimeProps extends BaseProps {
20
20
  _defineProperty(this, "floatinglabel", void 0);
21
21
  _defineProperty(this, "accessibilitylabel", undefined);
22
22
  _defineProperty(this, "hint", undefined);
23
- _defineProperty(this, "accessibilityrole", "none");
23
+ _defineProperty(this, "accessibilityrole", void 0);
24
24
  _defineProperty(this, "accessibilitylabelledby", undefined);
25
25
  }
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmDatetimeProps","constructor","arguments","_defineProperty","undefined"],"sources":["datetime.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmDatetimeProps extends BaseProps {\n mode = 'datetime';\n datavalue?: string | Date | number = undefined as any;\n datepattern?: string = '';\n outputformat?: string = 'timestamp';\n mindate?: string | Date = undefined as any;\n maxdate?: string | Date = undefined as any;\n placeholder? = 'Select date time';\n readonly? = false;\n onFieldChange?: any;\n locale: string = '';\n timestamp?: any;\n triggerValidation?: any;\n floatinglabel?: string;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"none\";\n accessibilitylabelledby?: string = undefined;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,eAAe,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,eAC9C,UAAU;IAAAA,eAAA,oBACoBC,SAAS;IAAAD,eAAA,sBACvB,EAAE;IAAAA,eAAA,uBACD,WAAW;IAAAA,eAAA,kBACTC,SAAS;IAAAD,eAAA,kBACTC,SAAS;IAAAD,eAAA,sBACpB,kBAAkB;IAAAA,eAAA,mBACrB,KAAK;IAAAA,eAAA;IAAAA,eAAA,iBAEA,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAIWC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;IAAAA,eAAA,kCACXC,SAAS;EAAA;AAC9C"}
1
+ {"version":3,"names":["BaseProps","WmDatetimeProps","constructor","arguments","_defineProperty","undefined"],"sources":["datetime.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmDatetimeProps extends BaseProps {\n mode = 'datetime';\n datavalue?: string | Date | number = undefined as any;\n datepattern?: string = '';\n outputformat?: string = 'timestamp';\n mindate?: string | Date = undefined as any;\n maxdate?: string | Date = undefined as any;\n placeholder? = 'Select date time';\n readonly? = false;\n onFieldChange?: any;\n locale: string = '';\n timestamp?: any;\n triggerValidation?: any;\n floatinglabel?: string;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n accessibilitylabelledby?: string = undefined;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,eAAe,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,eAC9C,UAAU;IAAAA,eAAA,oBACoBC,SAAS;IAAAD,eAAA,sBACvB,EAAE;IAAAA,eAAA,uBACD,WAAW;IAAAA,eAAA,kBACTC,SAAS;IAAAD,eAAA,kBACTC,SAAS;IAAAD,eAAA,sBACpB,kBAAkB;IAAAA,eAAA,mBACrB,KAAK;IAAAA,eAAA;IAAAA,eAAA,iBAEA,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAIWC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,kCAEUC,SAAS;EAAA;AAC9C"}
@@ -93,7 +93,7 @@ export default class WmSelect extends BaseDatasetComponent {
93
93
  * onLayout function is required.
94
94
  * https://github.com/naoufal/react-native-accordion/pull/19/files
95
95
  */
96
- React.createElement(View, _extends({}, getAccessibilityProps(AccessibilityWidgetType.SELECT, props), {
96
+ React.createElement(View, {
97
97
  style: [this.styles.root, this.state.isValid ? {} : this.styles.invalid, {
98
98
  backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor
99
99
  }],
@@ -101,19 +101,20 @@ export default class WmSelect extends BaseDatasetComponent {
101
101
  this.view = ref;
102
102
  },
103
103
  onLayout: () => {}
104
- }), /*#__PURE__*/React.createElement(Text, _extends({
104
+ }, /*#__PURE__*/React.createElement(Text, _extends({
105
105
  style: [this.styles.text, this.state.props.displayValue ? {} : {
106
106
  color: this.styles.placeholderText.color
107
107
  }],
108
108
  ref: ref => {
109
109
  this.widgetRef = ref;
110
110
  }
111
- }, this.getTestPropsForInput(), {
111
+ }, this.getTestPropsForInput(), getAccessibilityProps(AccessibilityWidgetType.SELECT, props), {
112
112
  onPress: this.onPress.bind(this)
113
113
  }), this.state.props.displayValue || props.placeholder || ' '), /*#__PURE__*/React.createElement(WmButton, {
114
114
  styles: this.styles.arrowButton,
115
115
  iconclass: 'wi wi-keyboard-arrow-down',
116
- onTap: this.onPress.bind(this)
116
+ onTap: this.onPress.bind(this),
117
+ hint: props === null || props === void 0 ? void 0 : props.hint
117
118
  }))
118
119
  );
119
120
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","ScrollView","Text","View","find","isEmpty","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","ThemeVariables","AccessibilityWidgetType","getAccessibilityProps","WmSelectState","constructor","arguments","_defineProperty","WmSelect","props","updateState","isOpened","onPress","event","state","disabled","showPopover","invokeEventCallback","proxy","onPropertyChange","name","$new","$old","isNaN","displayValue","placeholder","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","onClose","hide","isDefaultValue","validate","triggerValidation","setState","hideModal","focus","_this$widgetRef","widgetRef","renderSelect","createElement","_extends","SELECT","style","root","isValid","invalid","backgroundColor","disabledText","ref","view","onLayout","text","color","placeholderText","getTestPropsForInput","bind","arrowButton","iconclass","onTap","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","expanded","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","theme","mergeStyle","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","items","showModal","width","maxHeight","INSTANCE","maxModalHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView, Text, View } from 'react-native';\nimport { find, isEmpty } from 'lodash';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\n}\n\nexport default class WmSelect extends BaseDatasetComponent<WmSelectProps, WmSelectState, WmSelectStyles> {\n constructor(props: WmSelectProps) {\n super(props, DEFAULT_CLASS, new WmSelectProps(), new WmSelectState());\n }\n view: View = null as any;\n public widgetRef: Text | null = null;\n private isDefaultValue: boolean = true;\n\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened) {\n this.showPopover();\n }\n this.invokeEventCallback('onFocus', [event, this.proxy]);\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (isNaN($new) && isEmpty($new)) {\n this.updateState({\n props: {\n displayValue: this.state.props.placeholder || ''\n }\n } as WmSelectState);\n }\n }\n }\n\n prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent};\n o.content = content;\n o.isModal = true;\n o.centered = true;\n o.onClose = () => {\n this.hide = () => {};\n if (this.isDefaultValue && this.state.props.displayValue === '') {\n this.validate(this.state.props.displayValue);\n this.props.triggerValidation && this.props.triggerValidation();\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n renderSelect() {\n const props = this.state.props;\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n props\n )}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor}]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={() => {}}>\n <Text\n style={[this.styles.text,\n this.state.props.displayValue ? {} : {color: this.styles.placeholderText.color}]}\n ref={(ref) => {\n this.widgetRef = ref;\n }}\n {...this.getTestPropsForInput()}\n onPress={this.onPress.bind(this)}>\n {this.state.props.displayValue || props.placeholder || ' '}\n </Text>\n <WmButton\n styles={this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\n />\n </View>\n );\n }\n\n isSelected(item: any) {\n const val = this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield;\n return this.state.props.datavalue === val;\n }\n\n onItemSelect(item: any, isPlaceholder?: boolean) {\n this.isDefaultValue = false;\n this.onChange(isPlaceholder ? '' : this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield);\n this.hide();\n }\n\n renderSelectItem(item: any, index: number, isPlaceholder: boolean, isLast: boolean) {\n let selected = this.isSelected(item);\n return (\n <Tappable {...this.getTestPropsForAction(index + '')} onTap={this.onItemSelect.bind(this, item, isPlaceholder)} {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel(index + '')} style={[this.styles.selectItemText, {color: isPlaceholder ? this.styles.placeholderText.color : selected ? this.styles.selectedItemText.color : this.styles.selectItemText.color}]}>\n {isPlaceholder ? this.state.props.placeholder : (item.displayexp || item.displayfield)}\n </Text>\n <WmIcon id={this.getTestId('checkicon' + index)} iconclass='wi wi-check' styles={this.theme.mergeStyle(this.styles.checkIcon, {\n root: {\n opacity: !isPlaceholder && selected ? 1 : 0\n }\n })}></WmIcon>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultValue) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n selectedItem && this.updateState({\n props: {\n displayValue: selectedItem.displayexp || selectedItem.displayfield || ''\n }\n } as WmSelectState);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.updateDefaultQueryModel();\n }\n\n renderWidget(props: WmSelectProps) {\n return (\n <View>\n {this.renderSelect()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={{width: '100%', maxHeight: ThemeVariables.INSTANCE.maxModalHeight}} contentContainerStyle={this.styles.dropDownContent}>\n {props.placeholder ?\n <View key={props.name + '_placeholder'} style={this.styles.placeholderText}>\n {this.renderSelectItem({}, 0, true, false)}\n </View>\n : null}\n {items && items.map((item: any, index: number) => (\n <View key={item.key}>\n {this.renderSelectItem(item, index, false, index === items.length - 1)}\n </View>\n ))}\n </ScrollView>,\n this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","ScrollView","Text","View","find","isEmpty","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","ThemeVariables","AccessibilityWidgetType","getAccessibilityProps","WmSelectState","constructor","arguments","_defineProperty","WmSelect","props","updateState","isOpened","onPress","event","state","disabled","showPopover","invokeEventCallback","proxy","onPropertyChange","name","$new","$old","isNaN","displayValue","placeholder","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","onClose","hide","isDefaultValue","validate","triggerValidation","setState","hideModal","focus","_this$widgetRef","widgetRef","renderSelect","createElement","style","root","isValid","invalid","backgroundColor","disabledText","ref","view","onLayout","_extends","text","color","placeholderText","getTestPropsForInput","SELECT","bind","arrowButton","iconclass","onTap","hint","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","expanded","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","theme","mergeStyle","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","items","showModal","width","maxHeight","INSTANCE","maxModalHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView, Text, View } from 'react-native';\nimport { find, isEmpty } from 'lodash';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\n}\n\nexport default class WmSelect extends BaseDatasetComponent<WmSelectProps, WmSelectState, WmSelectStyles> {\n constructor(props: WmSelectProps) {\n super(props, DEFAULT_CLASS, new WmSelectProps(), new WmSelectState());\n }\n view: View = null as any;\n public widgetRef: Text | null = null;\n private isDefaultValue: boolean = true;\n\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened) {\n this.showPopover();\n }\n this.invokeEventCallback('onFocus', [event, this.proxy]);\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (isNaN($new) && isEmpty($new)) {\n this.updateState({\n props: {\n displayValue: this.state.props.placeholder || ''\n }\n } as WmSelectState);\n }\n }\n }\n\n prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent};\n o.content = content;\n o.isModal = true;\n o.centered = true;\n o.onClose = () => {\n this.hide = () => {};\n if (this.isDefaultValue && this.state.props.displayValue === '') {\n this.validate(this.state.props.displayValue);\n this.props.triggerValidation && this.props.triggerValidation();\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n renderSelect() {\n const props = this.state.props;\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor}]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={() => {}}>\n <Text\n style={[this.styles.text,\n this.state.props.displayValue ? {} : {color: this.styles.placeholderText.color}]}\n ref={(ref) => {\n this.widgetRef = ref;\n }}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n props\n )}\n onPress={this.onPress.bind(this)}>\n {this.state.props.displayValue || props.placeholder || ' '}\n </Text>\n <WmButton\n styles={this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\n hint={props?.hint}\n />\n </View>\n );\n }\n\n isSelected(item: any) {\n const val = this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield;\n return this.state.props.datavalue === val;\n }\n\n onItemSelect(item: any, isPlaceholder?: boolean) {\n this.isDefaultValue = false;\n this.onChange(isPlaceholder ? '' : this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield);\n this.hide();\n }\n\n renderSelectItem(item: any, index: number, isPlaceholder: boolean, isLast: boolean) {\n let selected = this.isSelected(item);\n return (\n <Tappable {...this.getTestPropsForAction(index + '')} onTap={this.onItemSelect.bind(this, item, isPlaceholder)} {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel(index + '')} style={[this.styles.selectItemText, {color: isPlaceholder ? this.styles.placeholderText.color : selected ? this.styles.selectedItemText.color : this.styles.selectItemText.color}]}>\n {isPlaceholder ? this.state.props.placeholder : (item.displayexp || item.displayfield)}\n </Text>\n <WmIcon id={this.getTestId('checkicon' + index)} iconclass='wi wi-check' styles={this.theme.mergeStyle(this.styles.checkIcon, {\n root: {\n opacity: !isPlaceholder && selected ? 1 : 0\n }\n })}></WmIcon>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultValue) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n selectedItem && this.updateState({\n props: {\n displayValue: selectedItem.displayexp || selectedItem.displayfield || ''\n }\n } as WmSelectState);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.updateDefaultQueryModel();\n }\n\n renderWidget(props: WmSelectProps) {\n return (\n <View>\n {this.renderSelect()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={{width: '100%', maxHeight: ThemeVariables.INSTANCE.maxModalHeight}} contentContainerStyle={this.styles.dropDownContent}>\n {props.placeholder ?\n <View key={props.name + '_placeholder'} style={this.styles.placeholderText}>\n {this.renderSelectItem({}, 0, true, false)}\n </View>\n : null}\n {items && items.map((item: any, index: number) => (\n <View key={item.key}>\n {this.renderSelectItem(item, index, false, index === items.length - 1)}\n </View>\n ))}\n </ScrollView>,\n this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -11,6 +11,7 @@ import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/cor
11
11
  import WmSliderProps from './slider.props';
12
12
  import { DEFAULT_CLASS } from './slider.styles';
13
13
  import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
14
+ import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
14
15
  export class WmSliderState extends BaseComponentState {
15
16
  constructor() {
16
17
  super(...arguments);
@@ -118,7 +119,7 @@ export default class WmSlider extends BaseComponent {
118
119
  activeOpacity: 1,
119
120
  style: this.styles.track,
120
121
  onLayout: this.onLayoutChange
121
- }, this.getTestProps()), /*#__PURE__*/React.createElement(Animated.View, {
122
+ }, this.getTestProps(), getAccessibilityProps(AccessibilityWidgetType.SLIDER, props)), /*#__PURE__*/React.createElement(Animated.View, {
122
123
  style: [this.styles.minimumTrack, {
123
124
  width: width,
124
125
  transform: [{
@@ -142,7 +143,9 @@ export default class WmSlider extends BaseComponent {
142
143
  transform: [{
143
144
  translateX: this.position
144
145
  }]
145
- }]
146
+ }],
147
+ accessible: true,
148
+ accessibilityLabel: 'Thumb'
146
149
  }, /*#__PURE__*/React.createElement(BackgroundComponent, {
147
150
  size: this.styles.thumb.backgroundSize || 'contain',
148
151
  position: this.styles.thumb.backgroundPosition,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","debounce","isNumber","isNil","Gesture","GestureDetector","BackgroundComponent","BaseComponent","BaseComponentState","WmSliderProps","DEFAULT_CLASS","isWebPreviewMode","WmSliderState","constructor","arguments","_defineProperty","WmSlider","props","Value","Pan","value","state","datavalue","updateState","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","width","height","computePosition","configureGesture","trackGesture","knobGesture","getValueFromGesture","positionX","factor","step","maxvalue","minvalue","Math","round","max","min","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","getDataValue","onPropertyChange","name","$new","$old","invokeEventCallback","setProp","_this$state$track","_this$position","position","setValue","isNaN","renderWidget","_this$state$track2","createElement","style","styles","root","_background","flexDirection","justifyContent","_extends","getTestProps","text","minimumValue","maximumValue","activeOpacity","onLayout","onLayoutChange","minimumTrack","transform","translateX","interpolate","inputRange","outputRange","maximumTrack","thumb","size","backgroundSize","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing } from 'react-native';\nimport { debounce, isNumber, isNil } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmSliderState extends BaseComponentState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\nexport default class WmSlider extends BaseComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.configureGesture(this.trackGesture);\n this.configureGesture(this.knobGesture);\n }\n\n getValueFromGesture(positionX: number) {\n if (this.state.track) {\n const factor = (positionX - this.state.track.left) / this.state.track.width;\n const props = this.state.props;\n const step = props.step || (props.maxvalue - props.minvalue) / 100;\n let value = Math.round((factor * props.maxvalue + props.minvalue) / step) * step;\n return Math.max(Math.min(props.maxvalue, value), props.minvalue);\n }\n return 0;\n };\n\n configureGesture(gesture: PanGesture) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onChange(value);\n this.forceUpdate();\n }\n })\n }\n\n getDataValue() {\n if (isNil(this.props.datavalue)) {\n return this.state.props.minvalue + (this.state.props.maxvalue - this.state.props.minvalue)/2;\n }\n return Math.min(Math.max(this.props.datavalue, this.state.props.minvalue), this.state.props.maxvalue);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n case 'maxvalue':\n case 'minvalue': \n this.setProp('datavalue', this.getDataValue() || 0)\n this.computePosition(this.state.props.datavalue);\n }\n }\n\n onChange = debounce((value: number) => {\n if (this.state.props.datavalue !== value) {\n this.updateState({\n props : {\n datavalue: value\n }\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange(\n 'datavalue',\n value,\n this.state.props.datavalue\n );\n }\n }, 200);\n\n computePosition(datavalue: number) {\n const props = this.state.props;\n const width = this.state.track?.width || 0;\n const value = ((datavalue - props.minvalue) / props.maxvalue) * (width);\n this.position?.setValue(isNaN(value) ? 0 : value);\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => this.computePosition(this.state.props.datavalue));\n }\n\n renderWidget(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={{flexDirection:'row', justifyContent:'space-between'}}>\n <Text {...this.getTestProps('min')} style={[this.styles.text, this.styles.minimumValue]}>{props.minvalue}</Text>\n <Text {...this.getTestProps('value')} style={[this.styles.text, this.styles.value]}>{props.datavalue}</Text>\n <Text {...this.getTestProps('max')} style={[this.styles.text, this.styles.maximumValue]}>{props.maxvalue}</Text>\n </View>\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1} \n style={this.styles.track}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}>\n <Animated.View style={[this.styles.minimumTrack, {\n width: width,\n transform: [{\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0]\n })\n }]\n }]}></Animated.View>\n <Animated.View style={[this.styles.maximumTrack, {\n width: width,\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </TouchableOpacity>\n </GestureDetector>\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View style={[this.styles.thumb, {\n transform: [{\n translateX: this.position\n }]\n }]}>\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize || 'contain'}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}> \n </BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","debounce","isNumber","isNil","Gesture","GestureDetector","BackgroundComponent","BaseComponent","BaseComponentState","WmSliderProps","DEFAULT_CLASS","isWebPreviewMode","AccessibilityWidgetType","getAccessibilityProps","WmSliderState","constructor","arguments","_defineProperty","WmSlider","props","Value","Pan","value","state","datavalue","updateState","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","width","height","computePosition","configureGesture","trackGesture","knobGesture","getValueFromGesture","positionX","factor","step","maxvalue","minvalue","Math","round","max","min","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","getDataValue","onPropertyChange","name","$new","$old","invokeEventCallback","setProp","_this$state$track","_this$position","position","setValue","isNaN","renderWidget","_this$state$track2","createElement","style","styles","root","_background","flexDirection","justifyContent","_extends","getTestProps","text","minimumValue","maximumValue","activeOpacity","onLayout","onLayoutChange","SLIDER","minimumTrack","transform","translateX","interpolate","inputRange","outputRange","maximumTrack","thumb","accessible","accessibilityLabel","size","backgroundSize","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing } from 'react-native';\nimport { debounce, isNumber, isNil } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmSliderState extends BaseComponentState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\nexport default class WmSlider extends BaseComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.configureGesture(this.trackGesture);\n this.configureGesture(this.knobGesture);\n }\n\n getValueFromGesture(positionX: number) {\n if (this.state.track) {\n const factor = (positionX - this.state.track.left) / this.state.track.width;\n const props = this.state.props;\n const step = props.step || (props.maxvalue - props.minvalue) / 100;\n let value = Math.round((factor * props.maxvalue + props.minvalue) / step) * step;\n return Math.max(Math.min(props.maxvalue, value), props.minvalue);\n }\n return 0;\n };\n\n configureGesture(gesture: PanGesture) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onChange(value);\n this.forceUpdate();\n }\n })\n }\n\n getDataValue() {\n if (isNil(this.props.datavalue)) {\n return this.state.props.minvalue + (this.state.props.maxvalue - this.state.props.minvalue)/2;\n }\n return Math.min(Math.max(this.props.datavalue, this.state.props.minvalue), this.state.props.maxvalue);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n case 'maxvalue':\n case 'minvalue': \n this.setProp('datavalue', this.getDataValue() || 0)\n this.computePosition(this.state.props.datavalue);\n }\n }\n\n onChange = debounce((value: number) => {\n if (this.state.props.datavalue !== value) {\n this.updateState({\n props : {\n datavalue: value\n }\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange(\n 'datavalue',\n value,\n this.state.props.datavalue\n );\n }\n }, 200);\n\n computePosition(datavalue: number) {\n const props = this.state.props;\n const width = this.state.track?.width || 0;\n const value = ((datavalue - props.minvalue) / props.maxvalue) * (width);\n this.position?.setValue(isNaN(value) ? 0 : value);\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => this.computePosition(this.state.props.datavalue));\n }\n\n renderWidget(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={{flexDirection:'row', justifyContent:'space-between'}}>\n <Text {...this.getTestProps('min')} style={[this.styles.text, this.styles.minimumValue]}>{props.minvalue}</Text>\n <Text {...this.getTestProps('value')} style={[this.styles.text, this.styles.value]}>{props.datavalue}</Text>\n <Text {...this.getTestProps('max')} style={[this.styles.text, this.styles.maximumValue]}>{props.maxvalue}</Text>\n </View>\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1} \n style={this.styles.track}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}\n {...getAccessibilityProps(AccessibilityWidgetType.SLIDER, props)}>\n <Animated.View style={[this.styles.minimumTrack, {\n width: width,\n transform: [{\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0]\n })\n }]\n }]}></Animated.View>\n <Animated.View style={[this.styles.maximumTrack, {\n width: width,\n transform: [{\n translateX: this.position\n }]\n }]}></Animated.View>\n </TouchableOpacity>\n </GestureDetector>\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View style={[this.styles.thumb, {\n transform: [{\n translateX: this.position\n }]\n }]}\n accessible={true}\n accessibilityLabel={'Thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize || 'contain'}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}> \n </BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -53,10 +53,13 @@ export default class WmSwitch extends BaseDatasetComponent {
53
53
  }
54
54
  const displayText = item.displayexp || item.displayfield;
55
55
  const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;
56
- return /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(index + ''), getAccessibilityProps(AccessibilityWidgetType.SWITCH, {
57
- ...this.state.props,
58
- selected: isSelected
59
- }), {
56
+ return /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(index + ''), {
57
+ accessibilityProps: {
58
+ ...getAccessibilityProps(AccessibilityWidgetType.SWITCH, {
59
+ selected: isSelected,
60
+ hint: props === null || props === void 0 ? void 0 : props.hint
61
+ })
62
+ },
60
63
  onTap: this.state.props.disabled ? undefined : this.onTap.bind(this, null, item),
61
64
  styles: [this.styles.button, this.styles[btnClass], isSelected ? this.styles.selectedButton : null],
62
65
  key: item.key
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","getTestPropsForAction","SWITCH","selected","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","getTestPropsForLabel","style","text","color","renderWidget","items","root","map"],"sources":["switch.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (value === oldVal) {\n return;\n }\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n return (\n <Tappable \n {...this.getTestPropsForAction(index + '')}\n {...getAccessibilityProps(AccessibilityWidgetType.SWITCH, {...this.state.props, selected: isSelected})}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon \n id={this.getTestId('icon' + index)}\n styles={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n <Text \n {...this.getTestPropsForLabel('' + index)}\n style={[this.styles.text, \n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n </View>)}\n </Tappable>\n );\n };\n\n renderWidget(props: WmSwitchProps) {\n const items = this.state.dataItems;\n return (<View style={this.styles.root}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","getTestPropsForAction","accessibilityProps","SWITCH","selected","hint","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","getTestPropsForLabel","style","text","color","renderWidget","items","root","map"],"sources":["switch.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (value === oldVal) {\n return;\n }\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n return (\n <Tappable \n {...this.getTestPropsForAction(index + '')}\n accessibilityProps={{...getAccessibilityProps(AccessibilityWidgetType.SWITCH, {selected: isSelected, hint: props?.hint})}}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon \n id={this.getTestId('icon' + index)}\n styles={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n <Text \n {...this.getTestPropsForLabel('' + index)}\n style={[this.styles.text, \n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n </View>)}\n </Tappable>\n );\n };\n\n renderWidget(props: WmSwitchProps) {\n const items = this.state.dataItems;\n return (<View style={this.styles.root}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -12,7 +12,8 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
12
12
  text: {
13
13
  fontWeight: '500',
14
14
  fontSize: 16,
15
- textTransform: 'capitalize'
15
+ textTransform: 'uppercase',
16
+ userSelect: 'none'
16
17
  },
17
18
  loadingIcon: {
18
19
  root: {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","padding","flexDirection","text","fontWeight","fontSize","textTransform","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","button","backgroundColor","switchBgColor","switchTextColor","minWidth","paddingLeft","paddingRight","borderTopLeftRadius","borderBottomLeftRadius","borderBottomRightRadius","borderTopRightRadius","borderColor","switchBorderColor","borderWidth","borderRightWidth","fontFamily","baseFont","alignItems","selectedButton","switchActiveTextColor","switchActiveBgColor","firstButton","lastButton","OS","borderLeftWidth"],"sources":["switch.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 {WmIconStyles} from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.styles\";\nimport { Platform } from 'react-native';\n\nexport type WmSwitchStyles = BaseStyles & {\n loadingIcon: WmIconStyles,\n button: AllStyle,\n selectedButton: AllStyle,\n firstButton: AllStyle,\n lastButton: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-switch';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSwitchStyles = defineStyles<WmSwitchStyles>({\n root: {\n minHeight: 24,\n padding: 4,\n flexDirection: 'row'\n },\n text: {\n fontWeight: '500',\n fontSize: 16,\n textTransform: 'capitalize'\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n button: {\n backgroundColor: themeVariables.switchBgColor,\n color: themeVariables.switchTextColor,\n fontSize: 14,\n minWidth: 64,\n minHeight: 40,\n paddingLeft: 16,\n paddingRight: 16,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n borderTopRightRadius: 0,\n borderColor: themeVariables.switchBorderColor,\n borderWidth: 1,\n borderRightWidth: 0,\n fontWeight: '500',\n fontFamily: themeVariables.baseFont,\n justifyContent: 'center',\n alignItems: 'center'\n } as AllStyle,\n selectedButton: {\n color: themeVariables.switchActiveTextColor,\n backgroundColor: themeVariables.switchActiveBgColor,\n borderColor: themeVariables.switchBorderColor\n } as AllStyle,\n firstButton: {\n borderTopLeftRadius: 18,\n borderBottomLeftRadius: 18,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n } as AllStyle,\n lastButton: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 18,\n borderBottomRightRadius: 18,\n borderRightWidth: 1\n } as AllStyle\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root: {}\n });\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n firstButton:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n borderRightWidth: 1,\n borderLeftWidth: 0\n } ,\n lastButton:{\n borderTopLeftRadius: 6,\n borderBottomLeftRadius: 6,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 0\n }\n }:{});\n addStyle(DEFAULT_CLASS + '1-rtl', '', Platform.OS==\"web\"?{\n firstButton:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 500,\n borderBottomRightRadius: 500,\n borderRightWidth: 0,\n borderLeftWidth: 1\n } ,\n lastButton:{\n flex: 1,\n borderTopLeftRadius: 500,\n borderBottomLeftRadius: 500,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 1\n }\n }:{});\n addStyle(DEFAULT_CLASS + '1', '', {\n firstButton: {\n borderTopLeftRadius: 500,\n borderBottomLeftRadius: 500,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n } as AllStyle,\n lastButton: {\n flex: 1,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 500,\n borderBottomRightRadius: 500\n } as AllStyle\n } as WmSwitchStyles);\n});"],"mappings":"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"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","padding","flexDirection","text","fontWeight","fontSize","textTransform","userSelect","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","button","backgroundColor","switchBgColor","switchTextColor","minWidth","paddingLeft","paddingRight","borderTopLeftRadius","borderBottomLeftRadius","borderBottomRightRadius","borderTopRightRadius","borderColor","switchBorderColor","borderWidth","borderRightWidth","fontFamily","baseFont","alignItems","selectedButton","switchActiveTextColor","switchActiveBgColor","firstButton","lastButton","OS","borderLeftWidth"],"sources":["switch.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 {WmIconStyles} from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.styles\";\nimport { Platform } from 'react-native';\n\nexport type WmSwitchStyles = BaseStyles & {\n loadingIcon: WmIconStyles,\n button: AllStyle,\n selectedButton: AllStyle,\n firstButton: AllStyle,\n lastButton: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-switch';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSwitchStyles = defineStyles<WmSwitchStyles>({\n root: {\n minHeight: 24,\n padding: 4,\n flexDirection: 'row'\n },\n text: {\n fontWeight: '500',\n fontSize: 16,\n textTransform: 'uppercase',\n userSelect: 'none',\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n button: {\n backgroundColor: themeVariables.switchBgColor,\n color: themeVariables.switchTextColor,\n fontSize: 14,\n minWidth: 64,\n minHeight: 40,\n paddingLeft: 16,\n paddingRight: 16,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n borderTopRightRadius: 0,\n borderColor: themeVariables.switchBorderColor,\n borderWidth: 1,\n borderRightWidth: 0,\n fontWeight: '500',\n fontFamily: themeVariables.baseFont,\n justifyContent: 'center',\n alignItems: 'center'\n } as AllStyle,\n selectedButton: {\n color: themeVariables.switchActiveTextColor,\n backgroundColor: themeVariables.switchActiveBgColor,\n borderColor: themeVariables.switchBorderColor\n } as AllStyle,\n firstButton: {\n borderTopLeftRadius: 18,\n borderBottomLeftRadius: 18,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n } as AllStyle,\n lastButton: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 18,\n borderBottomRightRadius: 18,\n borderRightWidth: 1\n } as AllStyle\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root: {}\n });\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n firstButton:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n borderRightWidth: 1,\n borderLeftWidth: 0\n } ,\n lastButton:{\n borderTopLeftRadius: 6,\n borderBottomLeftRadius: 6,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 0\n }\n }:{});\n addStyle(DEFAULT_CLASS + '1-rtl', '', Platform.OS==\"web\"?{\n firstButton:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 500,\n borderBottomRightRadius: 500,\n borderRightWidth: 0,\n borderLeftWidth: 1\n } ,\n lastButton:{\n flex: 1,\n borderTopLeftRadius: 500,\n borderBottomLeftRadius: 500,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 1\n }\n }:{});\n addStyle(DEFAULT_CLASS + '1', '', {\n firstButton: {\n borderTopLeftRadius: 500,\n borderBottomLeftRadius: 500,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n } as AllStyle,\n lastButton: {\n flex: 1,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 500,\n borderBottomRightRadius: 500\n } as AllStyle\n } as WmSwitchStyles);\n});"],"mappings":"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"}
@@ -40,11 +40,13 @@ export default class WmAppNavbar extends BaseComponent {
40
40
  style: this.styles.leftSection
41
41
  }, props.showDrawerButton && /*#__PURE__*/React.createElement(WmIcon, {
42
42
  id: this.getTestId('leftnavbtn'),
43
+ hint: 'menu',
43
44
  styles: this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon),
44
45
  iconclass: props.leftnavpaneliconclass,
45
46
  onTap: this.onDrawerBtnPress
46
47
  }), props.backbutton && /*#__PURE__*/React.createElement(WmIcon, {
47
48
  id: this.getTestId('backbtn'),
49
+ hint: 'back',
48
50
  styles: this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon),
49
51
  iconclass: props.backbuttoniconclass,
50
52
  caption: props.backbuttonlabel,
@@ -57,7 +59,9 @@ export default class WmAppNavbar extends BaseComponent {
57
59
  picturesource: props.imgsrc
58
60
  }), /*#__PURE__*/React.createElement(Text, _extends({
59
61
  style: this.styles.content
60
- }, this.getTestPropsForLabel('title')), props.title), badge), /*#__PURE__*/React.createElement(View, {
62
+ }, this.getTestPropsForLabel('title'), {
63
+ accessibilityRole: "header"
64
+ }), props.title), badge), /*#__PURE__*/React.createElement(View, {
61
65
  style: this.styles.rightSection
62
66
  }, props.searchbutton && /*#__PURE__*/React.createElement(WmIcon, {
63
67
  id: this.getTestId('searchbtn'),