@wavemaker/app-rn-runtime 11.14.3-rc.6401 → 11.15.0-2.247

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 (96) hide show
  1. package/actions/notification-action.js +1 -0
  2. package/actions/notification-action.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.component.js +58 -23
  4. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  5. package/components/basic/button/button.component.js +56 -7
  6. package/components/basic/button/button.component.js.map +1 -1
  7. package/components/basic/button/button.styles.js +0 -1
  8. package/components/basic/button/button.styles.js.map +1 -1
  9. package/components/basic/message/message.component.js +1 -1
  10. package/components/basic/message/message.component.js.map +1 -1
  11. package/components/basic/message/message.props.js +1 -0
  12. package/components/basic/message/message.props.js.map +1 -1
  13. package/components/basic/picture/picture.component.js +2 -2
  14. package/components/basic/picture/picture.component.js.map +1 -1
  15. package/components/chart/bar-chart/bar-chart.component.js +13 -2
  16. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  17. package/components/chart/bar-chart/bar-chart.props.js +1 -0
  18. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  19. package/components/container/accordion/accordion.component.js +10 -3
  20. package/components/container/accordion/accordion.component.js.map +1 -1
  21. package/components/container/accordion/accordion.styles.js +6 -2
  22. package/components/container/accordion/accordion.styles.js.map +1 -1
  23. package/components/container/container.component.js +132 -50
  24. package/components/container/container.component.js.map +1 -1
  25. package/components/container/container.props.js +1 -0
  26. package/components/container/container.props.js.map +1 -1
  27. package/components/container/panel/panel.component.js +8 -1
  28. package/components/container/panel/panel.component.js.map +1 -1
  29. package/components/container/panel/panel.props.js +2 -0
  30. package/components/container/panel/panel.props.js.map +1 -1
  31. package/components/container/tile/tile.component.js +3 -0
  32. package/components/container/tile/tile.component.js.map +1 -1
  33. package/components/container/wizard/wizard.component.js +1 -1
  34. package/components/container/wizard/wizard.component.js.map +1 -1
  35. package/components/container/wizard/wizard.props.js +1 -0
  36. package/components/container/wizard/wizard.props.js.map +1 -1
  37. package/components/container/wizard/wizard.styles.js +0 -13
  38. package/components/container/wizard/wizard.styles.js.map +1 -1
  39. package/components/data/form/form-body/form-body.component.js +2 -1
  40. package/components/data/form/form-body/form-body.component.js.map +1 -1
  41. package/components/data/form/form-footer/form-footer.component.js +2 -1
  42. package/components/data/form/form-footer/form-footer.component.js.map +1 -1
  43. package/components/input/chips/chips.component.js +2 -2
  44. package/components/input/chips/chips.component.js.map +1 -1
  45. package/components/input/chips/chips.styles.js +1 -0
  46. package/components/input/chips/chips.styles.js.map +1 -1
  47. package/components/input/currency/currency.component.js +3 -1
  48. package/components/input/currency/currency.component.js.map +1 -1
  49. package/components/input/epoch/base-datetime.component.js +3 -1
  50. package/components/input/epoch/base-datetime.component.js.map +1 -1
  51. package/components/input/number/number.component.js +2 -1
  52. package/components/input/number/number.component.js.map +1 -1
  53. package/components/input/select/select.component.js +76 -35
  54. package/components/input/select/select.component.js.map +1 -1
  55. package/components/input/text/text.component.js +2 -1
  56. package/components/input/text/text.component.js.map +1 -1
  57. package/components/input/textarea/textarea.component.js +2 -1
  58. package/components/input/textarea/textarea.component.js.map +1 -1
  59. package/components/input/toggle/toggle.component.js +12 -4
  60. package/components/input/toggle/toggle.component.js.map +1 -1
  61. package/components/input/toggle/toggle.props.js +5 -0
  62. package/components/input/toggle/toggle.props.js.map +1 -1
  63. package/components/navigation/popover/popover.component.js +5 -1
  64. package/components/navigation/popover/popover.component.js.map +1 -1
  65. package/core/advanced-promise-rejection-tracker.js +208 -0
  66. package/core/advanced-promise-rejection-tracker.js.map +1 -0
  67. package/core/base.component.js +8 -3
  68. package/core/base.component.js.map +1 -1
  69. package/core/components/error-fallback/error-fallback.component.js +50 -18
  70. package/core/components/error-fallback/error-fallback.component.js.map +1 -1
  71. package/core/components/error-fallback/error-fallback.styles.js +4 -1
  72. package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
  73. package/core/error-boundary.component.js +17 -1
  74. package/core/error-boundary.component.js.map +1 -1
  75. package/core/fixed-view.component.js +19 -2
  76. package/core/fixed-view.component.js.map +1 -1
  77. package/core/global-error-handler.service.js +103 -0
  78. package/core/global-error-handler.service.js.map +1 -0
  79. package/core/tappable.component.js +7 -4
  80. package/core/tappable.component.js.map +1 -1
  81. package/core/toast.service.js.map +1 -1
  82. package/npm-shrinkwrap.json +802 -712
  83. package/package-lock.json +802 -712
  84. package/package.json +2 -2
  85. package/runtime/App.js +124 -13
  86. package/runtime/App.js.map +1 -1
  87. package/runtime/base-page.component.js +11 -2
  88. package/runtime/base-page.component.js.map +1 -1
  89. package/runtime/navigator/drawer.navigator.js +1 -0
  90. package/runtime/navigator/drawer.navigator.js.map +1 -1
  91. package/runtime/services/device/camera-service.js +31 -20
  92. package/runtime/services/device/camera-service.js.map +1 -1
  93. package/styles/theme.js +17 -3
  94. package/styles/theme.js.map +1 -1
  95. package/styles/theme.variables.js +2 -0
  96. package/styles/theme.variables.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","Platform","WmCurrencyProps","CURRENCY_INFO","WMTextInput","DEFAULT_CLASS","BaseNumberComponent","BaseNumberState","isNull","AccessibilityWidgetType","getAccessibilityProps","countDecimalDigits","validateInputOnDevice","createSkeleton","WmCurrencyState","constructor","args","_defineProperty","WmCurrency","props","onPropertyChange","name","$new","$old","updateState","currencySymbol","symbol","getStyleClassName","classes","state","floatinglabel","push","join","renderTextSkeleton","createElement","Fragment","theme","styles","skeleton","root","renderWidget","_this$state$textValue","opts","valueExpr","OS","foundationStyle","getStyle","textValue","toString","style","onLayout","event","handleLayout","_showSkeleton","skeletonLabelWrapper","labelWrapper","accessible","accessibilityLabel","skeletonLabel","label","importantForAccessibility","skeletonTextInputWrapper","flex","_extends","getTestPropsForInput","CURRENCY","ref","widgetRef","selectionStart","selectionEnd","cursor","keyboardType","placeholderTextColor","placeholderText","color","isInputFocused","mergeStyle","input","inputNoLeftRadius","text","isValid","invalid","focused","disabled","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","editable","readonly","placeholder","background","_background","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","isValidText","validText","decimalPlaces","decimalPlacesInNumber","restrictDecimalRegex","RegExp","updatedCurrencyText","replace","_this$widgetRef","setNativeProps","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["currency.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, DimensionValue } from 'react-native';\n\nimport WmCurrencyProps from './currency.props';\nimport { CURRENCY_INFO } from '@wavemaker/app-rn-runtime/core/currency-constants';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { DEFAULT_CLASS, WmCurrencyStyles } from './currency.styles';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { isNull } from \"lodash\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { countDecimalDigits, validateInputOnDevice } from '@wavemaker/app-rn-runtime/core/utils';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCurrencyState extends BaseNumberState<WmCurrencyProps> {\n currencySymbol: any;\n}\n\nexport default class WmCurrency extends BaseNumberComponent<WmCurrencyProps, WmCurrencyState, WmCurrencyStyles> {\n\n constructor(props: WmCurrencyProps) {\n super(props, DEFAULT_CLASS, new WmCurrencyProps(), new WmCurrencyState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'currency':\n if ($new) {\n this.updateState({\n currencySymbol: CURRENCY_INFO[$new].symbol,\n } as WmCurrencyState);\n }\n break;\n\n }\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-currency-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderTextSkeleton(props:any): React.ReactNode { \n return this.props.floatinglabel ? <>{createSkeleton(this.theme, {} as WmSkeletonStyles, {...props})}</>\n : <>{createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })}</>\n }\n\n renderWidget(props: WmCurrencyProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const foundationStyle = this.theme.getStyle('app-input');\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <View style={ (this._showSkeleton && !this.props.floatinglabel) ? this.styles.skeletonLabelWrapper.root : this.styles.labelWrapper } accessible accessibilityLabel={this.state.currencySymbol}>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonLabel.root)}</> :\n <Text style={this.styles.label} importantForAccessibility='no'>{this.state.currencySymbol}</Text>}\n </View>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonTextInputWrapper.root)}</> :<View style={{flex: 1}}>\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.CURRENCY, props)}\n ref={(ref: any) => {\n this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }\n }}\n keyboardType=\"numeric\"\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[\n this.theme.mergeStyle(\n this.styles.input, \n foundationStyle?.root,\n this.styles.inputNoLeftRadius\n ),\n this.styles.text,\n this.state.isValid ? {} : this.theme.mergeStyle(this.styles.invalid, foundationStyle?.invalid),\n this.state.isInputFocused ? this.theme.mergeStyle(this.styles.focused, foundationStyle?.focused) : {},\n this.state.props.disabled ? this.theme.mergeStyle(this.styles.inputNoLeftRadius,foundationStyle?.disabled) : {}\n ]}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n background={this._background}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n const {isValidText, validText} = validateInputOnDevice(text, \"currency\");\n const decimalPlaces = props.decimalPlaces;\n const decimalPlacesInNumber = countDecimalDigits(validText);\n const restrictDecimalRegex = new RegExp(`(\\\\.\\\\d{${decimalPlaces}})\\\\d*`);\n const updatedCurrencyText = validText.replace(restrictDecimalRegex, '$1');\n\n if (!isValidText || decimalPlaces < decimalPlacesInNumber) {\n (this.widgetRef as any)?.setNativeProps({ text: updatedCurrencyText });\n }\n\n this.onChangeText.bind(this)(updatedCurrencyText, 'currency');\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />\n </View> }\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","Platform","WmCurrencyProps","CURRENCY_INFO","WMTextInput","DEFAULT_CLASS","BaseNumberComponent","BaseNumberState","isNull","AccessibilityWidgetType","getAccessibilityProps","countDecimalDigits","validateInputOnDevice","createSkeleton","WmCurrencyState","constructor","args","_defineProperty","WmCurrency","props","onPropertyChange","name","$new","$old","updateState","currencySymbol","symbol","getStyleClassName","classes","state","floatinglabel","push","join","renderTextSkeleton","createElement","Fragment","theme","styles","skeleton","root","renderWidget","_this$state$textValue","opts","valueExpr","OS","foundationStyle","getStyle","classname","split","pop","textValue","toString","style","onLayout","event","handleLayout","_showSkeleton","skeletonLabelWrapper","labelWrapper","accessible","accessibilityLabel","skeletonLabel","label","importantForAccessibility","skeletonTextInputWrapper","flex","_extends","getTestPropsForInput","CURRENCY","ref","widgetRef","selectionStart","selectionEnd","cursor","keyboardType","placeholderTextColor","placeholderText","color","isInputFocused","mergeStyle","input","inputNoLeftRadius","text","isValid","invalid","focused","disabled","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","editable","readonly","placeholder","background","_background","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","isValidText","validText","decimalPlaces","decimalPlacesInNumber","restrictDecimalRegex","RegExp","updatedCurrencyText","replace","_this$widgetRef","setNativeProps","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["currency.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, DimensionValue } from 'react-native';\n\nimport WmCurrencyProps from './currency.props';\nimport { CURRENCY_INFO } from '@wavemaker/app-rn-runtime/core/currency-constants';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { DEFAULT_CLASS, WmCurrencyStyles } from './currency.styles';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { isNull } from \"lodash\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { countDecimalDigits, validateInputOnDevice } from '@wavemaker/app-rn-runtime/core/utils';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCurrencyState extends BaseNumberState<WmCurrencyProps> {\n currencySymbol: any;\n}\n\nexport default class WmCurrency extends BaseNumberComponent<WmCurrencyProps, WmCurrencyState, WmCurrencyStyles> {\n\n constructor(props: WmCurrencyProps) {\n super(props, DEFAULT_CLASS, new WmCurrencyProps(), new WmCurrencyState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'currency':\n if ($new) {\n this.updateState({\n currencySymbol: CURRENCY_INFO[$new].symbol,\n } as WmCurrencyState);\n }\n break;\n\n }\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-currency-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderTextSkeleton(props:any): React.ReactNode { \n return this.props.floatinglabel ? <>{createSkeleton(this.theme, {} as WmSkeletonStyles, {...props})}</>\n : <>{createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })}</>\n }\n\n renderWidget(props: WmCurrencyProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const foundationStyle = this.theme.getStyle('app-input');\n const classname = this.state.props.classname ? this.state.props.classname.split(\" \").pop() : '';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <View style={ (this._showSkeleton && !this.props.floatinglabel) ? this.styles.skeletonLabelWrapper.root : this.styles.labelWrapper } accessible accessibilityLabel={this.state.currencySymbol}>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonLabel.root)}</> :\n <Text style={this.styles.label} importantForAccessibility='no'>{this.state.currencySymbol}</Text>}\n </View>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonTextInputWrapper.root)}</> :<View style={{flex: 1}}>\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.CURRENCY, props)}\n ref={(ref: any) => {\n this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }\n }}\n keyboardType=\"numeric\"\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[\n this.theme.mergeStyle(\n this.styles.input,\n // foundationStyle ? this.styles.root : null, \n foundationStyle?.root,\n this.styles.inputNoLeftRadius\n ),\n this.theme.mergeStyle(this.styles.text, foundationStyle?.text, this.theme.getStyle(`${classname}`)), \n this.state.isValid ? {} : this.theme.mergeStyle(this.styles.invalid, foundationStyle?.invalid),\n this.state.isInputFocused ? this.theme.mergeStyle(this.styles.focused, foundationStyle?.focused, this.theme.getStyle(`${classname}`).focused) : {},\n this.state.props.disabled ? this.theme.mergeStyle(this.styles.inputNoLeftRadius,foundationStyle?.disabled, this.theme.getStyle(`${classname}`).disabled) : {}\n ]}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n background={this._background}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n const {isValidText, validText} = validateInputOnDevice(text, \"currency\");\n const decimalPlaces = props.decimalPlaces;\n const decimalPlacesInNumber = countDecimalDigits(validText);\n const restrictDecimalRegex = new RegExp(`(\\\\.\\\\d{${decimalPlaces}})\\\\d*`);\n const updatedCurrencyText = validText.replace(restrictDecimalRegex, '$1');\n\n if (!isValidText || decimalPlaces < decimalPlacesInNumber) {\n (this.widgetRef as any)?.setNativeProps({ text: updatedCurrencyText });\n }\n\n this.onChangeText.bind(this)(updatedCurrencyText, 'currency');\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />\n </View> }\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -375,8 +375,10 @@ export default class BaseDatetime extends BaseComponent {
