etendo-ui-library 1.4.30 → 1.4.32

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.
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { IInputBase } from './InputBase.types';
3
- declare const InputBase: ({ value, placeholder, title, helperText, isDisabled, isError, onChangeText, icon, rightButtons, onPress, onBlur, onSubmitEditing, onKeyPress, secureTextEntry, keyboardType, styleContainer, isFocusable, refInputContainer, refInput, multiline, numberOfLines, }: IInputBase) => React.JSX.Element;
3
+ declare const InputBase: ({ value, placeholder, title, helperText, isDisabled, isError, onChangeText, icon, rightButtons, onPress, onFocus, onBlur, onSubmitEditing, onKeyPress, secureTextEntry, keyboardType, styleContainer, isFocusable, refInputContainer, refInput, multiline, numberOfLines, }: IInputBase) => React.JSX.Element;
4
4
  export default InputBase;
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _reactNative=require("react-native");var _react=_interopRequireWildcard(require("react"));var _InputBase=require("./InputBase.styles");var _colors=require("../../styles/colors");var _table_utils=require("../../helpers/table_utils");var _gridContainer=require("../containers/gridContainer");var _excluded=["style"],_excluded2=["iconLeft","iconRight"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/InputBase.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var InputBase=function InputBase(_ref){var value=_ref.value,placeholder=_ref.placeholder,title=_ref.title,helperText=_ref.helperText,isDisabled=_ref.isDisabled,isError=_ref.isError,onChangeText=_ref.onChangeText,icon=_ref.icon,rightButtons=_ref.rightButtons,onPress=_ref.onPress,onBlur=_ref.onBlur,onSubmitEditing=_ref.onSubmitEditing,onKeyPress=_ref.onKeyPress,secureTextEntry=_ref.secureTextEntry,_ref$keyboardType=_ref.keyboardType,keyboardType=_ref$keyboardType===void 0?'default':_ref$keyboardType,styleContainer=_ref.styleContainer,_ref$isFocusable=_ref.isFocusable,isFocusable=_ref$isFocusable===void 0?true:_ref$isFocusable,refInputContainer=_ref.refInputContainer,refInput=_ref.refInput,multiline=_ref.multiline,_ref$numberOfLines=_ref.numberOfLines,numberOfLines=_ref$numberOfLines===void 0?1:_ref$numberOfLines;var isEditable=onPress?false:!isDisabled;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isFocused=_useState2[0],setIsFocused=_useState2[1];var _useState3=(0,_react.useState)(_InputBase.heightTextInput),_useState4=(0,_slicedToArray2.default)(_useState3,2),inputHeight=_useState4[0],setInputHeight=_useState4[1];var _useState5=(0,_react.useState)(1),_useState6=(0,_slicedToArray2.default)(_useState5,2),currentLines=_useState6[0],setCurrentLines=_useState6[1];var inputFocusPadding=isFocused?3:1;var inputFocusPaddingTextHorizontal=isFocused?10:12;var inputFocusPaddingTextVertical=isFocused?6:8;var inputFocusPaddingTextHight=isFocused?6:2;var paddingVertical=inputFocusPadding;var paddingHorizontal=inputFocusPadding;var onFocusChange=function onFocusChange(){if(!isDisabled&&isFocusable){setIsFocused(true);}};var onBlurChange=function onBlurChange(){setIsFocused(false);onBlur==null?void 0:onBlur();};var determineColor=function determineColor(icon){if(icon){return iconColorStyle();}if(isDisabled){return _colors.NEUTRAL_500;}return isError?_colors.DANGER_700:_colors.PRIMARY_100;};var textColorStyle=function textColorStyle(){if(!value||isDisabled){return _colors.NEUTRAL_500;}if(isFocused){return _colors.PRIMARY_100;}if(isError&&!isFocused){return _colors.DANGER_700;}return _colors.PRIMARY_100;};var iconColorStyle=function iconColorStyle(){if(isDisabled){return _colors.NEUTRAL_500;}if(isFocused){return _colors.PRIMARY_100;}if(isError&&!isFocused){return _colors.DANGER_700;}return _colors.PRIMARY_100;};var textInputStyle=[_InputBase.styles.textInput,{color:textColorStyle()}];if(_reactNative.Platform.OS==='web'){textInputStyle.push({outlineWidth:0});}var handleChange=function handleChange(string){if(onChangeText){if(['numeric','number-pad','phone-pad','decimal-pad'].includes(keyboardType)){var regexNumber=/^[\d.,\/]*$/;if(regexNumber.test(string)||string===''){onChangeText(string);}}else{onChangeText(string);}}};var determineIconStyles=function determineIconStyles(icon,disable){if(!icon)return null;var _icon$props=icon.props,_icon$props$style=_icon$props.style,style=_icon$props$style===void 0?{}:_icon$props$style,otherIconProps=(0,_objectWithoutProperties2.default)(_icon$props,_excluded);return _react.default.cloneElement(icon,Object.assign({fill:disable?_colors.NEUTRAL_500:determineColor(true),style:Object.assign({},style,{height:style.height||_InputBase.styles.icon.height,width:style.width||_InputBase.styles.icon.width})},otherIconProps));};var alignIcons=function alignIcons(){if(currentLines>1&&multiline){return'flex-end';}return'center';};var handleContentSizeChange=function handleContentSizeChange(event){var height=event.nativeEvent.contentSize.height;var lineHeight=_InputBase.styles.textInput.lineHeight;var newLineCount=Math.floor(height/lineHeight);if(newLineCount>numberOfLines){return;}setCurrentLines(newLineCount);if(newLineCount>1){setInputHeight(lineHeight*newLineCount);}};var addPaddingTop=function addPaddingTop(){if(multiline)return _InputBase.paddingTopTextInputMultiline-inputFocusPadding;};var addPaddingHorizontalTextInput=function addPaddingHorizontalTextInput(){if(!icon){return inputFocusPaddingTextHorizontal;}return _InputBase.paddingHorizontalTextInput;};return _react.default.createElement(_react.default.Fragment,null,!!title&&_react.default.createElement(_reactNative.Text,{numberOfLines:1,ellipsizeMode:"tail",style:[_InputBase.styles.title,{color:determineColor()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:168,columnNumber:9}},title),_react.default.createElement(_reactNative.View,{ref:refInputContainer,style:[_InputBase.styles.container,Object.assign({paddingHorizontal:paddingHorizontal,paddingVertical:paddingVertical,backgroundColor:determineColor(),height:inputHeight,maxHeight:inputHeight},styleContainer)],__self:_this,__source:{fileName:_jsxFileName,lineNumber:175,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:_InputBase.styles.containerInput,__self:_this,__source:{fileName:_jsxFileName,lineNumber:188,columnNumber:9}},!!icon&&_react.default.createElement(_reactNative.View,{style:[_InputBase.styles.iconContainer,{justifyContent:alignIcons(),paddingVertical:inputFocusPaddingTextVertical,paddingLeft:inputFocusPaddingTextHorizontal}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:190,columnNumber:13}},_react.default.cloneElement(icon,{style:_InputBase.styles.icon,fill:determineColor(true)})),_react.default.createElement(_reactNative.TextInput,{ref:refInput,value:value,onPressIn:onPress,onChangeText:handleChange,placeholder:placeholder,editable:isEditable,onFocus:onFocusChange,onBlur:onBlurChange,onSubmitEditing:onSubmitEditing,keyboardType:keyboardType,secureTextEntry:secureTextEntry,onKeyPress:onKeyPress,multiline:multiline,numberOfLines:numberOfLines,onContentSizeChange:handleContentSizeChange,style:[textInputStyle,onPress&&(0,_table_utils.cursorPointer)(),{height:inputHeight-inputFocusPaddingTextHight,maxHeight:inputHeight-inputFocusPaddingTextHight,paddingHorizontal:addPaddingHorizontalTextInput(),paddingTop:addPaddingTop()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:205,columnNumber:11}}),!!rightButtons&&_react.default.createElement(_gridContainer.GridContainer,{gapHorizontal:12,gapVertical:0,stylesContainer:[_InputBase.styles.gridContainer,{alignItems:alignIcons(),paddingVertical:inputFocusPaddingTextVertical,paddingRight:inputFocusPaddingTextHorizontal}],components:rightButtons.map(function(ButtonComponent,index){var _ButtonComponent$prop=ButtonComponent.props,iconLeft=_ButtonComponent$prop.iconLeft,iconRight=_ButtonComponent$prop.iconRight,otherProps=(0,_objectWithoutProperties2.default)(_ButtonComponent$prop,_excluded2);var modifiedProps=Object.assign({},otherProps);modifiedProps.paddingVertical=(modifiedProps==null?void 0:modifiedProps.paddingVertical)||0;modifiedProps.paddingHorizontal=(modifiedProps==null?void 0:modifiedProps.paddingHorizontal)||0;modifiedProps.iconLeft=determineIconStyles(iconLeft,modifiedProps.disabled||isDisabled);modifiedProps.iconRight=determineIconStyles(iconRight,modifiedProps.disabled||isDisabled);modifiedProps.text='';return _react.default.createElement(ButtonComponent.type,(0,_extends2.default)({},modifiedProps,{key:index,disabled:isDisabled||modifiedProps.disabled,typeStyle:'white',__self:_this,__source:{fileName:_jsxFileName,lineNumber:263,columnNumber:19}}));}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:233,columnNumber:13}}))),!!helperText&&_react.default.createElement(_reactNative.Text,{numberOfLines:1,ellipsizeMode:"tail",style:[_InputBase.styles.helperText,{color:determineColor()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:276,columnNumber:9}},helperText));};var _default=exports.default=InputBase;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _reactNative=require("react-native");var _react=_interopRequireWildcard(require("react"));var _InputBase=require("./InputBase.styles");var _colors=require("../../styles/colors");var _table_utils=require("../../helpers/table_utils");var _gridContainer=require("../containers/gridContainer");var _excluded=["style"],_excluded2=["iconLeft","iconRight"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/InputBase.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var InputBase=function InputBase(_ref){var value=_ref.value,placeholder=_ref.placeholder,title=_ref.title,helperText=_ref.helperText,isDisabled=_ref.isDisabled,isError=_ref.isError,onChangeText=_ref.onChangeText,icon=_ref.icon,rightButtons=_ref.rightButtons,onPress=_ref.onPress,onFocus=_ref.onFocus,onBlur=_ref.onBlur,onSubmitEditing=_ref.onSubmitEditing,onKeyPress=_ref.onKeyPress,secureTextEntry=_ref.secureTextEntry,_ref$keyboardType=_ref.keyboardType,keyboardType=_ref$keyboardType===void 0?'default':_ref$keyboardType,styleContainer=_ref.styleContainer,_ref$isFocusable=_ref.isFocusable,isFocusable=_ref$isFocusable===void 0?true:_ref$isFocusable,refInputContainer=_ref.refInputContainer,refInput=_ref.refInput,multiline=_ref.multiline,_ref$numberOfLines=_ref.numberOfLines,numberOfLines=_ref$numberOfLines===void 0?1:_ref$numberOfLines;var isEditable=onPress?false:!isDisabled;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isFocused=_useState2[0],setIsFocused=_useState2[1];var _useState3=(0,_react.useState)(_InputBase.heightTextInput),_useState4=(0,_slicedToArray2.default)(_useState3,2),inputHeight=_useState4[0],setInputHeight=_useState4[1];var _useState5=(0,_react.useState)(1),_useState6=(0,_slicedToArray2.default)(_useState5,2),currentLines=_useState6[0],setCurrentLines=_useState6[1];var inputFocusPadding=isFocused?3:1;var inputFocusPaddingTextHorizontal=isFocused?10:12;var inputFocusPaddingTextVertical=isFocused?6:8;var inputFocusPaddingTextHight=isFocused?6:2;var paddingVertical=inputFocusPadding;var paddingHorizontal=inputFocusPadding;var onFocusChange=function onFocusChange(e){if(!isDisabled&&isFocusable){if(onFocus){onFocus(e);}setIsFocused(true);}};var onBlurChange=function onBlurChange(){setIsFocused(false);onBlur==null?void 0:onBlur();};var determineColor=function determineColor(icon){if(icon){return iconColorStyle();}if(isDisabled){return _colors.NEUTRAL_500;}return isError?_colors.DANGER_700:_colors.PRIMARY_100;};var textColorStyle=function textColorStyle(){if(!value||isDisabled){return _colors.NEUTRAL_500;}if(isFocused){return _colors.PRIMARY_100;}if(isError&&!isFocused){return _colors.DANGER_700;}return _colors.PRIMARY_100;};var iconColorStyle=function iconColorStyle(){if(isDisabled){return _colors.NEUTRAL_500;}if(isFocused){return _colors.PRIMARY_100;}if(isError&&!isFocused){return _colors.DANGER_700;}return _colors.PRIMARY_100;};var textInputStyle=[_InputBase.styles.textInput,{color:textColorStyle()}];if(_reactNative.Platform.OS==='web'){textInputStyle.push({outlineWidth:0});}var handleChange=function handleChange(string){if(onChangeText){if(['numeric','number-pad','phone-pad','decimal-pad'].includes(keyboardType)){var regexNumber=/^[\d.,\/]*$/;if(regexNumber.test(string)||string===''){onChangeText(string);}}else{onChangeText(string);}}};var determineIconStyles=function determineIconStyles(icon,disable){if(!icon)return null;var _icon$props=icon.props,_icon$props$style=_icon$props.style,style=_icon$props$style===void 0?{}:_icon$props$style,otherIconProps=(0,_objectWithoutProperties2.default)(_icon$props,_excluded);return _react.default.cloneElement(icon,Object.assign({fill:disable?_colors.NEUTRAL_500:determineColor(true),style:Object.assign({},style,{height:style.height||_InputBase.styles.icon.height,width:style.width||_InputBase.styles.icon.width})},otherIconProps));};var alignIcons=function alignIcons(){if(currentLines>2&&multiline){return'flex-end';}return'center';};var handleContentSizeChange=function handleContentSizeChange(event){var height=event.nativeEvent.contentSize.height;var lineHeight=_InputBase.styles.textInput.lineHeight;var newLineCount=Math.floor(height/lineHeight);if(newLineCount>numberOfLines){return;}setCurrentLines(newLineCount);if(newLineCount>1){setInputHeight(lineHeight*newLineCount);}};var addPaddingTop=function addPaddingTop(){if(multiline)return _InputBase.paddingTopTextInputMultiline-inputFocusPadding;};var addPaddingHorizontalTextInput=function addPaddingHorizontalTextInput(){if(!icon){return inputFocusPaddingTextHorizontal;}return _InputBase.paddingHorizontalTextInput;};return _react.default.createElement(_react.default.Fragment,null,!!title&&_react.default.createElement(_reactNative.Text,{numberOfLines:1,ellipsizeMode:"tail",style:[_InputBase.styles.title,{color:determineColor()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:182,columnNumber:9}},title),_react.default.createElement(_reactNative.View,{ref:refInputContainer,style:[_InputBase.styles.container,Object.assign({paddingHorizontal:paddingHorizontal,paddingVertical:paddingVertical,backgroundColor:determineColor(),height:inputHeight,maxHeight:inputHeight},styleContainer)],__self:_this,__source:{fileName:_jsxFileName,lineNumber:189,columnNumber:7}},_react.default.createElement(_reactNative.Pressable,{style:_InputBase.styles.containerInput,onPress:onPress,__self:_this,__source:{fileName:_jsxFileName,lineNumber:202,columnNumber:9}},!!icon&&_react.default.createElement(_reactNative.View,{style:[_InputBase.styles.iconContainer,{justifyContent:alignIcons(),paddingVertical:inputFocusPaddingTextVertical,paddingLeft:inputFocusPaddingTextHorizontal}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:204,columnNumber:13}},_react.default.cloneElement(icon,{style:_InputBase.styles.icon,fill:determineColor(true)})),_react.default.createElement(_reactNative.TextInput,{ref:refInput,value:value,onChangeText:handleChange,placeholder:placeholder,editable:isEditable,onFocus:onFocusChange,onBlur:onBlurChange,onSubmitEditing:onSubmitEditing,keyboardType:keyboardType,secureTextEntry:secureTextEntry,onKeyPress:onKeyPress,multiline:multiline,numberOfLines:numberOfLines,onContentSizeChange:handleContentSizeChange,style:[textInputStyle,onPress&&(0,_table_utils.cursorPointer)(),{height:inputHeight-inputFocusPaddingTextHight,maxHeight:inputHeight-inputFocusPaddingTextHight,paddingHorizontal:addPaddingHorizontalTextInput(),paddingTop:addPaddingTop()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:219,columnNumber:11}}),!!rightButtons&&_react.default.createElement(_gridContainer.GridContainer,{gapHorizontal:12,gapVertical:0,stylesContainer:[_InputBase.styles.gridContainer,{alignItems:alignIcons(),paddingVertical:inputFocusPaddingTextVertical,paddingRight:inputFocusPaddingTextHorizontal}],components:rightButtons.map(function(ButtonComponent,index){var _ButtonComponent$prop=ButtonComponent.props,iconLeft=_ButtonComponent$prop.iconLeft,iconRight=_ButtonComponent$prop.iconRight,otherProps=(0,_objectWithoutProperties2.default)(_ButtonComponent$prop,_excluded2);var modifiedProps=Object.assign({},otherProps);modifiedProps.paddingVertical=(modifiedProps==null?void 0:modifiedProps.paddingVertical)||6;modifiedProps.paddingHorizontal=(modifiedProps==null?void 0:modifiedProps.paddingHorizontal)||0;modifiedProps.iconLeft=determineIconStyles(iconLeft,modifiedProps.disabled||isDisabled);modifiedProps.iconRight=determineIconStyles(iconRight,modifiedProps.disabled||isDisabled);modifiedProps.text='';return _react.default.createElement(ButtonComponent.type,(0,_extends2.default)({},modifiedProps,{key:index,disabled:isDisabled||modifiedProps.disabled,typeStyle:'white',__self:_this,__source:{fileName:_jsxFileName,lineNumber:275,columnNumber:19}}));}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:246,columnNumber:13}}))),!!helperText&&_react.default.createElement(_reactNative.Text,{numberOfLines:1,ellipsizeMode:"tail",style:[_InputBase.styles.helperText,{color:determineColor()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:288,columnNumber:9}},helperText));};var _default=exports.default=InputBase;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.styles=exports.paddingTopTextInputMultiline=exports.paddingHorizontalTextInput=exports.heightTextInput=void 0;var _reactNative=require("react-native");var _colors=require("../../styles/colors");var styles=exports.styles=_reactNative.StyleSheet.create({title:{fontSize:16,fontWeight:'600',lineHeight:24,letterSpacing:-0.16,color:_colors.NEUTRAL_800},container:{backgroundColor:_colors.NEUTRAL_50,borderRadius:8,borderColor:_colors.PRIMARY_100,overflow:'hidden',justifyContent:'center',alignItems:'center',flexDirection:'row'},containerInput:{flexDirection:'row',borderRadius:7,overflow:'hidden',width:'100%',height:'100%'},textInput:{backgroundColor:_colors.NEUTRAL_50,fontSize:16,fontStyle:'normal',fontWeight:'500',letterSpacing:-0.16,lineHeight:24,color:_colors.PRIMARY_100,flex:1,textAlignVertical:'center'},helperText:{fontSize:14,fontWeight:'500',lineHeight:24,letterSpacing:-0.14},gridContainer:{alignItems:'center',backgroundColor:_colors.NEUTRAL_50,height:'100%'},iconContainer:{display:'flex',alignItems:'center',backgroundColor:_colors.NEUTRAL_50,height:'100%'},icon:{width:24,height:24}});var heightTextInput=exports.heightTextInput=52;var paddingTopTextInputMultiline=exports.paddingTopTextInputMultiline=13;var paddingHorizontalTextInput=exports.paddingHorizontalTextInput=8;
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.styles=exports.paddingTopTextInputMultiline=exports.paddingHorizontalTextInput=exports.heightTextInput=void 0;var _reactNative=require("react-native");var _colors=require("../../styles/colors");var styles=exports.styles=_reactNative.StyleSheet.create({title:{fontSize:16,fontWeight:'600',lineHeight:24,letterSpacing:-0.16,color:_colors.NEUTRAL_800},container:{backgroundColor:_colors.NEUTRAL_50,borderRadius:8,borderColor:_colors.PRIMARY_100,overflow:'hidden',justifyContent:'center',alignItems:'center',flexDirection:'row'},containerInput:{flexDirection:'row',borderRadius:7,overflow:'hidden',width:'100%',height:'100%'},textInput:{backgroundColor:_colors.NEUTRAL_50,fontSize:16,fontStyle:'normal',fontWeight:'500',letterSpacing:-0.16,lineHeight:26,color:_colors.PRIMARY_100,flex:1,textAlignVertical:'center'},helperText:{fontSize:14,fontWeight:'500',lineHeight:24,letterSpacing:-0.14},gridContainer:{alignItems:'center',backgroundColor:_colors.NEUTRAL_50,height:'100%'},iconContainer:{display:'flex',alignItems:'center',backgroundColor:_colors.NEUTRAL_50,height:'100%'},icon:{width:24,height:24}});var heightTextInput=exports.heightTextInput=52;var paddingTopTextInputMultiline=exports.paddingTopTextInputMultiline=13;var paddingHorizontalTextInput=exports.paddingHorizontalTextInput=8;
@@ -1,5 +1,5 @@
1
1
  import { ReactElement, RefObject } from 'react';
2
- import { ColorValue, ImageStyle, NativeSyntheticEvent, TextInput, TextInputKeyPressEventData, TextInputSubmitEditingEventData, View, ViewStyle } from 'react-native';
2
+ import { ColorValue, ImageStyle, NativeSyntheticEvent, TextInput, TextInputFocusEventData, TextInputKeyPressEventData, TextInputSubmitEditingEventData, View, ViewStyle } from 'react-native';
3
3
  import { ButtonProps } from '../button/Button.types';
4
4
  export interface SvgImageProps {
5
5
  style?: ImageStyle;
@@ -20,6 +20,7 @@ export interface IInputBase {
20
20
  title?: string;
21
21
  value?: string;
22
22
  onPress?: () => void;
23
+ onFocus?: (e: NativeSyntheticEvent<TextInputFocusEventData>) => void;
23
24
  secureTextEntry?: boolean;
24
25
  keyboardType?: 'default' | 'numeric' | 'email-address' | 'url' | 'number-pad' | 'phone-pad' | 'decimal-pad' | 'web-search' | 'visible-password';
25
26
  styleContainer?: ViewStyle;
@@ -3,3 +3,5 @@ export declare const SEARCH_PLACEHOLDER = "Search";
3
3
  export declare const NO_RESULT_TEXT = "No results";
4
4
  export declare const PAGE_SIZE = 5;
5
5
  export declare const MAX_VISIBLE_OPTION = 4;
6
+ export declare const OFFSET: number;
7
+ export declare const OFFSET_LOADING: number;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.SEARCH_PLACEHOLDER=exports.PAGE_SIZE=exports.NO_RESULT_TEXT=exports.MAX_VISIBLE_OPTION=exports.BUFFER=void 0;var BUFFER=exports.BUFFER=0.1;var SEARCH_PLACEHOLDER=exports.SEARCH_PLACEHOLDER='Search';var NO_RESULT_TEXT=exports.NO_RESULT_TEXT='No results';var PAGE_SIZE=exports.PAGE_SIZE=5;var MAX_VISIBLE_OPTION=exports.MAX_VISIBLE_OPTION=4;
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.SEARCH_PLACEHOLDER=exports.PAGE_SIZE=exports.OFFSET_LOADING=exports.OFFSET=exports.NO_RESULT_TEXT=exports.MAX_VISIBLE_OPTION=exports.BUFFER=void 0;var BUFFER=exports.BUFFER=0.1;var SEARCH_PLACEHOLDER=exports.SEARCH_PLACEHOLDER='Search';var NO_RESULT_TEXT=exports.NO_RESULT_TEXT='No results';var PAGE_SIZE=exports.PAGE_SIZE=5;var MAX_VISIBLE_OPTION=exports.MAX_VISIBLE_OPTION=4;var OFFSET=exports.OFFSET=48+48+16;var OFFSET_LOADING=exports.OFFSET_LOADING=48+16;
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _InputBase=_interopRequireDefault(require("../InputBase"));var _button=require("../../button");var _icons=require("../../../assets/images/icons");var _functions_utils=require("../../../helpers/functions_utils");var _DropdownInputOptions=_interopRequireDefault(require("./components/DropdownInputOptions/DropdownInputOptions"));var _DropdownInput=require("./DropdownInput.constants");var _excluded=["staticData","displayKey","onSelect","value","maxVisibleOptions","onFetchData","pageSize","searchPlaceholder","noResultsText"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/dropdown-input/DropdownInput.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var DropdownInput=function DropdownInput(_ref){var staticData=_ref.staticData,displayKey=_ref.displayKey,onSelect=_ref.onSelect,value=_ref.value,_ref$maxVisibleOption=_ref.maxVisibleOptions,maxVisibleOptions=_ref$maxVisibleOption===void 0?_DropdownInput.MAX_VISIBLE_OPTION:_ref$maxVisibleOption,onFetchData=_ref.onFetchData,_ref$pageSize=_ref.pageSize,pageSize=_ref$pageSize===void 0?_DropdownInput.PAGE_SIZE:_ref$pageSize,_ref$searchPlaceholde=_ref.searchPlaceholder,searchPlaceholder=_ref$searchPlaceholde===void 0?_DropdownInput.SEARCH_PLACEHOLDER:_ref$searchPlaceholde,_ref$noResultsText=_ref.noResultsText,noResultsText=_ref$noResultsText===void 0?_DropdownInput.NO_RESULT_TEXT:_ref$noResultsText,inputBaseProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var ref=(0,_react.useRef)(null);var refInput=(0,_react.useRef)(null);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isVisibleDropdown=_useState2[0],setIsVisibleDropdown=_useState2[1];var _useState3=(0,_react.useState)([]),_useState4=(0,_slicedToArray2.default)(_useState3,2),dataList=_useState4[0],setDataList=_useState4[1];var _useState5=(0,_react.useState)(0),_useState6=(0,_slicedToArray2.default)(_useState5,2),currentPage=_useState6[0],setCurrentPage=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isLoading=_useState8[0],setIsLoading=_useState8[1];var _useState9=(0,_react.useState)(true),_useState10=(0,_slicedToArray2.default)(_useState9,2),isLoadMoreData=_useState10[0],setIsLoadMoreData=_useState10[1];var _useState11=(0,_react.useState)(0),_useState12=(0,_slicedToArray2.default)(_useState11,2),heightOptions=_useState12[0],setHeightOptions=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isModalUp=_useState14[0],setIsModalUp=_useState14[1];var _useState15=(0,_react.useState)(''),_useState16=(0,_slicedToArray2.default)(_useState15,2),filterText=_useState16[0],setFilterText=_useState16[1];var _useState17=(0,_react.useState)({top:0,left:0,width:0}),_useState18=(0,_slicedToArray2.default)(_useState17,2),modalPosition=_useState18[0],setModalPosition=_useState18[1];var _Dimensions$get=_reactNative.Dimensions.get('window'),windowWidth=_Dimensions$get.width,windowHeight=_Dimensions$get.height;var adjustDropdownPosition=(0,_react.useCallback)(function(){if(ref.current){ref.current.measure(function(x,y,width,height,pageX,pageY){var spaceBelow=windowHeight-(pageY+height);if(heightOptions+16>spaceBelow){setModalPosition({top:pageY-heightOptions-16,left:pageX,width:width});setIsModalUp(true);}else{setModalPosition({top:pageY+height,left:pageX,width:width});setIsModalUp(false);}});}},[heightOptions,windowHeight]);(0,_react.useEffect)(function(){if((0,_functions_utils.isWebPlatform)()){if((dataList==null?void 0:dataList.length)===0){if(isLoading){return setHeightOptions(48+16);}return setHeightOptions(48+48+16);}if(maxVisibleOptions&&(dataList==null?void 0:dataList.length)<=maxVisibleOptions){return setHeightOptions((dataList==null?void 0:dataList.length)*48+48+16);}setHeightOptions(maxVisibleOptions*48+48+16);}},[dataList,isLoading,windowHeight]);(0,_react.useEffect)(function(){if(!!staticData){setDataList(staticData);}},[staticData]);(0,_react.useEffect)(function(){setFilterText('');if(isVisibleDropdown&&!staticData){setDataList([]);setIsLoadMoreData(true);fetchMordeData(0,[],true,'');}},[isVisibleDropdown]);(0,_react.useEffect)(function(){adjustDropdownPosition();if((0,_functions_utils.isWebPlatform)()){var handleScroll=function handleScroll(){if(isVisibleDropdown){adjustDropdownPosition();}};window.addEventListener('scroll',handleScroll,{passive:true});return function(){return window.removeEventListener('scroll',handleScroll);};}},[isVisibleDropdown,adjustDropdownPosition]);var onSelectOption=function onSelectOption(item){var _refInput$current;onSelect==null?void 0:onSelect(item);setIsVisibleDropdown(false);if(refInput!=null&&(_refInput$current=refInput.current)!=null&&_refInput$current.setNativeProps){var _refInput$current2;refInput==null?void 0:(_refInput$current2=refInput.current)==null?void 0:_refInput$current2.setNativeProps({selection:{start:0,end:0}});}};var onScroll=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(event){if(isAtEndOfScroll(event.nativeEvent)&&!isLoading){yield fetchMordeData(currentPage,dataList,isLoadMoreData,filterText);}});return function onScroll(_x){return _ref2.apply(this,arguments);};}();var fetchMordeData=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(currentPage,prevData,isLoadMoreData,filterText){if(!isLoading&&onFetchData&&isLoadMoreData&&!staticData){setIsLoading(true);yield onFetchData(currentPage,pageSize,filterText).then(function(res){if(res.length===0){setIsLoadMoreData(false);return;}setDataList([].concat((0,_toConsumableArray2.default)(prevData),(0,_toConsumableArray2.default)(res)));}).finally(function(){setCurrentPage(currentPage+1);setIsLoading(false);});}});return function fetchMordeData(_x2,_x3,_x4,_x5){return _ref3.apply(this,arguments);};}();var isAtEndOfScroll=function isAtEndOfScroll(_ref4){var layoutMeasurement=_ref4.layoutMeasurement,contentOffset=_ref4.contentOffset,contentSize=_ref4.contentSize;return layoutMeasurement.height+contentOffset.y>=contentSize.height-_DropdownInput.BUFFER;};var handleOnFilterTextChange=function(){var _ref5=(0,_asyncToGenerator2.default)(function*(value){setDataList([]);setCurrentPage(0);setIsLoadMoreData(true);setFilterText(value);yield fetchMordeData(0,[],true,value);});return function handleOnFilterTextChange(_x6){return _ref5.apply(this,arguments);};}();return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_reactNative.View,{onLayout:function onLayout(){if((0,_functions_utils.isWebPlatform)()){adjustDropdownPosition();}},__self:_this,__source:{fileName:_jsxFileName,lineNumber:180,columnNumber:7}},_react.default.createElement(_InputBase.default,(0,_extends2.default)({refInput:refInput,refInputContainer:ref},inputBaseProps,{rightButtons:[_react.default.createElement(_button.Button,{onPress:function onPress(){setIsVisibleDropdown(function(prev){return!prev;});},typeStyle:'primary',iconLeft:isVisibleDropdown?_react.default.createElement(_icons.ChevronUpIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:197,columnNumber:37}}):_react.default.createElement(_icons.ChevronDownIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:197,columnNumber:57}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:191,columnNumber:13}})],value:value==null?void 0:value.toString(),onPress:function onPress(){setIsVisibleDropdown(function(prev){return!prev;});},__self:_this,__source:{fileName:_jsxFileName,lineNumber:186,columnNumber:9}}))),isVisibleDropdown&&!!modalPosition.width&&_react.default.createElement(_DropdownInputOptions.default,{isVisibleDropdown:isVisibleDropdown,onClose:function onClose(){setIsVisibleDropdown(false);},value:value,onSelectOption:onSelectOption,modalPosition:modalPosition,windowWidth:windowWidth,windowHeight:windowHeight,data:dataList,displayKey:displayKey,maxVisibleOptions:maxVisibleOptions,onScroll:onScroll,isLoading:isLoading,isStaticData:staticData!==undefined,searchPlaceholder:searchPlaceholder,onFilterTextChange:handleOnFilterTextChange,noResultsText:noResultsText,isModalUp:isModalUp,__self:_this,__source:{fileName:_jsxFileName,lineNumber:208,columnNumber:9}}));};var _default=exports.default=DropdownInput;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _InputBase=_interopRequireDefault(require("../InputBase"));var _button=require("../../button");var _icons=require("../../../assets/images/icons");var _functions_utils=require("../../../helpers/functions_utils");var _DropdownInputOptions=_interopRequireDefault(require("./components/DropdownInputOptions/DropdownInputOptions"));var _DropdownInput=require("./DropdownInput.constants");var _excluded=["staticData","displayKey","onSelect","value","maxVisibleOptions","onFetchData","pageSize","searchPlaceholder","noResultsText"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/dropdown-input/DropdownInput.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var DropdownInput=function DropdownInput(_ref){var staticData=_ref.staticData,displayKey=_ref.displayKey,onSelect=_ref.onSelect,value=_ref.value,_ref$maxVisibleOption=_ref.maxVisibleOptions,maxVisibleOptions=_ref$maxVisibleOption===void 0?_DropdownInput.MAX_VISIBLE_OPTION:_ref$maxVisibleOption,onFetchData=_ref.onFetchData,_ref$pageSize=_ref.pageSize,pageSize=_ref$pageSize===void 0?_DropdownInput.PAGE_SIZE:_ref$pageSize,_ref$searchPlaceholde=_ref.searchPlaceholder,searchPlaceholder=_ref$searchPlaceholde===void 0?_DropdownInput.SEARCH_PLACEHOLDER:_ref$searchPlaceholde,_ref$noResultsText=_ref.noResultsText,noResultsText=_ref$noResultsText===void 0?_DropdownInput.NO_RESULT_TEXT:_ref$noResultsText,inputBaseProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var ref=(0,_react.useRef)(null);var refInput=(0,_react.useRef)(null);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isVisibleDropdown=_useState2[0],setIsVisibleDropdown=_useState2[1];var _useState3=(0,_react.useState)([]),_useState4=(0,_slicedToArray2.default)(_useState3,2),dataList=_useState4[0],setDataList=_useState4[1];var _useState5=(0,_react.useState)(0),_useState6=(0,_slicedToArray2.default)(_useState5,2),currentPage=_useState6[0],setCurrentPage=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isLoading=_useState8[0],setIsLoading=_useState8[1];var _useState9=(0,_react.useState)(true),_useState10=(0,_slicedToArray2.default)(_useState9,2),isLoadMoreData=_useState10[0],setIsLoadMoreData=_useState10[1];var _useState11=(0,_react.useState)(0),_useState12=(0,_slicedToArray2.default)(_useState11,2),heightOptions=_useState12[0],setHeightOptions=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isModalUp=_useState14[0],setIsModalUp=_useState14[1];var _useState15=(0,_react.useState)(''),_useState16=(0,_slicedToArray2.default)(_useState15,2),filterText=_useState16[0],setFilterText=_useState16[1];var _useState17=(0,_react.useState)({top:0,left:0,width:0}),_useState18=(0,_slicedToArray2.default)(_useState17,2),modalPosition=_useState18[0],setModalPosition=_useState18[1];var _Dimensions$get=_reactNative.Dimensions.get('window'),windowWidth=_Dimensions$get.width,windowHeight=_Dimensions$get.height;var adjustDropdownPosition=(0,_react.useCallback)(function(){if(ref.current){ref.current.measure(function(x,y,width,height,pageX,pageY){var spaceBelow=windowHeight-(pageY+height);if(heightOptions+16>spaceBelow){setModalPosition({top:pageY-heightOptions-16,left:pageX,width:width});setIsModalUp(true);}else{setModalPosition({top:pageY+height,left:pageX,width:width});setIsModalUp(false);}});}},[heightOptions,windowHeight]);(0,_react.useEffect)(function(){if((0,_functions_utils.isWebPlatform)()){if((dataList==null?void 0:dataList.length)===0){if(isLoading){return setHeightOptions(_DropdownInput.OFFSET_LOADING);}return setHeightOptions(_DropdownInput.OFFSET);}if(maxVisibleOptions&&(dataList==null?void 0:dataList.length)<=maxVisibleOptions){return setHeightOptions((dataList==null?void 0:dataList.length)*_DropdownInput.OFFSET);}setHeightOptions(maxVisibleOptions*_DropdownInput.OFFSET);}},[dataList,isLoading,windowHeight]);(0,_react.useEffect)(function(){if(!!staticData){setDataList(staticData);}},[staticData]);(0,_react.useEffect)(function(){setFilterText('');if(isVisibleDropdown&&!staticData){setDataList([]);setIsLoadMoreData(true);fetchMordeData(0,[],true,'');}},[isVisibleDropdown]);(0,_react.useEffect)(function(){adjustDropdownPosition();if((0,_functions_utils.isWebPlatform)()){var handleScroll=function handleScroll(){if(isVisibleDropdown){adjustDropdownPosition();}};window.addEventListener('scroll',handleScroll,{passive:true});return function(){return window.removeEventListener('scroll',handleScroll);};}},[isVisibleDropdown,adjustDropdownPosition]);var onSelectOption=function onSelectOption(item){var _refInput$current;onSelect==null?void 0:onSelect(item);setIsVisibleDropdown(false);if(refInput!=null&&(_refInput$current=refInput.current)!=null&&_refInput$current.setNativeProps){var _refInput$current2;refInput==null?void 0:(_refInput$current2=refInput.current)==null?void 0:_refInput$current2.setNativeProps({selection:{start:0,end:0}});}};var onScroll=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(event){if(isAtEndOfScroll(event.nativeEvent)&&!isLoading){yield fetchMordeData(currentPage,dataList,isLoadMoreData,filterText);}});return function onScroll(_x){return _ref2.apply(this,arguments);};}();var fetchMordeData=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(currentPage,prevData,isLoadMoreData,filterText){if(!isLoading&&onFetchData&&isLoadMoreData&&!staticData){setIsLoading(true);yield onFetchData(currentPage,pageSize,filterText).then(function(res){if(res.length===0){setIsLoadMoreData(false);return;}setDataList([].concat((0,_toConsumableArray2.default)(prevData),(0,_toConsumableArray2.default)(res)));}).finally(function(){setCurrentPage(currentPage+1);setIsLoading(false);});}});return function fetchMordeData(_x2,_x3,_x4,_x5){return _ref3.apply(this,arguments);};}();var isAtEndOfScroll=function isAtEndOfScroll(_ref4){var layoutMeasurement=_ref4.layoutMeasurement,contentOffset=_ref4.contentOffset,contentSize=_ref4.contentSize;return layoutMeasurement.height+contentOffset.y>=contentSize.height-_DropdownInput.BUFFER;};var handleOnFilterTextChange=function(){var _ref5=(0,_asyncToGenerator2.default)(function*(value){setDataList([]);setCurrentPage(0);setIsLoadMoreData(true);setFilterText(value);yield fetchMordeData(0,[],true,value);});return function handleOnFilterTextChange(_x6){return _ref5.apply(this,arguments);};}();return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_reactNative.View,{onLayout:function onLayout(){if((0,_functions_utils.isWebPlatform)()){adjustDropdownPosition();}},__self:_this,__source:{fileName:_jsxFileName,lineNumber:178,columnNumber:7}},_react.default.createElement(_InputBase.default,(0,_extends2.default)({refInput:refInput,refInputContainer:ref},inputBaseProps,{rightButtons:[_react.default.createElement(_button.Button,{onPress:function onPress(){setIsVisibleDropdown(true);},typeStyle:'primary',iconLeft:isVisibleDropdown?_react.default.createElement(_icons.ChevronUpIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:195,columnNumber:37}}):_react.default.createElement(_icons.ChevronDownIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:195,columnNumber:57}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:189,columnNumber:13}})],value:value==null?void 0:value.toString(),onPress:function onPress(){setIsVisibleDropdown(true);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:184,columnNumber:9}}))),isVisibleDropdown&&!!modalPosition.width&&_react.default.createElement(_DropdownInputOptions.default,{isVisibleDropdown:isVisibleDropdown,onClose:function onClose(){setIsVisibleDropdown(false);},value:value,onSelectOption:onSelectOption,modalPosition:modalPosition,windowWidth:windowWidth,windowHeight:windowHeight,data:dataList,displayKey:displayKey,maxVisibleOptions:maxVisibleOptions,onScroll:onScroll,isLoading:isLoading,isStaticData:staticData!==undefined,searchPlaceholder:searchPlaceholder,onFilterTextChange:handleOnFilterTextChange,noResultsText:noResultsText,isModalUp:isModalUp,__self:_this,__source:{fileName:_jsxFileName,lineNumber:206,columnNumber:9}}));};var _default=exports.default=DropdownInput;
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _reactNative=require("react-native");var _react=_interopRequireWildcard(require("react"));var _colors=require("../../../../../styles/colors");var _searchInput=require("../../../search-input");var _DropdownInput=require("../../DropdownInput.styles");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/dropdown-input/components/DropdownInputOptions/DropdownInputOptions.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var DropdownInputOptions=function DropdownInputOptions(_ref){var isVisibleDropdown=_ref.isVisibleDropdown,onClose=_ref.onClose,onSelectOption=_ref.onSelectOption,modalPosition=_ref.modalPosition,windowHeight=_ref.windowHeight,windowWidth=_ref.windowWidth,data=_ref.data,displayKey=_ref.displayKey,value=_ref.value,maxVisibleOptions=_ref.maxVisibleOptions,onScroll=_ref.onScroll,isLoading=_ref.isLoading,isStaticData=_ref.isStaticData,searchPlaceholder=_ref.searchPlaceholder,onFilterTextChange=_ref.onFilterTextChange,noResultsText=_ref.noResultsText,isModalUp=_ref.isModalUp;var _useState=(0,_react.useState)(''),_useState2=(0,_slicedToArray2.default)(_useState,2),filterText=_useState2[0],setFilterText=_useState2[1];var isCenteredModal=_reactNative.Platform.OS==='android'||_reactNative.Platform.OS==='ios';(0,_react.useEffect)(function(){if(!isLoading&&filterText){var handler=setTimeout(function(){onFilterTextChange(filterText);},500);return function(){return clearTimeout(handler);};}},[filterText]);var filterComponent=function filterComponent(){return _react.default.createElement(_reactNative.View,{style:_DropdownInput.styles.searchContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:57,columnNumber:7}},_react.default.createElement(_searchInput.SearchInput,{placeholder:searchPlaceholder,value:filterText||'',onChangeText:function onChangeText(text){setFilterText(text);},isFocusable:false,styleContainer:{borderColor:_colors.NEUTRAL_400},onSubmit:function onSubmit(){onFilterTextChange(filterText||'');},rightButtons:isLoading?[_react.default.createElement(_reactNative.ActivityIndicator,{style:_DropdownInput.styles.iconLoading,color:_colors.PRIMARY_100,__self:_this,__source:{fileName:_jsxFileName,lineNumber:72,columnNumber:19}})]:[],__self:_this,__source:{fileName:_jsxFileName,lineNumber:58,columnNumber:9}}));};return _react.default.createElement(_reactNative.Modal,{transparent:true,visible:isVisibleDropdown,onRequestClose:function onRequestClose(){onClose();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:85,columnNumber:5}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){onClose();},activeOpacity:1,__self:_this,__source:{fileName:_jsxFileName,lineNumber:91,columnNumber:7}},_react.default.createElement(_reactNative.KeyboardAvoidingView,{behavior:_reactNative.Platform.OS==='ios'?'padding':'height',style:[isCenteredModal&&_DropdownInput.styles.containerNative,{width:windowWidth,height:windowHeight}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:96,columnNumber:9}},_react.default.createElement(_reactNative.View,{onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},style:[_DropdownInput.styles.optionsContainer,isCenteredModal&&{height:maxVisibleOptions&&maxVisibleOptions*48+48+16},{maxHeight:maxVisibleOptions&&data&&(data==null?void 0:data.length)<=maxVisibleOptions?'auto':maxVisibleOptions&&maxVisibleOptions*48+48+16},!isCenteredModal&&{top:modalPosition.top+8,left:modalPosition.left},{width:modalPosition.width}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:102,columnNumber:11}},!!(!isStaticData&&!isModalUp||!isStaticData&&isCenteredModal)&&filterComponent(),_react.default.createElement(_reactNative.ScrollView,{contentContainerStyle:{flexGrow:1},scrollEventThrottle:16,onScroll:onScroll,__self:_this,__source:{fileName:_jsxFileName,lineNumber:127,columnNumber:13}},displayKey&&(data==null?void 0:data.map(function(item,index){return _react.default.createElement(_reactNative.TouchableOpacity,{key:'dropdown'+index,onPress:function onPress(){onSelectOption(item);},style:[_DropdownInput.styles.option,!!value&&item[displayKey]===value&&{backgroundColor:_colors.TERTIARY_101}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:134,columnNumber:21}},_react.default.createElement(_reactNative.Text,{style:_DropdownInput.styles.optionText,numberOfLines:2,__self:_this,__source:{fileName:_jsxFileName,lineNumber:146,columnNumber:23}},item[displayKey]));})),!isLoading&&!(data!=null&&data.length)&&_react.default.createElement(_reactNative.View,{style:_DropdownInput.styles.option,__self:_this,__source:{fileName:_jsxFileName,lineNumber:153,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:_DropdownInput.styles.optionText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:154,columnNumber:19}},noResultsText))),!isStaticData&&isModalUp&&!isCenteredModal&&filterComponent()))));};var _default=exports.default=DropdownInputOptions;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _reactNative=require("react-native");var _react=_interopRequireWildcard(require("react"));var _colors=require("../../../../../styles/colors");var _searchInput=require("../../../search-input");var _DropdownInput=require("../../DropdownInput.styles");var _DropdownInput2=require("../../DropdownInput.constants");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/dropdown-input/components/DropdownInputOptions/DropdownInputOptions.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var DropdownInputOptions=function DropdownInputOptions(_ref){var isVisibleDropdown=_ref.isVisibleDropdown,onClose=_ref.onClose,onSelectOption=_ref.onSelectOption,modalPosition=_ref.modalPosition,windowHeight=_ref.windowHeight,windowWidth=_ref.windowWidth,data=_ref.data,displayKey=_ref.displayKey,value=_ref.value,maxVisibleOptions=_ref.maxVisibleOptions,onScroll=_ref.onScroll,isLoading=_ref.isLoading,isStaticData=_ref.isStaticData,searchPlaceholder=_ref.searchPlaceholder,onFilterTextChange=_ref.onFilterTextChange,noResultsText=_ref.noResultsText,isModalUp=_ref.isModalUp;var _useState=(0,_react.useState)(''),_useState2=(0,_slicedToArray2.default)(_useState,2),filterText=_useState2[0],setFilterText=_useState2[1];var isCenteredModal=_reactNative.Platform.OS==='android'||_reactNative.Platform.OS==='ios';(0,_react.useEffect)(function(){if(!isLoading&&filterText){var handler=setTimeout(function(){onFilterTextChange(filterText);},500);return function(){return clearTimeout(handler);};}},[filterText]);var filterComponent=function filterComponent(){return _react.default.createElement(_reactNative.View,{style:_DropdownInput.styles.searchContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:57,columnNumber:7}},_react.default.createElement(_searchInput.SearchInput,{placeholder:searchPlaceholder,value:filterText||'',onChangeText:function onChangeText(text){setFilterText(text);},isFocusable:false,styleContainer:{borderColor:_colors.NEUTRAL_400},onSubmit:function onSubmit(){onFilterTextChange(filterText||'');},rightButtons:isLoading?[_react.default.createElement(_reactNative.ActivityIndicator,{style:_DropdownInput.styles.iconLoading,color:_colors.PRIMARY_100,__self:_this,__source:{fileName:_jsxFileName,lineNumber:72,columnNumber:19}})]:[],__self:_this,__source:{fileName:_jsxFileName,lineNumber:58,columnNumber:9}}));};return _react.default.createElement(_reactNative.Modal,{transparent:true,visible:isVisibleDropdown,onRequestClose:function onRequestClose(){onClose();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:85,columnNumber:5}},_react.default.createElement(_reactNative.KeyboardAvoidingView,{behavior:_reactNative.Platform.OS==='ios'?'padding':'height',style:[isCenteredModal&&_DropdownInput.styles.containerNative,{width:windowWidth,height:windowHeight}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:91,columnNumber:7}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){onClose();},style:{width:windowWidth,height:windowHeight},activeOpacity:1,__self:_this,__source:{fileName:_jsxFileName,lineNumber:97,columnNumber:9}}),_react.default.createElement(_reactNative.View,{onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},style:[_DropdownInput.styles.optionsContainer,isCenteredModal&&{height:maxVisibleOptions&&maxVisibleOptions*_DropdownInput2.OFFSET},{maxHeight:maxVisibleOptions&&data&&(data==null?void 0:data.length)<=maxVisibleOptions?'auto':maxVisibleOptions&&maxVisibleOptions*_DropdownInput2.OFFSET},!isCenteredModal&&{top:modalPosition.top+8,left:modalPosition.left},{width:modalPosition.width}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:104,columnNumber:9}},!!(!isStaticData&&!isModalUp||!isStaticData&&isCenteredModal)&&filterComponent(),_react.default.createElement(_reactNative.ScrollView,{contentContainerStyle:{flexGrow:1},scrollEventThrottle:16,onScroll:onScroll,__self:_this,__source:{fileName:_jsxFileName,lineNumber:129,columnNumber:11}},displayKey&&(data==null?void 0:data.map(function(item,index){return _react.default.createElement(_reactNative.TouchableOpacity,{key:'dropdown'+index,onPress:function onPress(){onSelectOption(item);},style:[_DropdownInput.styles.option,!!value&&item[displayKey]===value&&{backgroundColor:_colors.TERTIARY_101}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:136,columnNumber:19}},_react.default.createElement(_reactNative.Text,{style:_DropdownInput.styles.optionText,numberOfLines:2,__self:_this,__source:{fileName:_jsxFileName,lineNumber:148,columnNumber:21}},item[displayKey]));})),!isLoading&&!(data!=null&&data.length)&&_react.default.createElement(_reactNative.View,{style:_DropdownInput.styles.option,__self:_this,__source:{fileName:_jsxFileName,lineNumber:155,columnNumber:15}},_react.default.createElement(_reactNative.Text,{style:_DropdownInput.styles.optionText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:156,columnNumber:17}},noResultsText))),!isStaticData&&isModalUp&&!isCenteredModal&&filterComponent())));};var _default=exports.default=DropdownInputOptions;
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _InputBase=_interopRequireDefault(require("../InputBase"));var _FileSearchInput=require("./FileSearchInput.styles");var _colors=require("../../../styles/colors");var _FileIcon=require("../../../assets/images/icons/FileIcon");var _button=require("../../button");var _secondaryComponents=require("../../secondaryComponents");var _functions_utils=require("../../../helpers/functions_utils");var _icons=require("../../../assets/images/icons");var _FileSearchInput2=require("./FileSearchInput.constants");var _excluded=["value","placeholder","onChangeText","onSubmit","setFile","onFileUploaded","onError","uploadConfig","maxFileSize","rightButtons","isAttachDisable","isSendDisable"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/file-search-input/FileSearchInput.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var DocumentPicker=null;if(!(0,_functions_utils.isWebPlatform)()){try{import('react-native-document-picker').then(function(module){DocumentPicker=module.default;}).catch(function(error){console.error('Cannot load DocumentPicker',error);});}catch(error){console.error('Error importing DocumentPicker',error);}}var POSITION_DOWN_FILE=50;var POSITION_UP_FILE=60;var FileSearchInput=function FileSearchInput(_ref){var value=_ref.value,placeholder=_ref.placeholder,onChangeText=_ref.onChangeText,onSubmit=_ref.onSubmit,setFile=_ref.setFile,onFileUploaded=_ref.onFileUploaded,onError=_ref.onError,uploadConfig=_ref.uploadConfig,_ref$maxFileSize=_ref.maxFileSize,maxFileSize=_ref$maxFileSize===void 0?512:_ref$maxFileSize,rightButtons=_ref.rightButtons,isAttachDisable=_ref.isAttachDisable,isSendDisable=_ref.isSendDisable,inputBaseProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),progress=_useState2[0],setProgress=_useState2[1];var _useState3=(0,_react.useState)(null),_useState4=(0,_slicedToArray2.default)(_useState3,2),file=_useState4[0],setLocalFile=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),loadingFile=_useState6[0],setLoadingFile=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isFileValid=_useState8[0],setIsFileValid=_useState8[1];var _useState9=(0,_react.useState)('none'),_useState10=(0,_slicedToArray2.default)(_useState9,2),fileStatus=_useState10[0],setFileStatus=_useState10[1];var _useState11=(0,_react.useState)({top:0,left:0,width:0}),_useState12=(0,_slicedToArray2.default)(_useState11,2),modalPosition=_useState12[0],setModalPosition=_useState12[1];var _Dimensions$get=_reactNative.Dimensions.get('window'),windowHeight=_Dimensions$get.height,windowWidth=_Dimensions$get.width;var refInput=(0,_react.useRef)(null);var dropAreaRef=(0,_react.useRef)(null);var fileInputRef=(0,_react.useRef)(null);var abortControllerRef=(0,_react.useRef)(null);var resetProgress=function resetProgress(){setLocalFile(null);setIsFileValid(false);setLoadingFile(false);setProgress(0);setFileStatus('none');};var handleDragOver=function handleDragOver(event){event.preventDefault();};var handleDrop=function handleDrop(event){event.preventDefault();var files=event.dataTransfer.files;if(files.length>0){var droppedFile=files[0];validateAndLoadFile(droppedFile);if(!!setFile)setFile(droppedFile);setLocalFile(droppedFile);}};var completeProgress=function completeProgress(){setProgress(100);animateProgress(100);setLoadingFile(false);setIsFileValid(true);setTimeout(function(){setFileStatus('loaded');setProgress(0);},100);};var animateProgress=function animateProgress(toValue){setProgress(toValue);};var startLoading=function startLoading(pickedFile){setLoadingFile(true);if(!!setFile)pickedFile;setLocalFile(pickedFile);setProgress(25);animateProgress(25);};var validateAndLoadFile=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(pickedFile){resetProgress();if(!!setFile)setFile(pickedFile);setIsFileValid(true);startLoading(pickedFile);try{if(!!uploadFile)yield uploadFile(pickedFile);}catch(error){console.error('Error uploading file:',error);setFileStatus('error');onError==null?void 0:onError(error);}return true;});return function validateAndLoadFile(_x){return _ref2.apply(this,arguments);};}();var handleFileButtonClick=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(){if((0,_functions_utils.isWebPlatform)()){fileInputRef.current.click();}else{if(!DocumentPicker){console.error('DocumentPicker is not available on this platform.');return;}try{var response=yield DocumentPicker.pick({type:[DocumentPicker.types.allFiles]});var pickedFile={name:response[0].name,size:response[0].size,type:response[0].type,uri:response[0].uri};validateAndLoadFile(pickedFile);}catch(error){if(!DocumentPicker.isCancel(error)){console.error(error);onError==null?void 0:onError(error);}}}});return function handleFileButtonClick(){return _ref3.apply(this,arguments);};}();var handleSendMessage=function handleSendMessage(){if(!loadingFile&&value.trim()!==''){onSubmit==null?void 0:onSubmit(value,isFileValid?file:null);resetProgress();if(!!setFile)setFile(null);setLocalFile(null);setIsFileValid(false);}else{var errorMessage='Please wait for the file to finish loading.';if(value.trim()===''){errorMessage='Message cannot be empty.';}else if(file&&!isFileValid){errorMessage="File size should not exceed "+maxFileSize+" MB.";}}};var UploadButton=_react.default.createElement(_button.Button,{paddingVertical:0,typeStyle:"white",onPress:handleFileButtonClick,disabled:isAttachDisable,iconLeft:_react.default.createElement(_icons.PaperclipIcon,{style:_FileSearchInput.styles.fileIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:220,columnNumber:17}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:215,columnNumber:5}});var SendButton=_react.default.createElement(_button.Button,{paddingVertical:0,typeStyle:"white",onPress:handleSendMessage,disabled:isSendDisable,iconLeft:_react.default.createElement(_icons.CornerDownRightIcon,{style:_FileSearchInput.styles.fileIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:229,columnNumber:17}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:224,columnNumber:5}});var buttons=rightButtons;if(!!uploadConfig){buttons=buttons?[].concat((0,_toConsumableArray2.default)(buttons),[UploadButton]):[UploadButton];}if(!!onSubmit){buttons=buttons?[].concat((0,_toConsumableArray2.default)(buttons),[SendButton]):[SendButton];}var handleFileSelect=function(){var _ref4=(0,_asyncToGenerator2.default)(function*(event){var file=event.target.files[0];if(file){if(yield validateAndLoadFile(file)){if(!!setFile)setFile(file);setLocalFile(file);}}event.target.value=null;});return function handleFileSelect(_x2){return _ref4.apply(this,arguments);};}();var uploadFile=function(){var _ref5=(0,_asyncToGenerator2.default)(function*(pickedFile){if(!!uploadConfig){var formData=new FormData();formData.append('file',pickedFile);abortControllerRef.current=new AbortController();var signal=abortControllerRef.current.signal;try{var response=yield fetch(uploadConfig.url,{method:uploadConfig.method,body:formData,headers:uploadConfig.headers,signal:signal});if(response.ok){completeProgress();setLoadingFile(false);setFileStatus('loaded');if(!!onFileUploaded){var data=yield response.json();onFileUploaded(data);}}else{var errorResponse=yield response.json();console.error('Error uploading file:',errorResponse);onError==null?void 0:onError(errorResponse);setFileStatus('error');resetProgress();if(!!setFile)setFile(null);}}catch(error){if(error.name==='AbortError'){console.error('File upload cancelled');setFileStatus('canceled');}else{console.error('Error uploading file:',error);setFileStatus('error');}resetProgress();if(!!setFile)setFile(null);}}});return function uploadFile(_x3){return _ref5.apply(this,arguments);};}();var handleCancelFile=function handleCancelFile(){if(abortControllerRef.current){abortControllerRef.current.abort();}resetProgress();animateProgress(0);if(!!setFile)setFile(null);setFileStatus('canceled');if(fileInputRef.current){fileInputRef.current.value=null;}};(0,_react.useEffect)(function(){return function(){if(abortControllerRef.current){abortControllerRef.current.abort();}};},[]);var adjustDropdownPosition=(0,_react.useCallback)(function(){if(refInput.current){refInput.current.measure(function(x,y,width,height,pageX,pageY){setModalPosition({top:pageY>=POSITION_UP_FILE?-POSITION_UP_FILE:POSITION_DOWN_FILE,left:pageX,width:width});});}},[windowHeight]);(0,_react.useEffect)(function(){adjustDropdownPosition();if((0,_functions_utils.isWebPlatform)()){var handleScroll=function handleScroll(){adjustDropdownPosition();};window.addEventListener('scroll',handleScroll,{passive:true});return function(){return window.removeEventListener('scroll',handleScroll);};}},[windowHeight,windowWidth,adjustDropdownPosition]);var onKeyPressHandler=function onKeyPressHandler(e){if(_FileSearchInput2.KEY_SHIFT in e&&e.nativeEvent.key===_FileSearchInput2.KEY_ENTER&&!e.nativeEvent.shiftKey){e.preventDefault();handleSendMessage();}};return _react.default.createElement(_reactNative.SafeAreaView,{style:_FileSearchInput.styles.container,__self:_this,__source:{fileName:_jsxFileName,lineNumber:362,columnNumber:5}},_react.default.createElement(_react.default.Fragment,null,(0,_functions_utils.isWebPlatform)()?_react.default.createElement("div",{ref:dropAreaRef,onDrop:handleDrop,onDragOver:handleDragOver,onDragEnter:handleDragOver,onDragLeave:handleDragOver,__self:_this,__source:{fileName:_jsxFileName,lineNumber:365,columnNumber:11}},_react.default.createElement(_InputBase.default,(0,_extends2.default)({},inputBaseProps,{refInputContainer:refInput,value:value,onChangeText:onChangeText,rightButtons:buttons,onSubmitEditing:handleSendMessage,placeholder:placeholder,onKeyPress:onKeyPressHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:371,columnNumber:13}})),_react.default.createElement("input",{type:"file",ref:fileInputRef,style:{display:'none'},onChange:handleFileSelect,__self:_this,__source:{fileName:_jsxFileName,lineNumber:381,columnNumber:13}})):_react.default.createElement(_InputBase.default,(0,_extends2.default)({},inputBaseProps,{value:value,onChangeText:onChangeText,rightButtons:buttons,placeholder:placeholder,__self:_this,__source:{fileName:_jsxFileName,lineNumber:389,columnNumber:11}}))),file&&isFileValid&&fileStatus!=='canceled'&&_react.default.createElement(_reactNative.View,{onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},style:[_FileSearchInput.styles.fileContainer,{top:modalPosition.top,width:modalPosition.width}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:399,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileNameContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:408,columnNumber:11}},_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileNameLoadedLeftContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:409,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileIconContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:410,columnNumber:15}},_react.default.createElement(_FileIcon.FileIcon,{style:_FileSearchInput.styles.fileIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:411,columnNumber:17}})),_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:413,columnNumber:15}},_react.default.createElement(_reactNative.Text,{style:_FileSearchInput.styles.fileNameText,numberOfLines:1,ellipsizeMode:"tail",__self:_this,__source:{fileName:_jsxFileName,lineNumber:414,columnNumber:17}},file==null?void 0:file.name),progress>0&&_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.progressBarContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:421,columnNumber:19}},_react.default.createElement(_secondaryComponents.SkeletonItem,{width:progress+"%",height:8,color:_colors.NEUTRAL_1000,borderRadius:16,__self:_this,__source:{fileName:_jsxFileName,lineNumber:422,columnNumber:21}})))),_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileNameRightContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:433,columnNumber:13}},fileStatus==='loaded'&&_react.default.createElement(_icons.CheckCircleFillIcon,{style:_FileSearchInput.styles.checkCircleIcon,fill:_colors.SUCCESS_600,__self:_this,__source:{fileName:_jsxFileName,lineNumber:435,columnNumber:17}}),_react.default.createElement(_reactNative.TouchableOpacity,{style:_FileSearchInput.styles.containerXicon,onPress:handleCancelFile,__self:_this,__source:{fileName:_jsxFileName,lineNumber:440,columnNumber:15}},_react.default.createElement(_icons.XIcon,{style:_FileSearchInput.styles.deleteIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:443,columnNumber:17}}))))));};var _default=exports.default=FileSearchInput;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _InputBase=_interopRequireDefault(require("../InputBase"));var _FileSearchInput=require("./FileSearchInput.styles");var _colors=require("../../../styles/colors");var _FileIcon=require("../../../assets/images/icons/FileIcon");var _button=require("../../button");var _secondaryComponents=require("../../secondaryComponents");var _functions_utils=require("../../../helpers/functions_utils");var _icons=require("../../../assets/images/icons");var _FileSearchInput2=require("./FileSearchInput.constants");var _excluded=["value","placeholder","onChangeText","onSubmit","setFile","onFileUploaded","onError","uploadConfig","maxFileSize","rightButtons","isAttachDisable","isSendDisable"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/file-search-input/FileSearchInput.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var DocumentPicker=null;if(!(0,_functions_utils.isWebPlatform)()){try{import('react-native-document-picker').then(function(module){DocumentPicker=module.default;}).catch(function(error){console.error('Cannot load DocumentPicker',error);});}catch(error){console.error('Error importing DocumentPicker',error);}}var POSITION_DOWN_FILE=55;var POSITION_UP_FILE=60;var FileSearchInput=function FileSearchInput(_ref){var value=_ref.value,placeholder=_ref.placeholder,onChangeText=_ref.onChangeText,onSubmit=_ref.onSubmit,setFile=_ref.setFile,onFileUploaded=_ref.onFileUploaded,onError=_ref.onError,uploadConfig=_ref.uploadConfig,_ref$maxFileSize=_ref.maxFileSize,maxFileSize=_ref$maxFileSize===void 0?512:_ref$maxFileSize,rightButtons=_ref.rightButtons,isAttachDisable=_ref.isAttachDisable,isSendDisable=_ref.isSendDisable,inputBaseProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),progress=_useState2[0],setProgress=_useState2[1];var _useState3=(0,_react.useState)(null),_useState4=(0,_slicedToArray2.default)(_useState3,2),file=_useState4[0],setLocalFile=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),loadingFile=_useState6[0],setLoadingFile=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isFileValid=_useState8[0],setIsFileValid=_useState8[1];var _useState9=(0,_react.useState)('none'),_useState10=(0,_slicedToArray2.default)(_useState9,2),fileStatus=_useState10[0],setFileStatus=_useState10[1];var _useState11=(0,_react.useState)({top:0,left:0,width:0}),_useState12=(0,_slicedToArray2.default)(_useState11,2),modalPosition=_useState12[0],setModalPosition=_useState12[1];var _Dimensions$get=_reactNative.Dimensions.get('window'),windowHeight=_Dimensions$get.height,windowWidth=_Dimensions$get.width;var refInput=(0,_react.useRef)(null);var dropAreaRef=(0,_react.useRef)(null);var fileInputRef=(0,_react.useRef)(null);var abortControllerRef=(0,_react.useRef)(null);var resetProgress=function resetProgress(){setLocalFile(null);setIsFileValid(false);setLoadingFile(false);setProgress(0);setFileStatus('none');};var handleDragOver=function handleDragOver(event){event.preventDefault();};var handleDrop=function handleDrop(event){event.preventDefault();var files=event.dataTransfer.files;if(files.length>0){var droppedFile=files[0];validateAndLoadFile(droppedFile);if(!!setFile)setFile(droppedFile);setLocalFile(droppedFile);}};var completeProgress=function completeProgress(){setProgress(100);animateProgress(100);setLoadingFile(false);setIsFileValid(true);setTimeout(function(){setFileStatus('loaded');setProgress(0);},100);};var animateProgress=function animateProgress(toValue){setProgress(toValue);};var startLoading=function startLoading(pickedFile){setLoadingFile(true);if(!!setFile)pickedFile;setLocalFile(pickedFile);setProgress(25);animateProgress(25);};var validateAndLoadFile=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(pickedFile){resetProgress();if(!!setFile)setFile(pickedFile);setIsFileValid(true);startLoading(pickedFile);try{if(!!uploadFile)yield uploadFile(pickedFile);}catch(error){console.error('Error uploading file:',error);setFileStatus('error');onError==null?void 0:onError(error);}return true;});return function validateAndLoadFile(_x){return _ref2.apply(this,arguments);};}();var handleFileButtonClick=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(){if((0,_functions_utils.isWebPlatform)()){fileInputRef.current.click();}else{if(!DocumentPicker){console.error('DocumentPicker is not available on this platform.');return;}try{var response=yield DocumentPicker.pick({type:[DocumentPicker.types.allFiles]});var pickedFile={name:response[0].name,size:response[0].size,type:response[0].type,uri:response[0].uri};validateAndLoadFile(pickedFile);}catch(error){if(!DocumentPicker.isCancel(error)){console.error(error);onError==null?void 0:onError(error);}}}});return function handleFileButtonClick(){return _ref3.apply(this,arguments);};}();var handleSendMessage=function handleSendMessage(){if(!loadingFile&&value.trim()!==''){onSubmit==null?void 0:onSubmit(value,isFileValid?file:null);resetProgress();if(!!setFile)setFile(null);setLocalFile(null);setIsFileValid(false);}else{var errorMessage='Please wait for the file to finish loading.';if(value.trim()===''){errorMessage='Message cannot be empty.';}else if(file&&!isFileValid){errorMessage="File size should not exceed "+maxFileSize+" MB.";}}};var UploadButton=_react.default.createElement(_button.Button,{typeStyle:"white",onPress:handleFileButtonClick,disabled:isAttachDisable,iconLeft:_react.default.createElement(_icons.PaperclipIcon,{style:_FileSearchInput.styles.fileIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:219,columnNumber:17}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:215,columnNumber:5}});var SendButton=_react.default.createElement(_button.Button,{typeStyle:"white",onPress:handleSendMessage,disabled:isSendDisable,iconLeft:_react.default.createElement(_icons.CornerDownRightIcon,{style:_FileSearchInput.styles.fileIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:227,columnNumber:17}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:223,columnNumber:5}});var buttons=rightButtons;if(!!uploadConfig){buttons=buttons?[].concat((0,_toConsumableArray2.default)(buttons),[UploadButton]):[UploadButton];}if(!!onSubmit){buttons=buttons?[].concat((0,_toConsumableArray2.default)(buttons),[SendButton]):[SendButton];}var handleFileSelect=function(){var _ref4=(0,_asyncToGenerator2.default)(function*(event){var file=event.target.files[0];if(file){if(yield validateAndLoadFile(file)){if(!!setFile)setFile(file);setLocalFile(file);}}event.target.value=null;});return function handleFileSelect(_x2){return _ref4.apply(this,arguments);};}();var uploadFile=function(){var _ref5=(0,_asyncToGenerator2.default)(function*(pickedFile){if(!!uploadConfig){var formData=new FormData();formData.append('file',pickedFile);abortControllerRef.current=new AbortController();var signal=abortControllerRef.current.signal;try{var response=yield fetch(uploadConfig.url,{method:uploadConfig.method,body:formData,headers:uploadConfig.headers,signal:signal});if(response.ok){completeProgress();setLoadingFile(false);setFileStatus('loaded');if(!!onFileUploaded){var data=yield response.json();onFileUploaded(data);}}else{var errorResponse=yield response.json();console.error('Error uploading file:',errorResponse);onError==null?void 0:onError(errorResponse);setFileStatus('error');resetProgress();if(!!setFile)setFile(null);}}catch(error){if(error.name==='AbortError'){console.error('File upload cancelled');setFileStatus('canceled');}else{console.error('Error uploading file:',error);setFileStatus('error');}resetProgress();if(!!setFile)setFile(null);}}});return function uploadFile(_x3){return _ref5.apply(this,arguments);};}();var handleCancelFile=function handleCancelFile(){if(abortControllerRef.current){abortControllerRef.current.abort();}resetProgress();animateProgress(0);if(!!setFile)setFile(null);setFileStatus('canceled');if(fileInputRef.current){fileInputRef.current.value=null;}};(0,_react.useEffect)(function(){return function(){if(abortControllerRef.current){abortControllerRef.current.abort();}};},[]);var adjustDropdownPosition=(0,_react.useCallback)(function(){if(refInput.current){refInput.current.measure(function(x,y,width,height,pageX,pageY){setModalPosition({top:pageY>=POSITION_UP_FILE?-POSITION_UP_FILE:POSITION_DOWN_FILE,left:pageX,width:width});});}},[windowHeight]);(0,_react.useEffect)(function(){adjustDropdownPosition();if((0,_functions_utils.isWebPlatform)()){var handleScroll=function handleScroll(){adjustDropdownPosition();};window.addEventListener('scroll',handleScroll,{passive:true});return function(){return window.removeEventListener('scroll',handleScroll);};}},[windowHeight,windowWidth,adjustDropdownPosition]);var onKeyPressHandler=function onKeyPressHandler(e){if(_FileSearchInput2.KEY_SHIFT in e&&e.nativeEvent.key===_FileSearchInput2.KEY_ENTER&&!e.nativeEvent.shiftKey){e.preventDefault();handleSendMessage();}};return _react.default.createElement(_reactNative.SafeAreaView,{style:_FileSearchInput.styles.container,__self:_this,__source:{fileName:_jsxFileName,lineNumber:360,columnNumber:5}},_react.default.createElement(_react.default.Fragment,null,(0,_functions_utils.isWebPlatform)()?_react.default.createElement("div",{ref:dropAreaRef,onDrop:handleDrop,onDragOver:handleDragOver,onDragEnter:handleDragOver,onDragLeave:handleDragOver,__self:_this,__source:{fileName:_jsxFileName,lineNumber:363,columnNumber:11}},_react.default.createElement(_InputBase.default,(0,_extends2.default)({},inputBaseProps,{refInputContainer:refInput,value:value,onChangeText:onChangeText,rightButtons:buttons,onSubmitEditing:handleSendMessage,placeholder:placeholder,onKeyPress:onKeyPressHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:369,columnNumber:13}})),_react.default.createElement("input",{type:"file",ref:fileInputRef,style:{display:'none'},onChange:handleFileSelect,__self:_this,__source:{fileName:_jsxFileName,lineNumber:379,columnNumber:13}})):_react.default.createElement(_InputBase.default,(0,_extends2.default)({},inputBaseProps,{value:value,onChangeText:onChangeText,rightButtons:buttons,placeholder:placeholder,__self:_this,__source:{fileName:_jsxFileName,lineNumber:387,columnNumber:11}}))),file&&isFileValid&&fileStatus!=='canceled'&&_react.default.createElement(_reactNative.View,{onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},style:[_FileSearchInput.styles.fileContainer,{top:modalPosition.top,width:modalPosition.width}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:397,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileNameContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:406,columnNumber:11}},_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileNameLoadedLeftContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:407,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileIconContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:408,columnNumber:15}},_react.default.createElement(_FileIcon.FileIcon,{style:_FileSearchInput.styles.fileIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:409,columnNumber:17}})),_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:411,columnNumber:15}},_react.default.createElement(_reactNative.Text,{style:_FileSearchInput.styles.fileNameText,numberOfLines:1,ellipsizeMode:"tail",__self:_this,__source:{fileName:_jsxFileName,lineNumber:412,columnNumber:17}},file==null?void 0:file.name),progress>0&&_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.progressBarContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:419,columnNumber:19}},_react.default.createElement(_secondaryComponents.SkeletonItem,{width:progress+"%",height:8,color:_colors.NEUTRAL_1000,borderRadius:16,__self:_this,__source:{fileName:_jsxFileName,lineNumber:420,columnNumber:21}})))),_react.default.createElement(_reactNative.View,{style:_FileSearchInput.styles.fileNameRightContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:431,columnNumber:13}},fileStatus==='loaded'&&_react.default.createElement(_icons.CheckCircleFillIcon,{style:_FileSearchInput.styles.checkCircleIcon,fill:_colors.SUCCESS_600,__self:_this,__source:{fileName:_jsxFileName,lineNumber:433,columnNumber:17}}),_react.default.createElement(_reactNative.TouchableOpacity,{style:_FileSearchInput.styles.containerXicon,onPress:handleCancelFile,__self:_this,__source:{fileName:_jsxFileName,lineNumber:438,columnNumber:15}},_react.default.createElement(_icons.XIcon,{style:_FileSearchInput.styles.deleteIcon,__self:_this,__source:{fileName:_jsxFileName,lineNumber:441,columnNumber:17}}))))));};var _default=exports.default=FileSearchInput;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { IInputBase } from './InputBase.types';
3
- declare const InputBase: ({ value, placeholder, title, helperText, isDisabled, isError, onChangeText, icon, rightButtons, onPress, onBlur, onSubmitEditing, onKeyPress, secureTextEntry, keyboardType, styleContainer, isFocusable, refInputContainer, refInput, multiline, numberOfLines, }: IInputBase) => React.JSX.Element;
3
+ declare const InputBase: ({ value, placeholder, title, helperText, isDisabled, isError, onChangeText, icon, rightButtons, onPress, onFocus, onBlur, onSubmitEditing, onKeyPress, secureTextEntry, keyboardType, styleContainer, isFocusable, refInputContainer, refInput, multiline, numberOfLines, }: IInputBase) => React.JSX.Element;
4
4
  export default InputBase;