375
375
  const is24Hour = is12HourFormat ? false : props.is24hour;
376
376
  let rootStyles = this.styles.root;
377
377
  let updatedRootStyles = splitBorderColorInPlace(rootStyles);
378
+ const foundationStyle = this.theme.getStyle('app-input');
379
+ const classname = this.state.props.classname ? this.state.props.classname.split(" ").pop() : '';
378
380
  return this.addTouchableOpacity(props, /*#__PURE__*/React.createElement(View, {
379
- style: [updatedRootStyles, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null],
381
+ style: [updatedRootStyles, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null, this.state.props.disabled ? this.theme.mergeStyle(foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.disabled, this.theme.getStyle(`${classname}`).disabled) : {}],
380
382
  accessible: props.accessible,
381
383
  accessibilityLabel: props.accessibilitylabel || `Select ${props === null || props === void 0 ? void 0 : props.mode}`,
382
384
  accessibilityRole: props.accessibilityrole || 'button',
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","splitBorderColorInPlace","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","createSkeleton","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","_this$props$locale","Date","getTime","locale","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","timeZone","rtlSanityCheck","text","replace","momentPattern","pattern","removeSpecialMarks","replaceAll","onPropertyChange","name","$new","$old","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","prevDate","undefined","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","validate","invokeEventCallback","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","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","handleLayout","getTestPropsForAction","onLayout","importantForAccessibility","onPress","getIcon","renderSkeleton","floatinglabel","placeholder","container","root","theme","skeleton","icon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","rootStyles","updatedRootStyles","invalid","focused","accessible","accessibilityLabel","accessibilitylabel","accessibilityRole","accessibilityrole","accessibilityHint","hint","_background","moveUp","label","floatingLabel","activeFloatingLabel","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDateTime","time","timeheadertitle","timeconfirmationtitle","timecanceltitle","rootWrapper"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle, DimensionValue, LayoutChangeEvent } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker 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 { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField ,splitBorderColorInPlace} 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';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = 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\n // Convert moment formatting with respect to the current local.\n moment.locale(this.props.locale ?? 'en');\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 rtlSanityCheck(text: any) {\n return text?.replace(/[\\u200E\\u200F\\u202B\\u202C]/g, '');\n }\n\n momentPattern(pattern : String) {\n const removeSpecialMarks = this.rtlSanityCheck(pattern);\n return removeSpecialMarks?.replaceAll('y', 'Y').replaceAll('d', 'D');\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.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\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, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\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 // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\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 // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\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: any, date?: Date) {\n const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat as String) as string) || undefined;\n this.modes.shift();\n const newDate = this.format(date, this.momentPattern(this.state.props.outputformat as String) as string)\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: newDate,\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState, () => {\n this.validate(date);\n this.invokeEventCallback('onChange', [null, this, newDate, prevDate])\n });\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 if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\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: any, 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: any, 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, handleLayout?: any) : React.ReactNode{\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction()}\n onLayout={handleLayout}\n importantForAccessibility='no'\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 public renderSkeleton(props: WmDatetimeProps): React.ReactNode {\n return (\n this.state.props.floatinglabel || this.state.displayValue || this.state.props.placeholder ?\n <View style={{display:'flex',...this.styles.container,...this.styles.root}}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root\n })}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.icon\n })}\n </View> : null\n )}\n\n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n let rootStyles=this.styles.root;\n let updatedRootStyles = splitBorderColorInPlace(rootStyles);\n return (\n this.addTouchableOpacity(props, (\n <View style={[updatedRootStyles, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]} accessible={props.accessible} accessibilityLabel={props.accessibilitylabel || `Select ${props?.mode}`} accessibilityRole={props.accessibilityrole || 'button'} accessibilityHint={props.hint}>\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} id={this.getTestId('calendericon')} accessible={false}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n setTimeout(() => {\n this.onBlur();\n }, 10);\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n dateheadertitle={props.dateheadertitle}\n dateconfirmationtitle={props.dateconfirmationtitle}\n datecanceltitle={props.datecanceltitle}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n setTimeout(() => {\n this.onBlur()\n }, 10);\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n timeheadertitle={props.timeheadertitle}\n timeconfirmationtitle={props.timeconfirmationtitle}\n timecanceltitle={props.timecanceltitle}\n />\n )}\n </View>\n ), this.styles.rootWrapper , this.handleLayout)\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","splitBorderColorInPlace","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","createSkeleton","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","_this$props$locale","Date","getTime","locale","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","timeZone","rtlSanityCheck","text","replace","momentPattern","pattern","removeSpecialMarks","replaceAll","onPropertyChange","name","$new","$old","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","prevDate","undefined","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","validate","invokeEventCallback","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","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","handleLayout","getTestPropsForAction","onLayout","importantForAccessibility","onPress","getIcon","renderSkeleton","floatinglabel","placeholder","container","root","theme","skeleton","icon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","rootStyles","updatedRootStyles","foundationStyle","getStyle","classname","split","pop","invalid","focused","mergeStyle","accessible","accessibilityLabel","accessibilitylabel","accessibilityRole","accessibilityrole","accessibilityHint","hint","_background","moveUp","label","floatingLabel","activeFloatingLabel","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDateTime","time","timeheadertitle","timeconfirmationtitle","timecanceltitle","rootWrapper"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle, DimensionValue, LayoutChangeEvent } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker 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 { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField ,splitBorderColorInPlace} 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';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = 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\n // Convert moment formatting with respect to the current local.\n moment.locale(this.props.locale ?? 'en');\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 rtlSanityCheck(text: any) {\n return text?.replace(/[\\u200E\\u200F\\u202B\\u202C]/g, '');\n }\n\n momentPattern(pattern : String) {\n const removeSpecialMarks = this.rtlSanityCheck(pattern);\n return removeSpecialMarks?.replaceAll('y', 'Y').replaceAll('d', 'D');\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.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\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, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\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 // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\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 // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\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: any, date?: Date) {\n const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat as String) as string) || undefined;\n this.modes.shift();\n const newDate = this.format(date, this.momentPattern(this.state.props.outputformat as String) as string)\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: newDate,\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState, () => {\n this.validate(date);\n this.invokeEventCallback('onChange', [null, this, newDate, prevDate])\n });\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 if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\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: any, 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: any, 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, handleLayout?: any) : React.ReactNode{\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction()}\n onLayout={handleLayout}\n importantForAccessibility='no'\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 public renderSkeleton(props: WmDatetimeProps): React.ReactNode {\n return (\n this.state.props.floatinglabel || this.state.displayValue || this.state.props.placeholder ?\n <View style={{display:'flex',...this.styles.container,...this.styles.root}}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root\n })}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.icon\n })}\n </View> : null\n )}\n\n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n let rootStyles=this.styles.root;\n let updatedRootStyles = splitBorderColorInPlace(rootStyles);\n const foundationStyle = this.theme.getStyle('app-input');\n const classname = this.state.props.classname ? this.state.props.classname.split(\" \").pop() : '';\n return (\n this.addTouchableOpacity(props, (\n <View style={[updatedRootStyles, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null, this.state.props.disabled ? this.theme.mergeStyle(foundationStyle?.disabled, this.theme.getStyle(`${classname}`).disabled) : {}]} accessible={props.accessible} accessibilityLabel={props.accessibilitylabel || `Select ${props?.mode}`} accessibilityRole={props.accessibilityrole || 'button'} accessibilityHint={props.hint}>\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} id={this.getTestId('calendericon')} accessible={false}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n setTimeout(() => {\n this.onBlur();\n }, 10);\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n dateheadertitle={props.dateheadertitle}\n dateconfirmationtitle={props.dateconfirmationtitle}\n datecanceltitle={props.datecanceltitle}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n setTimeout(() => {\n this.onBlur()\n }, 10);\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n timeheadertitle={props.timeheadertitle}\n timeconfirmationtitle={props.timeconfirmationtitle}\n timecanceltitle={props.timecanceltitle}\n />\n )}\n </View>\n ), this.styles.rootWrapper , this.handleLayout)\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
@@ -45,6 +45,7 @@ export default class WmNumber extends BaseNumberComponent {
45
45
  let opts = {};
46
46
  const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
47
47
  const foundationStyle = this.theme.getStyle('app-input');
48
+ const classname = this.state.props.classname ? this.state.props.classname.split(" ").pop() : '';
48
49
  opts[valueExpr] = ((_this$state$textValue = this.state.textValue) === null || _this$state$textValue === void 0 ? void 0 : _this$state$textValue.toString()) || '';
49
50
  return this._showSkeleton ? this.renderTextSkeleton() : /*#__PURE__*/React.createElement(WMTextInput, _extends({}, this.getTestPropsForInput(), getAccessibilityProps(AccessibilityWidgetType.NUMBER, props), {
50
51
  ref: ref => {
@@ -60,7 +61,7 @@ export default class WmNumber extends BaseNumberComponent {
60
61
  floatingLabelStyle: this.styles.floatingLabel,
61
62
  activeFloatingLabelStyle: this.styles.activeFloatingLabel,
62
63
  isInputFocused: this.state.isInputFocused,
63
- style: [this.theme.mergeStyle(this.styles.root, foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.root), this.state.isValid ? {} : this.theme.mergeStyle(this.styles.invalid, foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.invalid), this.state.isInputFocused ? this.theme.mergeStyle(this.styles.focused, foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.focused) : {}, this.state.props.disabled ? this.theme.mergeStyle(foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.disabled) : {}],
64
+ style: [this.theme.mergeStyle(this.styles.root, foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.root), this.state.isValid ? {} : this.theme.mergeStyle(this.styles.invalid, foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.invalid), this.state.isInputFocused ? this.theme.mergeStyle(this.styles.focused, foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.focused, this.theme.getStyle(`${classname}`).focused) : {}, this.state.props.disabled ? this.theme.mergeStyle(foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.disabled, this.theme.getStyle(`${classname}`).disabled) : {}],
64
65
  keyboardType: "numeric",
65
66
  background: this._background,
66
67
  placeholderTextColor: this.styles.placeholderText.color,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmNumberState","constructor","args","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderTextSkeleton","createElement","style","styles","root","theme","skeletonLabel","Fragment","skeleton","renderWidget","_this$state$textValue","opts","valueExpr","OS","foundationStyle","getStyle","textValue","toString","_showSkeleton","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","isInputFocused","mergeStyle","isValid","invalid","focused","disabled","keyboardType","background","_background","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","readonly","placeholder","onBlur","event","bind","displayValue","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect","customDisplayValue","handleLayout"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, Platform, View } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-number-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderTextSkeleton(): React.ReactNode { \n return this.props.floatinglabel ? \n <View style={{...this.styles.root}}>{createSkeleton(this.theme, {} as WmSkeletonStyles, {...this.styles.skeletonLabel.root})}</View>\n :<>{createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })}</> \n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const foundationStyle = this.theme.getStyle('app-input');\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (this._showSkeleton ? this.renderTextSkeleton() : \n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.NUMBER, props)}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n isInputFocused={ this.state.isInputFocused }\n style={[\n this.theme.mergeStyle(this.styles.root, foundationStyle?.root),\n this.state.isValid ? {} : this.theme.mergeStyle(this.styles.invalid, foundationStyle?.invalid),\n this.state.isInputFocused ? this.theme.mergeStyle(this.styles.focused, foundationStyle?.focused) : {},\n this.state.props.disabled ? this.theme.mergeStyle(foundationStyle?.disabled) : {},\n ]}\n keyboardType=\"numeric\"\n background={this._background}\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n onBlur={(event)=>{this.onBlur.bind(this)(event, !!props.displayValue)}}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number', !!props.displayValue);\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n customDisplayValue={props.displayValue}\n handleLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n />);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","View","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmNumberState","constructor","args","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderTextSkeleton","createElement","style","styles","root","theme","skeletonLabel","Fragment","skeleton","renderWidget","_this$state$textValue","opts","valueExpr","OS","foundationStyle","getStyle","classname","split","pop","textValue","toString","_showSkeleton","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","isInputFocused","mergeStyle","isValid","invalid","focused","disabled","keyboardType","background","_background","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","readonly","placeholder","onBlur","event","bind","displayValue","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect","customDisplayValue","handleLayout"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, Platform, View } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-number-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderTextSkeleton(): React.ReactNode { \n return this.props.floatinglabel ? \n <View style={{...this.styles.root}}>{createSkeleton(this.theme, {} as WmSkeletonStyles, {...this.styles.skeletonLabel.root})}</View>\n :<>{createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })}</> \n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const foundationStyle = this.theme.getStyle('app-input');\n const classname = this.state.props.classname ? this.state.props.classname.split(\" \").pop() : '';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (this._showSkeleton ? this.renderTextSkeleton() : \n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.NUMBER, props)}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n isInputFocused={ this.state.isInputFocused }\n style={[\n this.theme.mergeStyle(this.styles.root, foundationStyle?.root),\n this.state.isValid ? {} : this.theme.mergeStyle(this.styles.invalid, foundationStyle?.invalid),\n this.state.isInputFocused ? this.theme.mergeStyle(this.styles.focused, foundationStyle?.focused, this.theme.getStyle(`${classname}`).focused) : {},\n this.state.props.disabled ? this.theme.mergeStyle(foundationStyle?.disabled, this.theme.getStyle(`${classname}`).disabled) : {},\n ]}\n keyboardType=\"numeric\"\n background={this._background}\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n onBlur={(event)=>{this.onBlur.bind(this)(event, !!props.displayValue)}}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number', !!props.displayValue);\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n customDisplayValue={props.displayValue}\n handleLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n />);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,9 +3,10 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import React from 'react';
6
- import { Dimensions, StatusBar, Text, View } from 'react-native';
6
+ import { Dimensions, Platform, StatusBar, Text, View } from 'react-native';
7
7
  import { ScrollView } from 'react-native-gesture-handler';
8
8
  import { find, isEmpty, isString } from 'lodash';
9
+ import injector from '@wavemaker/app-rn-runtime/core/injector';
9
10
  import WmSelectProps from './select.props';
10
11
  import { DEFAULT_CLASS } from './select.styles';
11
12
  import { BaseDatasetComponent, BaseDatasetState } from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';
@@ -16,6 +17,7 @@ import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
16
17
  import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
17
18
  import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
18
19
  import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
20
+ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
19
21
  export class WmSelectState extends BaseDatasetState {
20
22
  constructor(...args) {
21
23
  super(...args);
@@ -24,6 +26,7 @@ export class WmSelectState extends BaseDatasetState {
24
26
  _defineProperty(this, "selectedValue", '');
25
27
  _defineProperty(this, "position", {});
26
28
  _defineProperty(this, "selectWidth", 0);
29
+ _defineProperty(this, "positionReady", false);
27
30
  }
28
31
  }
29
32
  export default class WmSelect extends BaseDatasetComponent {
@@ -32,10 +35,20 @@ export default class WmSelect extends BaseDatasetComponent {
32
35
  _defineProperty(this, "view", null);
33
36
  _defineProperty(this, "widgetRef", null);
34
37
  _defineProperty(this, "isDefaultValue", true);
35
- _defineProperty(this, "computePosition", e => {
36
- const position = {};
37
- const windowDimensions = Dimensions.get('window');
38
- this.view.measure((x, y, width, height, px, py) => {
38
+ _defineProperty(this, "safeAreaInsets", {
39
+ top: 0,
40
+ bottom: 0,
41
+ left: 0,
42
+ right: 0
43
+ });
44
+ _defineProperty(this, "isMounted", true);
45
+ _defineProperty(this, "isComputing", false);
46
+ _defineProperty(this, "computePosition", () => {
47
+ if (!this.view || !this.isMounted) return;
48
+ this.view.measureInWindow((px, py, width, height) => {
49
+ var _appConfig$edgeToEdge;
50
+ const windowDimensions = Dimensions.get('window');
51
+ const position = {};
39
52
  let popoverwidth = this.state.selectWidth;
40
53
  if (popoverwidth && isString(popoverwidth)) {
41
54
  popoverwidth = parseInt(popoverwidth);
@@ -44,25 +57,47 @@ export default class WmSelect extends BaseDatasetComponent {
44
57
  if (px + popoverwidth > windowDimensions.width) {
45
58
  this.isRTL ? position.right = px + width - popoverwidth : position.left = px + width - popoverwidth;
46
59
  }
47
- position.top = py + height;
60
+ const appConfig = injector.get('APP_CONFIG');
61
+ const isEdgeToEdge = !!(appConfig !== null && appConfig !== void 0 && (_appConfig$edgeToEdge = appConfig.edgeToEdgeConfig) !== null && _appConfig$edgeToEdge !== void 0 && _appConfig$edgeToEdge.isEdgeToEdgeApp);
62
+ const statusBarHeight = Platform.OS === 'android' ? StatusBar.currentHeight || 0 : 0;
63
+ const needsStatusBarAdjustment = Platform.OS === 'android' && this.safeAreaInsets.top > 0;
64
+ const yOffset = Platform.OS === 'ios' && !isEdgeToEdge ? this.safeAreaInsets.top : 0;
65
+ position.top = py + height - yOffset + (needsStatusBarAdjustment ? statusBarHeight : 0);
48
66
  this.updateState({
49
- position: position
67
+ position,
68
+ positionReady: true,
69
+ selectWidth: width
50
70
  });
51
71
  });
52
72
  });
53
73
  _defineProperty(this, "showPopover", () => {
74
+ var _this$state$props$cla;
75
+ const isDropdown = (_this$state$props$cla = this.state.props.classname) === null || _this$state$props$cla === void 0 ? void 0 : _this$state$props$cla.includes('select-dropdown');
76
+ if (isDropdown) {
77
+ this.computePosition();
78
+ }
54
79
  this.updateState({
55
80
  isOpened: true
56
81
  });
57
82
  });
58
83
  _defineProperty(this, "hide", () => {});
59
84
  }
85
+ componentWillUnmount() {
86
+ var _super$componentWillU;
87
+ this.isMounted = false;
88
+ (_super$componentWillU = super.componentWillUnmount) === null || _super$componentWillU === void 0 || _super$componentWillU.call(this);
89
+ }
60
90
  onPress(event) {
61
91
  if (this.state.props.disabled) {
62
92
  return;
63
93
  }
64
- if (!this.state.isOpened) {
65
- this.showPopover();
94
+ if (!this.state.isOpened && !this.isComputing) {
95
+ this.isComputing = true;
96
+ try {
97
+ this.showPopover();
98
+ } finally {
99
+ this.isComputing = false;
100
+ }
66
101
  }
67
102
  this.invokeEventCallback('onFocus', [event, this.proxy]);
68
103
  }
@@ -100,6 +135,7 @@ export default class WmSelect extends BaseDatasetComponent {
100
135
  this.invokeEventCallback('onBlur', [{}, this.proxy]);
101
136
  this.setState({
102
137
  isOpened: false,
138
+ positionReady: false,
103
139
  modalOptions: {}
104
140
  });
105
141
  };
@@ -119,6 +155,7 @@ export default class WmSelect extends BaseDatasetComponent {
119
155
  const props = this.state.props;
120
156
  const select = this.styles.root;
121
157
  const foundationStyle = this.theme.getStyle('app-input');
158
+ const classname = this.state.props.classname ? this.state.props.classname.split(" ").pop() : '';
122
159
  return (
123
160
  /*#__PURE__*/
124
161
  /*
@@ -130,7 +167,7 @@ export default class WmSelect extends BaseDatasetComponent {
130
167
  backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor
131
168
  }, this._showSkeleton ? {
132
169
  justifyContent: 'space-between'
133
- } : {}, props.disabled ? this.theme.mergeStyle(foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.disabled) : {}],
170
+ } : {}, props.disabled ? this.theme.mergeStyle(foundationStyle === null || foundationStyle === void 0 ? void 0 : foundationStyle.disabled, this.theme.getStyle(`${classname}`).disabled) : {}],
134
171
  ref: ref => {
135
172
  this.view = ref;
136
173
  },
@@ -222,36 +259,40 @@ export default class WmSelect extends BaseDatasetComponent {
222
259
  this.updateDefaultQueryModel();
223
260
  }
224
261
  renderWidget(props) {
225
- var _this$state$props$cla;
226
- let isDropdown = (_this$state$props$cla = this.state.props.classname) === null || _this$state$props$cla === void 0 ? void 0 : _this$state$props$cla.includes('select-dropdown');
262
+ var _this$state$props$cla2;
263
+ let isDropdown = (_this$state$props$cla2 = this.state.props.classname) === null || _this$state$props$cla2 === void 0 ? void 0 : _this$state$props$cla2.includes('select-dropdown');
227
264
  const styles = this.theme.mergeStyle(this.styles, this.theme.getStyle('select-dropdown'));
228
265
  if (isDropdown && this.state.selectWidth) {
229
266
  styles.modalContent.width = this.styles.dropdown.width || this.state.selectWidth;
230
267
  }
231
- return /*#__PURE__*/React.createElement(View, {
232
- onLayout: event => {
233
- isDropdown ? this.computePosition(event) : () => {};
234
- this.handleLayout(event);
235
- },
236
- style: [this.styles.rootWrapper]
237
- }, this._background, this.renderSelect(), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
238
- const items = this.state.dataItems;
239
- modalService.showModal(this.prepareModalOptions(/*#__PURE__*/React.createElement(ScrollView, {
240
- style: isDropdown ? [{
241
- width: this.state.selectWidth
242
- }, this.styles.dropdown] : {
243
- width: '100%',
244
- maxHeight: Dimensions.get('window').height - 64 - (StatusBar.currentHeight || 0)
268
+ return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, insets => {
269
+ if (insets) {
270
+ this.safeAreaInsets = insets;
271
+ }
272
+ return /*#__PURE__*/React.createElement(View, {
273
+ onLayout: event => {
274
+ this.handleLayout(event);
245
275
  },
246
- contentContainerStyle: this.styles.dropDownContent
247
- }, props.placeholder ? /*#__PURE__*/React.createElement(View, {
248
- key: props.name + '_placeholder',
249
- style: this.styles.placeholderText
250
- }, this.renderSelectItem({}, 0, true, false)) : null, items && items.map((item, index) => /*#__PURE__*/React.createElement(View, {
251
- key: item.key
252
- }, this.renderSelectItem(item, index, false, index === items.length - 1)))), isDropdown ? styles : this.styles, modalService));
253
- return null;
254
- }) : null);
276
+ style: [this.styles.rootWrapper]
277
+ }, this._background, this.renderSelect(), this.state.isOpened && (isDropdown ? this.state.positionReady : true) ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
278
+ const items = this.state.dataItems;
279
+ modalService.showModal(this.prepareModalOptions(/*#__PURE__*/React.createElement(ScrollView, {
280
+ style: isDropdown ? [{
281
+ width: this.state.selectWidth
282
+ }, this.styles.dropdown] : {
283
+ width: '100%',
284
+ maxHeight: Dimensions.get('window').height - 64 - (StatusBar.currentHeight || 0)
285
+ },
286
+ contentContainerStyle: this.styles.dropDownContent
287
+ }, props.placeholder ? /*#__PURE__*/React.createElement(View, {
288
+ key: props.name + '_placeholder',
289
+ style: this.styles.placeholderText
290
+ }, this.renderSelectItem({}, 0, true, false)) : null, items && items.map((item, index) => /*#__PURE__*/React.createElement(View, {
291
+ key: item.key
292
+ }, this.renderSelectItem(item, index, false, index === items.length - 1)))), isDropdown ? styles : this.styles, modalService));
293
+ return null;
294
+ }) : null);
295
+ });
255
296
  }
256
297
  }
257
298
  //# sourceMappingURL=select.component.js.map