@@ -15,7 +15,7 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
15
15
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
16
16
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
17
17
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
18
- import { Platform, Text, TextInput, View } from "react-native-web";
18
+ import { Platform, Pressable, Text, TextInput, View } from "react-native-web";
19
19
  import React, { useState } from 'react';
20
20
  import { heightTextInput, paddingHorizontalTextInput, paddingTopTextInputMultiline, styles } from "./InputBase.styles";
21
21
  import { DANGER_700, NEUTRAL_500, PRIMARY_100 } from "../../styles/colors";
@@ -32,6 +32,7 @@ var InputBase = function InputBase(_ref) {
32
32
  icon = _ref.icon,
33
33
  rightButtons = _ref.rightButtons,
34
34
  onPress = _ref.onPress,
35
+ onFocus = _ref.onFocus,
35
36
  onBlur = _ref.onBlur,
36
37
  onSubmitEditing = _ref.onSubmitEditing,
37
38
  onKeyPress = _ref.onKeyPress,
@@ -65,8 +66,11 @@ var InputBase = function InputBase(_ref) {
65
66
  var inputFocusPaddingTextHight = isFocused ? 6 : 2;
66
67
  var paddingVertical = inputFocusPadding;
67
68
  var paddingHorizontal = inputFocusPadding;
68
- var onFocusChange = function onFocusChange() {
69
+ var onFocusChange = function onFocusChange(e) {
69
70
  if (!isDisabled && isFocusable) {
71
+ if (onFocus) {
72
+ onFocus(e);
73
+ }
70
74
  setIsFocused(true);
71
75
  }
72
76
  };
@@ -142,7 +146,7 @@ var InputBase = function InputBase(_ref) {
142
146
  }, otherIconProps));
143
147
  };
144
148
  var alignIcons = function alignIcons() {
145
- if (currentLines > 1 && multiline) {
149
+ if (currentLines > 2 && multiline) {
146
150
  return 'flex-end';
147
151
  }
148
152
  return 'center';
@@ -183,8 +187,9 @@ var InputBase = function InputBase(_ref) {
183
187
  height: inputHeight,
184
188
  maxHeight: inputHeight
185
189
  }, styleContainer)]
186
- }, /*#__PURE__*/React.createElement(View, {
187
- style: styles.containerInput
190
+ }, /*#__PURE__*/React.createElement(Pressable, {
191
+ style: styles.containerInput,
192
+ onPress: onPress
188
193
  }, !!icon && /*#__PURE__*/React.createElement(View, {
189
194
  style: [styles.iconContainer, {
190
195
  justifyContent: alignIcons(),
@@ -197,7 +202,6 @@ var InputBase = function InputBase(_ref) {
197
202
  })), /*#__PURE__*/React.createElement(TextInput, {
198
203
  ref: refInput,
199
204
  value: value,
200
- onPressIn: onPress,
201
205
  onChangeText: handleChange,
202
206
  placeholder: placeholder,
203
207
  editable: isEditable,
@@ -230,7 +234,7 @@ var InputBase = function InputBase(_ref) {
230
234
  iconRight = _ButtonComponent$prop.iconRight,
231
235
  otherProps = _objectWithoutProperties(_ButtonComponent$prop, _excluded2);
232
236
  var modifiedProps = _objectSpread({}, otherProps);
233
- modifiedProps.paddingVertical = (modifiedProps === null || modifiedProps === void 0 ? void 0 : modifiedProps.paddingVertical) || 0;
237
+ modifiedProps.paddingVertical = (modifiedProps === null || modifiedProps === void 0 ? void 0 : modifiedProps.paddingVertical) || 6;
234
238
  modifiedProps.paddingHorizontal = (modifiedProps === null || modifiedProps === void 0 ? void 0 : modifiedProps.paddingHorizontal) || 0;
235
239
  modifiedProps.iconLeft = determineIconStyles(iconLeft, modifiedProps.disabled || isDisabled);
236
240
  modifiedProps.iconRight = determineIconStyles(iconRight, modifiedProps.disabled || isDisabled);
@@ -30,7 +30,7 @@ export var styles = StyleSheet.create({
30
30
  fontStyle: 'normal',
31
31
  fontWeight: '500',
32
32
  letterSpacing: -0.16,
33
- lineHeight: 24,
33
+ lineHeight: 26,
34
34
  color: PRIMARY_100,
35
35
  flex: 1,
36
36
  textAlignVertical: 'center'
@@ -1,5 +1,5 @@
1
1
  import { ReactElement, RefObject } from 'react';
2
- import { ColorValue, ImageStyle, NativeSyntheticEvent, TextInput, TextInputKeyPressEventData, TextInputSubmitEditingEventData, View, ViewStyle } from 'react-native';
2
+ import { ColorValue, ImageStyle, NativeSyntheticEvent, TextInput, TextInputFocusEventData, TextInputKeyPressEventData, TextInputSubmitEditingEventData, View, ViewStyle } from 'react-native';
3
3
  import { ButtonProps } from '../button/Button.types';
4
4
  export interface SvgImageProps {
5
5
  style?: ImageStyle;
@@ -20,6 +20,7 @@ export interface IInputBase {
20
20
  title?: string;
21
21
  value?: string;
22
22
  onPress?: () => void;
23
+ onFocus?: (e: NativeSyntheticEvent<TextInputFocusEventData>) => void;
23
24
  secureTextEntry?: boolean;
24
25
  keyboardType?: 'default' | 'numeric' | 'email-address' | 'url' | 'number-pad' | 'phone-pad' | 'decimal-pad' | 'web-search' | 'visible-password';
25
26
  styleContainer?: ViewStyle;
@@ -3,3 +3,5 @@ export declare const SEARCH_PLACEHOLDER = "Search";
3
3
  export declare const NO_RESULT_TEXT = "No results";
4
4
  export declare const PAGE_SIZE = 5;
5
5
  export declare const MAX_VISIBLE_OPTION = 4;
6
+ export declare const OFFSET: number;
7
+ export declare const OFFSET_LOADING: number;
@@ -3,4 +3,6 @@ export var BUFFER = 0.1;
3
3
  export var SEARCH_PLACEHOLDER = 'Search';
4
4
  export var NO_RESULT_TEXT = 'No results';
5
5
  export var PAGE_SIZE = 5;
6
- export var MAX_VISIBLE_OPTION = 4;
6
+ export var MAX_VISIBLE_OPTION = 4;
7
+ export var OFFSET = 48 + 48 + 16;
8
+ export var OFFSET_LOADING = 48 + 16;
@@ -23,7 +23,7 @@ import { Button } from "../../button";
23
23
  import { ChevronDownIcon, ChevronUpIcon } from "../../../assets/images/icons";
24
24
  import { isWebPlatform } from "../../../helpers/functions_utils";
25
25
  import InputOptions from "./components/DropdownInputOptions/DropdownInputOptions";
26
- import { BUFFER, MAX_VISIBLE_OPTION, NO_RESULT_TEXT, PAGE_SIZE, SEARCH_PLACEHOLDER } from "./DropdownInput.constants";
26
+ import { BUFFER, MAX_VISIBLE_OPTION, NO_RESULT_TEXT, OFFSET, OFFSET_LOADING, PAGE_SIZE, SEARCH_PLACEHOLDER } from "./DropdownInput.constants";
27
27
  var DropdownInput = function DropdownInput(_ref) {
28
28
  var staticData = _ref.staticData,
29
29
  displayKey = _ref.displayKey,
@@ -110,14 +110,14 @@ var DropdownInput = function DropdownInput(_ref) {
110
110
  if (isWebPlatform()) {
111
111
  if ((dataList === null || dataList === void 0 ? void 0 : dataList.length) === 0) {
112
112
  if (isLoading) {
113
- return setHeightOptions(48 + 16);
113
+ return setHeightOptions(OFFSET_LOADING);
114
114
  }
115
- return setHeightOptions(48 + 48 + 16);
115
+ return setHeightOptions(OFFSET);
116
116
  }
117
117
  if (maxVisibleOptions && (dataList === null || dataList === void 0 ? void 0 : dataList.length) <= maxVisibleOptions) {
118
- return setHeightOptions((dataList === null || dataList === void 0 ? void 0 : dataList.length) * 48 + 48 + 16);
118
+ return setHeightOptions((dataList === null || dataList === void 0 ? void 0 : dataList.length) * OFFSET);
119
119
  }
120
- setHeightOptions(maxVisibleOptions * 48 + 48 + 16);
120
+ setHeightOptions(maxVisibleOptions * OFFSET);
121
121
  }
122
122
  }, [dataList, isLoading, windowHeight]);
123
123
  useEffect(function () {
@@ -254,18 +254,14 @@ var DropdownInput = function DropdownInput(_ref) {
254
254
  }, inputBaseProps, {
255
255
  rightButtons: [/*#__PURE__*/React.createElement(Button, {
256
256
  onPress: function onPress() {
257
- setIsVisibleDropdown(function (prev) {
258
- return !prev;
259
- });
257
+ setIsVisibleDropdown(true);
260
258
  },
261
259
  typeStyle: 'primary',
262
260
  iconLeft: isVisibleDropdown ? /*#__PURE__*/React.createElement(ChevronUpIcon, null) : /*#__PURE__*/React.createElement(ChevronDownIcon, null)
263
261
  })],
264
262
  value: value === null || value === void 0 ? void 0 : value.toString(),
265
263
  onPress: function onPress() {
266
- setIsVisibleDropdown(function (prev) {
267
- return !prev;
268
- });
264
+ setIsVisibleDropdown(true);
269
265
  }
270
266
  }))), isVisibleDropdown && !!modalPosition.width && /*#__PURE__*/React.createElement(InputOptions, {
271
267
  isVisibleDropdown: isVisibleDropdown,
@@ -9,6 +9,7 @@ import React, { useEffect, useState } from 'react';
9
9
  import { NEUTRAL_400, PRIMARY_100, TERTIARY_101 } from "../../../../../styles/colors";
10
10
  import { SearchInput } from "../../../search-input";
11
11
  import { styles } from "../../DropdownInput.styles";
12
+ import { OFFSET } from "../../DropdownInput.constants";
12
13
  var DropdownInputOptions = function DropdownInputOptions(_ref) {
13
14
  var isVisibleDropdown = _ref.isVisibleDropdown,
14
15
  onClose = _ref.onClose,
@@ -70,25 +71,29 @@ var DropdownInputOptions = function DropdownInputOptions(_ref) {
70
71
  onRequestClose: function onRequestClose() {
71
72
  onClose();
72
73
  }
73
- }, /*#__PURE__*/React.createElement(TouchableOpacity, {
74
- onPress: function onPress() {
75
- onClose();
76
- },
77
- activeOpacity: 1
78
74
  }, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
79
75
  behavior: Platform.OS === 'ios' ? 'padding' : 'height',
80
76
  style: [isCenteredModal && styles.containerNative, {
81
77
  width: windowWidth,
82
78
  height: windowHeight
83
79
  }]
84
- }, /*#__PURE__*/React.createElement(View, {
80
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
81
+ onPress: function onPress() {
82
+ onClose();
83
+ },
84
+ style: {
85
+ width: windowWidth,
86
+ height: windowHeight
87
+ },
88
+ activeOpacity: 1
89
+ }), /*#__PURE__*/React.createElement(View, {
85
90
  onStartShouldSetResponder: function onStartShouldSetResponder() {
86
91
  return true;
87
92
  },
88
93
  style: [styles.optionsContainer, isCenteredModal && {
89
- height: maxVisibleOptions && maxVisibleOptions * 48 + 48 + 16
94
+ height: maxVisibleOptions && maxVisibleOptions * OFFSET
90
95
  }, {
91
- maxHeight: maxVisibleOptions && data && (data === null || data === void 0 ? void 0 : data.length) <= maxVisibleOptions ? 'auto' : maxVisibleOptions && maxVisibleOptions * 48 + 48 + 16
96
+ maxHeight: maxVisibleOptions && data && (data === null || data === void 0 ? void 0 : data.length) <= maxVisibleOptions ? 'auto' : maxVisibleOptions && maxVisibleOptions * OFFSET
92
97
  }, !isCenteredModal && {
93
98
  top: modalPosition.top + 8,
94
99
  left: modalPosition.left
@@ -118,6 +123,6 @@ var DropdownInputOptions = function DropdownInputOptions(_ref) {
118
123
  style: styles.option
119
124
  }, /*#__PURE__*/React.createElement(Text, {
120
125
  style: styles.optionText
121
- }, noResultsText))), !isStaticData && isModalUp && !isCenteredModal && filterComponent()))));
126
+ }, noResultsText))), !isStaticData && isModalUp && !isCenteredModal && filterComponent())));
122
127
  };
123
128
  export default DropdownInputOptions;
@@ -48,7 +48,7 @@ if (!isWebPlatform()) {
48
48
  console.error('Error importing DocumentPicker', error);
49
49
  }
50
50
  }
51
- var POSITION_DOWN_FILE = 50;
51
+ var POSITION_DOWN_FILE = 55;
52
52
  var POSITION_UP_FILE = 60;
53
53
  var FileSearchInput = function FileSearchInput(_ref) {
54
54
  var value = _ref.value,
@@ -272,7 +272,6 @@ var FileSearchInput = function FileSearchInput(_ref) {
272
272
  // Define the right buttons for the input
273
273
 
274
274
  var UploadButton = /*#__PURE__*/React.createElement(Button, {
275
- paddingVertical: 0,
276
275
  typeStyle: "white",
277
276
  onPress: handleFileButtonClick,
278
277
  disabled: isAttachDisable,
@@ -281,7 +280,6 @@ var FileSearchInput = function FileSearchInput(_ref) {
281
280
  })
282
281
  });
283
282
  var SendButton = /*#__PURE__*/React.createElement(Button, {
284
- paddingVertical: 0,
285
283
  typeStyle: "white",
286
284
  onPress: handleSendMessage,
287
285
  disabled: isSendDisable,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "etendo-ui-library",
3
- "version": "1.4.30",
3
+ "version": "1.4.32",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "android": "react-native run-android",