@razorpay/blade 11.9.1 → 11.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/build/lib/native/components/Box/Box.js +1 -1
  2. package/build/lib/native/components/Box/Box.js.map +1 -1
  3. package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
  4. package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
  5. package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
  6. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  7. package/build/lib/native/components/Dropdown/dropdownComponentIds.js +1 -1
  8. package/build/lib/native/components/Dropdown/dropdownComponentIds.js.map +1 -1
  9. package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
  10. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  11. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
  12. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  13. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +1 -1
  14. package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
  15. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +2 -2
  16. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  17. package/build/lib/native/components/Input/BaseInput/utils.js +4 -0
  18. package/build/lib/native/components/Input/BaseInput/utils.js.map +1 -0
  19. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
  20. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  21. package/build/lib/native/components/Input/PasswordInput/PasswordInput.js +1 -1
  22. package/build/lib/native/components/Input/PasswordInput/PasswordInput.js.map +1 -1
  23. package/build/lib/native/components/Input/PhoneNumberInput/PhoneNumberInput.native.js +7 -0
  24. package/build/lib/native/components/Input/PhoneNumberInput/PhoneNumberInput.native.js.map +1 -0
  25. package/build/lib/native/components/Input/TextArea/TextArea.js +1 -1
  26. package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
  27. package/build/lib/native/components/Input/TextInput/TextInput.js +2 -1
  28. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  29. package/build/lib/native/components/index.js +1 -0
  30. package/build/lib/native/components/index.js.map +1 -1
  31. package/build/lib/native/tokens/global/size.js +1 -1
  32. package/build/lib/native/tokens/global/size.js.map +1 -1
  33. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  34. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  35. package/build/lib/web/development/components/Box/BaseBox/BaseBox.web.js +6 -1
  36. package/build/lib/web/development/components/Box/BaseBox/BaseBox.web.js.map +1 -1
  37. package/build/lib/web/development/components/Box/Box.js +2 -1
  38. package/build/lib/web/development/components/Box/Box.js.map +1 -1
  39. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +8 -6
  40. package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
  41. package/build/lib/web/development/components/Dropdown/Dropdown.js +3 -1
  42. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  43. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +7 -6
  44. package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  45. package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js +1 -0
  46. package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js.map +1 -1
  47. package/build/lib/web/development/components/FileUpload/FileUpload.web.js +13 -4
  48. package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
  49. package/build/lib/web/development/components/FileUpload/FileUploadItem.js +4 -2
  50. package/build/lib/web/development/components/FileUpload/FileUploadItem.js.map +1 -1
  51. package/build/lib/web/development/components/FileUpload/StyledFileUploadItemWrapper.js +4 -5
  52. package/build/lib/web/development/components/FileUpload/StyledFileUploadItemWrapper.js.map +1 -1
  53. package/build/lib/web/development/components/FileUpload/StyledFileUploadWrapper.js +4 -5
  54. package/build/lib/web/development/components/FileUpload/StyledFileUploadWrapper.js.map +1 -1
  55. package/build/lib/web/development/components/FileUpload/fileUploadTokens.js +8 -1
  56. package/build/lib/web/development/components/FileUpload/fileUploadTokens.js.map +1 -1
  57. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +8 -5
  58. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  59. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +43 -28
  60. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  61. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
  62. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  63. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +9 -7
  64. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  65. package/build/lib/web/development/components/Input/BaseInput/utils.js +73 -0
  66. package/build/lib/web/development/components/Input/BaseInput/utils.js.map +1 -0
  67. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
  68. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  69. package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +1 -1
  70. package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
  71. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +111 -0
  72. package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -0
  73. package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +242 -0
  74. package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -0
  75. package/build/lib/web/development/components/Input/PhoneNumberInput/index.js +2 -0
  76. package/build/lib/web/development/components/Input/PhoneNumberInput/index.js.map +1 -0
  77. package/build/lib/web/development/components/Input/TextArea/TextArea.js +1 -1
  78. package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
  79. package/build/lib/web/development/components/Input/TextInput/TextInput.js +45 -115
  80. package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
  81. package/build/lib/web/development/components/index.js +2 -0
  82. package/build/lib/web/development/components/index.js.map +1 -1
  83. package/build/lib/web/development/tokens/global/size.js +3 -1
  84. package/build/lib/web/development/tokens/global/size.js.map +1 -1
  85. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +1 -0
  86. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  87. package/build/lib/web/production/components/Box/BaseBox/BaseBox.web.js +6 -1
  88. package/build/lib/web/production/components/Box/BaseBox/BaseBox.web.js.map +1 -1
  89. package/build/lib/web/production/components/Box/Box.js +2 -1
  90. package/build/lib/web/production/components/Box/Box.js.map +1 -1
  91. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +8 -6
  92. package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
  93. package/build/lib/web/production/components/Dropdown/Dropdown.js +3 -1
  94. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  95. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +7 -6
  96. package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
  97. package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js +1 -0
  98. package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js.map +1 -1
  99. package/build/lib/web/production/components/FileUpload/FileUpload.web.js +13 -4
  100. package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
  101. package/build/lib/web/production/components/FileUpload/FileUploadItem.js +4 -2
  102. package/build/lib/web/production/components/FileUpload/FileUploadItem.js.map +1 -1
  103. package/build/lib/web/production/components/FileUpload/StyledFileUploadItemWrapper.js +4 -5
  104. package/build/lib/web/production/components/FileUpload/StyledFileUploadItemWrapper.js.map +1 -1
  105. package/build/lib/web/production/components/FileUpload/StyledFileUploadWrapper.js +4 -5
  106. package/build/lib/web/production/components/FileUpload/StyledFileUploadWrapper.js.map +1 -1
  107. package/build/lib/web/production/components/FileUpload/fileUploadTokens.js +8 -1
  108. package/build/lib/web/production/components/FileUpload/fileUploadTokens.js.map +1 -1
  109. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +8 -5
  110. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  111. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +43 -28
  112. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  113. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
  114. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  115. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +9 -7
  116. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  117. package/build/lib/web/production/components/Input/BaseInput/utils.js +73 -0
  118. package/build/lib/web/production/components/Input/BaseInput/utils.js.map +1 -0
  119. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
  120. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  121. package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +1 -1
  122. package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
  123. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +111 -0
  124. package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -0
  125. package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +242 -0
  126. package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -0
  127. package/build/lib/web/production/components/Input/PhoneNumberInput/index.js +2 -0
  128. package/build/lib/web/production/components/Input/PhoneNumberInput/index.js.map +1 -0
  129. package/build/lib/web/production/components/Input/TextArea/TextArea.js +1 -1
  130. package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
  131. package/build/lib/web/production/components/Input/TextInput/TextInput.js +45 -115
  132. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  133. package/build/lib/web/production/components/index.js +2 -0
  134. package/build/lib/web/production/components/index.js.map +1 -1
  135. package/build/lib/web/production/tokens/global/size.js +3 -1
  136. package/build/lib/web/production/tokens/global/size.js.map +1 -1
  137. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +1 -0
  138. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  139. package/build/types/components/index.d.ts +448 -3
  140. package/build/types/components/index.native.d.ts +104 -2
  141. package/build/types/tokens/index.d.ts +3 -1
  142. package/build/types/tokens/index.native.d.ts +3 -1
  143. package/package.json +4 -4
@@ -37,7 +37,7 @@ import { announce } from '../../LiveAnnouncer/LiveAnnouncer.native.js';
37
37
  import { assignWithoutSideEffects } from '../../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
38
38
  import { getFocusRingStyles } from '../../../utils/getFocusRingStyles/getFocusRingStyles.native.js';
39
39
 
40
- var _excluded=["as","label","labelPosition","placeholder","type","defaultValue","tags","showAllTags","activeTagIndex","setActiveTagIndex","name","value","onFocus","onChange","onInput","onBlur","onSubmit","onClick","onKeyDown","isDisabled","necessityIndicator","validationState","errorText","helpText","successText","isRequired","leadingIcon","prefix","interactionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","size","trailingButton","valueComponentType"];var autoCompleteSuggestionTypeValues=['none','on','name','email','username','password','newPassword','oneTimeCode','telephone','postalCode','countryName','creditCardNumber','creditCardCSC','creditCardExpiry','creditCardExpiryMonth','creditCardExpiryYear'];var useTags=function useTags(tags,activeTagIndex,setActiveTagIndex){var visibleTagsCountRef=React__default.useRef(0);React__default.useEffect(function(){if(tags&&activeTagIndex>=0&&activeTagIndex<tags.length){var _tags$activeTagIndex,_tags$activeTagIndex$;var tagTitle=(_tags$activeTagIndex=tags[activeTagIndex])==null?void 0:(_tags$activeTagIndex$=_tags$activeTagIndex.props)==null?void 0:_tags$activeTagIndex$.children;if(tagTitle){announce(`Close ${tagTitle} Tag`);}}},[activeTagIndex,tags==null?void 0:tags.length]);var onTagLeft=function onTagLeft(){if(activeTagIndex<0){setActiveTagIndex==null?void 0:setActiveTagIndex(visibleTagsCountRef.current-1);}if(activeTagIndex>0){setActiveTagIndex==null?void 0:setActiveTagIndex(activeTagIndex-1);}};var onTagRight=function onTagRight(){if(activeTagIndex<visibleTagsCountRef.current-1){setActiveTagIndex==null?void 0:setActiveTagIndex(activeTagIndex+1);}};var onTagRemove=function onTagRemove(){if(activeTagIndex>=0&&activeTagIndex<visibleTagsCountRef.current&&tags){tags[activeTagIndex].props.onDismiss({tagIndex:activeTagIndex});}};var onInputKeydownTagHandler=function onInputKeydownTagHandler(key){if(tags&&tags.length>0){if(key==='ArrowRight'){onTagRight();}if(key==='ArrowLeft'){onTagLeft();}if(key==='Backspace'){onTagRemove();}}};return {onInputKeydownTagHandler:onInputKeydownTagHandler,visibleTagsCountRef:visibleTagsCountRef};};var useInput=function useInput(_ref){var value=_ref.value,defaultValue=_ref.defaultValue,onClick=_ref.onClick,onFocus=_ref.onFocus,onChange=_ref.onChange,onBlur=_ref.onBlur,onSubmit=_ref.onSubmit,onInput=_ref.onInput,onKeyDown=_ref.onKeyDown,onInputKeydownTagHandler=_ref.onInputKeydownTagHandler;if(__DEV__){if(value&&defaultValue){throwBladeError({message:`Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,moduleName:'Input'});}}var _React$useState=React__default.useState(defaultValue!=null?defaultValue:value),_React$useState2=_slicedToArray(_React$useState,2),inputValue=_React$useState2[0],setInputValue=_React$useState2[1];var handleOnFocus=React__default.useCallback(function(_ref2){var name=_ref2.name,value=_ref2.value;var _value='';if(getPlatformType()==='react-native'&&typeof value==='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value;_value=(_value$target$value=value==null?void 0:value.target.value)!=null?_value$target$value:'';}onFocus==null?void 0:onFocus({name:name,value:_value});},[onFocus]);var handleOnClick=React__default.useCallback(function(_ref3){var name=_ref3.name,value=_ref3.value;var _value='';if(getPlatformType()==='react-native'&&typeof value==='string'){_value=value;}else if(typeof value!=='string'){var _value$currentTarget$;_value=(_value$currentTarget$=value==null?void 0:value.currentTarget.value)!=null?_value$currentTarget$:'';}onClick==null?void 0:onClick({name:name,value:_value});},[onClick]);var handleOnSubmit=React__default.useCallback(function(_ref4){var name=_ref4.name,value=_ref4.value;var _value='';if(getPlatformType()==='react-native'&&typeof value==='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value2;_value=(_value$target$value2=value==null?void 0:value.target.value)!=null?_value$target$value2:'';}if(isReactNative()){onSubmit==null?void 0:onSubmit({name:name,value:_value});}},[onSubmit]);var handleOnBlur=React__default.useCallback(function(_ref5){var name=_ref5.name,value=_ref5.value;var _value='';if(getPlatformType()==='react-native'&&typeof value=='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value3;_value=(_value$target$value3=value==null?void 0:value.target.value)!=null?_value$target$value3:'';}onBlur==null?void 0:onBlur({name:name,value:_value});},[onBlur]);var handleOnChange=React__default.useCallback(function(_ref6){var name=_ref6.name,value=_ref6.value;var _value='';if(getPlatformType()==='react-native'&&typeof value==='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value4;_value=(_value$target$value4=value==null?void 0:value.target.value)!=null?_value$target$value4:'';}onChange==null?void 0:onChange({name:name,value:_value});setInputValue(_value);},[onChange]);var handleOnInput=React__default.useCallback(function(_ref7){var name=_ref7.name,value=_ref7.value;var _value='';if(getPlatformType()==='react-native'&&typeof value=='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value5;_value=(_value$target$value5=value==null?void 0:value.target.value)!=null?_value$target$value5:'';}onInput==null?void 0:onInput({name:name,value:_value});},[onInput]);var handleOnKeyDown=React__default.useCallback(function(_ref8){var name=_ref8.name,key=_ref8.key,code=_ref8.code,event=_ref8.event;onInputKeydownTagHandler(key);onKeyDown==null?void 0:onKeyDown({name:name,key:key,code:code,event:event});},[onKeyDown]);return {handleOnFocus:handleOnFocus,handleOnClick:handleOnClick,handleOnChange:handleOnChange,handleOnBlur:handleOnBlur,handleOnSubmit:handleOnSubmit,handleOnInput:handleOnInput,handleOnKeyDown:handleOnKeyDown,inputValue:inputValue};};var getHintType=function getHintType(_ref9){var validationState=_ref9.validationState,hasHelpText=_ref9.hasHelpText;if(validationState==='error'){return 'error';}if(validationState==='success'){return 'success';}if(hasHelpText){return 'help';}return 'help';};var getDescribedByElementId=function getDescribedByElementId(_ref10){var validationState=_ref10.validationState,hasErrorText=_ref10.hasErrorText,hasSuccessText=_ref10.hasSuccessText,hasHelpText=_ref10.hasHelpText,errorTextId=_ref10.errorTextId,successTextId=_ref10.successTextId,helpTextId=_ref10.helpTextId;if(validationState==='error'&&hasErrorText){return errorTextId;}if(validationState==='success'&&hasSuccessText){return successTextId;}if(hasHelpText){return helpTextId;}return '';};var FocusRingWrapper=styled(BaseBox)(function(_ref11){var theme=_ref11.theme,currentInteraction=_ref11.currentInteraction;return {borderRadius:makeBorderSize(theme.border.radius.medium),width:'100%','&:focus-within':Object.assign({},getFocusRingStyles(),{transitionDuration:castWebType(makeMotionTime(getIn(theme.motion.duration,baseInputBorderBackgroundMotion[currentInteraction==='focus'?'enter':'exit'].duration))),transitionTimingFunction:castWebType(getIn(theme.motion.easing,baseInputBorderBackgroundMotion[currentInteraction==='focus'?'enter':'exit'].easing))})};});var _BaseInput=function _BaseInput(_ref12,ref){var _ref12$as=_ref12.as,as=_ref12$as===void 0?'input':_ref12$as,label=_ref12.label,_ref12$labelPosition=_ref12.labelPosition,labelPosition=_ref12$labelPosition===void 0?'top':_ref12$labelPosition,placeholder=_ref12.placeholder,_ref12$type=_ref12.type,type=_ref12$type===void 0?'text':_ref12$type,defaultValue=_ref12.defaultValue,tags=_ref12.tags,_ref12$showAllTags=_ref12.showAllTags,showAllTags=_ref12$showAllTags===void 0?false:_ref12$showAllTags,_ref12$activeTagIndex=_ref12.activeTagIndex,activeTagIndex=_ref12$activeTagIndex===void 0?-1:_ref12$activeTagIndex,setActiveTagIndex=_ref12.setActiveTagIndex,name=_ref12.name,value=_ref12.value,onFocus=_ref12.onFocus,onChange=_ref12.onChange,onInput=_ref12.onInput,onBlur=_ref12.onBlur,onSubmit=_ref12.onSubmit,onClick=_ref12.onClick,onKeyDown=_ref12.onKeyDown,isDisabled=_ref12.isDisabled,necessityIndicator=_ref12.necessityIndicator,validationState=_ref12.validationState,errorText=_ref12.errorText,helpText=_ref12.helpText,successText=_ref12.successText,isRequired=_ref12.isRequired,leadingIcon=_ref12.leadingIcon,prefix=_ref12.prefix,interactionElement=_ref12.interactionElement,suffix=_ref12.suffix,trailingIcon=_ref12.trailingIcon,maxCharacters=_ref12.maxCharacters,textAlign=_ref12.textAlign,autoFocus=_ref12.autoFocus,keyboardReturnKeyType=_ref12.keyboardReturnKeyType,keyboardType=_ref12.keyboardType,autoCompleteSuggestionType=_ref12.autoCompleteSuggestionType,trailingHeaderSlot=_ref12.trailingHeaderSlot,trailingFooterSlot=_ref12.trailingFooterSlot,numberOfLines=_ref12.numberOfLines,id=_ref12.id,componentName=_ref12.componentName,accessibilityLabel=_ref12.accessibilityLabel,labelId=_ref12.labelId,activeDescendant=_ref12.activeDescendant,hideLabelText=_ref12.hideLabelText,hideFormHint=_ref12.hideFormHint,hasPopup=_ref12.hasPopup,popupId=_ref12.popupId,isPopupExpanded=_ref12.isPopupExpanded,maxTagRows=_ref12.maxTagRows,shouldIgnoreBlurAnimation=_ref12.shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation=_ref12.setShouldIgnoreBlurAnimation,autoCapitalize=_ref12.autoCapitalize,setInputWrapperRef=_ref12.setInputWrapperRef,testID=_ref12.testID,isDropdownTrigger=_ref12.isDropdownTrigger,isLabelInsideInput=_ref12.isLabelInsideInput,_ref12$size=_ref12.size,size=_ref12$size===void 0?'medium':_ref12$size,trailingButton=_ref12.trailingButton,_ref12$valueComponent=_ref12.valueComponentType,valueComponentType=_ref12$valueComponent===void 0?'text':_ref12$valueComponent,styledProps=_objectWithoutProperties(_ref12,_excluded);var _useTheme=useTheme(),theme=_useTheme.theme;var inputWrapperRef=React__default.useRef(null);var _useTags=useTags(tags,activeTagIndex,setActiveTagIndex),onInputKeydownTagHandler=_useTags.onInputKeydownTagHandler,visibleTagsCountRef=_useTags.visibleTagsCountRef;var _React$useState3=React__default.useState(false),_React$useState4=_slicedToArray(_React$useState3,2),showAllTagsWithAnimation=_React$useState4[0],setShowAllTagsWithAnimation=_React$useState4[1];var isReactNative=getPlatformType()==='react-native';React__default.useEffect(function(){if(showAllTags){setShowAllTagsWithAnimation(true);}else if(maxTagRows!=='expandable'){setShowAllTagsWithAnimation(false);}},[showAllTags,maxTagRows]);var _useInput=useInput({defaultValue:defaultValue,value:value,onFocus:onFocus,onClick:onClick,onChange:onChange,onBlur:onBlur,onSubmit:onSubmit,onInput:onInput,onKeyDown:onKeyDown,onInputKeydownTagHandler:onInputKeydownTagHandler}),handleOnFocus=_useInput.handleOnFocus,handleOnChange=_useInput.handleOnChange,handleOnClick=_useInput.handleOnClick,handleOnBlur=_useInput.handleOnBlur,handleOnSubmit=_useInput.handleOnSubmit,handleOnInput=_useInput.handleOnInput,handleOnKeyDown=_useInput.handleOnKeyDown,inputValue=_useInput.inputValue;var _useFormId=useFormId(id),inputId=_useFormId.inputId,helpTextId=_useFormId.helpTextId,errorTextId=_useFormId.errorTextId,successTextId=_useFormId.successTextId;var _useBreakpoint=useBreakpoint({breakpoints:theme.breakpoints}),matchedDeviceType=_useBreakpoint.matchedDeviceType;var isLabelLeftPositioned=labelPosition==='left'&&matchedDeviceType==='desktop';var _useInteraction=useInteraction(),currentInteraction=_useInteraction.currentInteraction,setCurrentInteraction=_useInteraction.setCurrentInteraction;var _isRequired=isRequired||necessityIndicator==='required';var accessibilityProps=makeAccessible({required:Boolean(_isRequired),disabled:Boolean(isDisabled),invalid:Boolean(validationState==='error'),describedBy:getDescribedByElementId({validationState:validationState,hasErrorText:Boolean(errorText),hasSuccessText:Boolean(successText),hasHelpText:Boolean(helpText),errorTextId:errorTextId,successTextId:successTextId,helpTextId:helpTextId}),label:accessibilityLabel,hasPopup:hasPopup,expanded:hasPopup?isPopupExpanded:undefined,controls:hasPopup?popupId:undefined,role:hasPopup?'combobox':undefined,activeDescendant:activeDescendant});var willRenderHintText=Boolean(helpText)||Boolean(successText)||Boolean(errorText);if(__DEV__){if(autoCompleteSuggestionType&&!autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)){throwBladeError({message:`Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(', ')} but received ${autoCompleteSuggestionType}`,moduleName:'Input'});}}var isTextArea=as==='textarea';return jsxs(BaseBox,Object.assign({},metaAttribute({name:componentName,testID:testID}),getStyledProps(styledProps),{children:[jsxs(BaseBox,{display:"flex",flexDirection:isLabelLeftPositioned?'row':'column',justifyContent:isLabelLeftPositioned?'center':undefined,alignItems:isLabelLeftPositioned?'center':undefined,position:"relative",width:"100%",children:[!hideLabelText&&!isLabelInsideInput&&jsxs(BaseBox,{display:"flex",flexDirection:isLabelLeftPositioned?'column':'row',justifyContent:"space-between",alignSelf:isTextArea?'flex-start':undefined,marginY:isTextArea&&isLabelLeftPositioned?'spacing.3':'spacing.0',children:[jsx(FormLabel,{as:"label",necessityIndicator:necessityIndicator,position:labelPosition,id:labelId,htmlFor:inputId,size:size,children:label}),trailingHeaderSlot==null?void 0:trailingHeaderSlot(value!=null?value:inputValue)]}),jsx(FocusRingWrapper,{currentInteraction:currentInteraction,children:jsxs(BaseInputWrapper,{isDropdownTrigger:isDropdownTrigger,isTextArea:isTextArea,isDisabled:isDisabled,validationState:validationState,currentInteraction:currentInteraction,isLabelLeftPositioned:isLabelLeftPositioned,showAllTags:showAllTags,setShowAllTagsWithAnimation:setShowAllTagsWithAnimation,ref:function ref(refNode){if(refNode){setInputWrapperRef==null?void 0:setInputWrapperRef(refNode);inputWrapperRef.current=refNode;}},maxTagRows:maxTagRows,size:size,children:[jsx(BaseInputVisuals,{size:size,leadingIcon:leadingIcon,prefix:prefix,isDisabled:isDisabled}),jsx(BaseInputTagSlot,{renderAs:as,tags:tags,isDisabled:isDisabled,showAllTags:showAllTagsWithAnimation,setFocusOnInput:function setFocusOnInput(){if(ref&&!isReactNative&&'current'in ref){var _ref$current;(_ref$current=ref.current)==null?void 0:_ref$current.focus();}},labelPrefix:isLabelInsideInput?label:undefined,isDropdownTrigger:isDropdownTrigger,visibleTagsCountRef:visibleTagsCountRef,handleOnInputClick:function handleOnInputClick(e){handleOnClick({name:name,value:isReactNative?value:e});},setShouldIgnoreBlurAnimation:setShouldIgnoreBlurAnimation,maxTagRows:maxTagRows,inputWrapperRef:inputWrapperRef,size:size,children:jsx(StyledBaseInput,Object.assign({as:as,id:inputId,ref:ref,name:name,type:type,defaultValue:defaultValue,value:value,placeholder:placeholder,isDisabled:isDisabled,validationState:validationState,isRequired:_isRequired,handleOnFocus:handleOnFocus,handleOnChange:handleOnChange,handleOnBlur:handleOnBlur,handleOnSubmit:handleOnSubmit,handleOnInput:handleOnInput,handleOnKeyDown:handleOnKeyDown,handleOnClick:handleOnClick,leadingIcon:leadingIcon,prefix:prefix,interactionElement:interactionElement,suffix:suffix,trailingIcon:trailingIcon,maxCharacters:maxCharacters,textAlign:textAlign,autoFocus:autoFocus,keyboardReturnKeyType:keyboardReturnKeyType,keyboardType:keyboardType,autoCompleteSuggestionType:autoCompleteSuggestionType,accessibilityProps:accessibilityProps,currentInteraction:currentInteraction,setCurrentInteraction:setCurrentInteraction,numberOfLines:numberOfLines,isTextArea:isTextArea||maxTagRows==='multiple'||maxTagRows==='expandable',hasPopup:hasPopup,hasTags:!!(tags&&tags.length>0),shouldIgnoreBlurAnimation:shouldIgnoreBlurAnimation,autoCapitalize:autoCapitalize,isDropdownTrigger:isDropdownTrigger,$size:size,valueComponentType:valueComponentType},metaAttribute({name:MetaConstants.StyledBaseInput})))}),jsx(BaseInputVisuals,{interactionElement:interactionElement,suffix:suffix,trailingIcon:trailingIcon,isDisabled:isDisabled,validationState:validationState,trailingButton:trailingButton,size:size})]})})]}),!hideFormHint&&jsx(BaseBox,{marginLeft:makeSize(isLabelLeftPositioned&&!hideLabelText?formHintLeftLabelMarginLeft[size]:0),children:jsxs(BaseBox,{display:"flex",flexDirection:"row",justifyContent:willRenderHintText?'space-between':'flex-end',children:[jsx(FormHint,{type:getHintType({validationState:validationState,hasHelpText:Boolean(helpText)}),helpText:helpText,errorText:errorText,successText:successText,helpTextId:helpTextId,errorTextId:errorTextId,successTextId:successTextId,size:size}),trailingFooterSlot==null?void 0:trailingFooterSlot(value!=null?value:inputValue)]})})]}));};var BaseInputWithRef=React__default.forwardRef(_BaseInput);var BaseInput=assignWithoutSideEffects(BaseInputWithRef,{displayName:'BaseInput'});
40
+ var _excluded=["as","label","labelPosition","placeholder","type","defaultValue","tags","showAllTags","activeTagIndex","setActiveTagIndex","name","value","onFocus","onChange","onInput","onBlur","onSubmit","onClick","onKeyDown","isDisabled","necessityIndicator","validationState","errorText","helpText","successText","isRequired","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","size","trailingButton","valueComponentType"];var autoCompleteSuggestionTypeValues=['none','on','name','email','username','password','newPassword','oneTimeCode','telephone','postalCode','countryName','creditCardNumber','creditCardCSC','creditCardExpiry','creditCardExpiryMonth','creditCardExpiryYear'];var useTags=function useTags(tags,activeTagIndex,setActiveTagIndex){var visibleTagsCountRef=React__default.useRef(0);React__default.useEffect(function(){if(tags&&activeTagIndex>=0&&activeTagIndex<tags.length){var _tags$activeTagIndex,_tags$activeTagIndex$;var tagTitle=(_tags$activeTagIndex=tags[activeTagIndex])==null?void 0:(_tags$activeTagIndex$=_tags$activeTagIndex.props)==null?void 0:_tags$activeTagIndex$.children;if(tagTitle){announce(`Close ${tagTitle} Tag`);}}},[activeTagIndex,tags==null?void 0:tags.length]);var onTagLeft=function onTagLeft(){if(activeTagIndex<0){setActiveTagIndex==null?void 0:setActiveTagIndex(visibleTagsCountRef.current-1);}if(activeTagIndex>0){setActiveTagIndex==null?void 0:setActiveTagIndex(activeTagIndex-1);}};var onTagRight=function onTagRight(){if(activeTagIndex<visibleTagsCountRef.current-1){setActiveTagIndex==null?void 0:setActiveTagIndex(activeTagIndex+1);}};var onTagRemove=function onTagRemove(){if(activeTagIndex>=0&&activeTagIndex<visibleTagsCountRef.current&&tags){tags[activeTagIndex].props.onDismiss({tagIndex:activeTagIndex});}};var onInputKeydownTagHandler=function onInputKeydownTagHandler(key){if(tags&&tags.length>0){if(key==='ArrowRight'){onTagRight();}if(key==='ArrowLeft'){onTagLeft();}if(key==='Backspace'){onTagRemove();}}};return {onInputKeydownTagHandler:onInputKeydownTagHandler,visibleTagsCountRef:visibleTagsCountRef};};var useInput=function useInput(_ref){var value=_ref.value,defaultValue=_ref.defaultValue,onClick=_ref.onClick,onFocus=_ref.onFocus,onChange=_ref.onChange,onBlur=_ref.onBlur,onSubmit=_ref.onSubmit,onInput=_ref.onInput,onKeyDown=_ref.onKeyDown,onInputKeydownTagHandler=_ref.onInputKeydownTagHandler;if(__DEV__){if(value&&defaultValue){throwBladeError({message:`Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,moduleName:'Input'});}}var _React$useState=React__default.useState(defaultValue!=null?defaultValue:value),_React$useState2=_slicedToArray(_React$useState,2),inputValue=_React$useState2[0],setInputValue=_React$useState2[1];var handleOnFocus=React__default.useCallback(function(_ref2){var name=_ref2.name,value=_ref2.value;var _value='';if(getPlatformType()==='react-native'&&typeof value==='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value;_value=(_value$target$value=value==null?void 0:value.target.value)!=null?_value$target$value:'';}onFocus==null?void 0:onFocus({name:name,value:_value});},[onFocus]);var handleOnClick=React__default.useCallback(function(_ref3){var name=_ref3.name,value=_ref3.value;var _value='';if(getPlatformType()==='react-native'&&typeof value==='string'){_value=value;}else if(typeof value!=='string'){var _value$currentTarget$;_value=(_value$currentTarget$=value==null?void 0:value.currentTarget.value)!=null?_value$currentTarget$:'';}onClick==null?void 0:onClick({name:name,value:_value});},[onClick]);var handleOnSubmit=React__default.useCallback(function(_ref4){var name=_ref4.name,value=_ref4.value;var _value='';if(getPlatformType()==='react-native'&&typeof value==='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value2;_value=(_value$target$value2=value==null?void 0:value.target.value)!=null?_value$target$value2:'';}if(isReactNative()){onSubmit==null?void 0:onSubmit({name:name,value:_value});}},[onSubmit]);var handleOnBlur=React__default.useCallback(function(_ref5){var name=_ref5.name,value=_ref5.value;var _value='';if(getPlatformType()==='react-native'&&typeof value=='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value3;_value=(_value$target$value3=value==null?void 0:value.target.value)!=null?_value$target$value3:'';}onBlur==null?void 0:onBlur({name:name,value:_value});},[onBlur]);var handleOnChange=React__default.useCallback(function(_ref6){var name=_ref6.name,value=_ref6.value;var _value='';if(getPlatformType()==='react-native'&&typeof value==='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value4;_value=(_value$target$value4=value==null?void 0:value.target.value)!=null?_value$target$value4:'';}onChange==null?void 0:onChange({name:name,value:_value});setInputValue(_value);},[onChange]);var handleOnInput=React__default.useCallback(function(_ref7){var name=_ref7.name,value=_ref7.value;var _value='';if(getPlatformType()==='react-native'&&typeof value=='string'){_value=value;}else if(typeof value!=='string'){var _value$target$value5;_value=(_value$target$value5=value==null?void 0:value.target.value)!=null?_value$target$value5:'';}onInput==null?void 0:onInput({name:name,value:_value});},[onInput]);var handleOnKeyDown=React__default.useCallback(function(_ref8){var name=_ref8.name,key=_ref8.key,code=_ref8.code,event=_ref8.event;onInputKeydownTagHandler(key);onKeyDown==null?void 0:onKeyDown({name:name,key:key,code:code,event:event});},[onKeyDown]);return {handleOnFocus:handleOnFocus,handleOnClick:handleOnClick,handleOnChange:handleOnChange,handleOnBlur:handleOnBlur,handleOnSubmit:handleOnSubmit,handleOnInput:handleOnInput,handleOnKeyDown:handleOnKeyDown,inputValue:inputValue};};var getHintType=function getHintType(_ref9){var validationState=_ref9.validationState,hasHelpText=_ref9.hasHelpText;if(validationState==='error'){return 'error';}if(validationState==='success'){return 'success';}if(hasHelpText){return 'help';}return 'help';};var getDescribedByElementId=function getDescribedByElementId(_ref10){var validationState=_ref10.validationState,hasErrorText=_ref10.hasErrorText,hasSuccessText=_ref10.hasSuccessText,hasHelpText=_ref10.hasHelpText,errorTextId=_ref10.errorTextId,successTextId=_ref10.successTextId,helpTextId=_ref10.helpTextId;if(validationState==='error'&&hasErrorText){return errorTextId;}if(validationState==='success'&&hasSuccessText){return successTextId;}if(hasHelpText){return helpTextId;}return '';};var FocusRingWrapper=styled(BaseBox)(function(_ref11){var theme=_ref11.theme,currentInteraction=_ref11.currentInteraction;return {borderRadius:makeBorderSize(theme.border.radius.medium),width:'100%','&:focus-within':Object.assign({},getFocusRingStyles(),{transitionDuration:castWebType(makeMotionTime(getIn(theme.motion.duration,baseInputBorderBackgroundMotion[currentInteraction==='focus'?'enter':'exit'].duration))),transitionTimingFunction:castWebType(getIn(theme.motion.easing,baseInputBorderBackgroundMotion[currentInteraction==='focus'?'enter':'exit'].easing))})};});var _BaseInput=function _BaseInput(_ref12,ref){var _ref12$as=_ref12.as,as=_ref12$as===void 0?'input':_ref12$as,label=_ref12.label,_ref12$labelPosition=_ref12.labelPosition,labelPosition=_ref12$labelPosition===void 0?'top':_ref12$labelPosition,placeholder=_ref12.placeholder,_ref12$type=_ref12.type,type=_ref12$type===void 0?'text':_ref12$type,defaultValue=_ref12.defaultValue,tags=_ref12.tags,_ref12$showAllTags=_ref12.showAllTags,showAllTags=_ref12$showAllTags===void 0?false:_ref12$showAllTags,_ref12$activeTagIndex=_ref12.activeTagIndex,activeTagIndex=_ref12$activeTagIndex===void 0?-1:_ref12$activeTagIndex,setActiveTagIndex=_ref12.setActiveTagIndex,name=_ref12.name,value=_ref12.value,onFocus=_ref12.onFocus,onChange=_ref12.onChange,onInput=_ref12.onInput,onBlur=_ref12.onBlur,onSubmit=_ref12.onSubmit,onClick=_ref12.onClick,onKeyDown=_ref12.onKeyDown,isDisabled=_ref12.isDisabled,necessityIndicator=_ref12.necessityIndicator,validationState=_ref12.validationState,errorText=_ref12.errorText,helpText=_ref12.helpText,successText=_ref12.successText,isRequired=_ref12.isRequired,leadingIcon=_ref12.leadingIcon,prefix=_ref12.prefix,trailingInteractionElement=_ref12.trailingInteractionElement,leadingInteractionElement=_ref12.leadingInteractionElement,suffix=_ref12.suffix,trailingIcon=_ref12.trailingIcon,maxCharacters=_ref12.maxCharacters,textAlign=_ref12.textAlign,autoFocus=_ref12.autoFocus,keyboardReturnKeyType=_ref12.keyboardReturnKeyType,keyboardType=_ref12.keyboardType,autoCompleteSuggestionType=_ref12.autoCompleteSuggestionType,trailingHeaderSlot=_ref12.trailingHeaderSlot,trailingFooterSlot=_ref12.trailingFooterSlot,numberOfLines=_ref12.numberOfLines,id=_ref12.id,componentName=_ref12.componentName,accessibilityLabel=_ref12.accessibilityLabel,labelId=_ref12.labelId,activeDescendant=_ref12.activeDescendant,hideLabelText=_ref12.hideLabelText,hideFormHint=_ref12.hideFormHint,hasPopup=_ref12.hasPopup,popupId=_ref12.popupId,isPopupExpanded=_ref12.isPopupExpanded,maxTagRows=_ref12.maxTagRows,shouldIgnoreBlurAnimation=_ref12.shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation=_ref12.setShouldIgnoreBlurAnimation,autoCapitalize=_ref12.autoCapitalize,setInputWrapperRef=_ref12.setInputWrapperRef,testID=_ref12.testID,isDropdownTrigger=_ref12.isDropdownTrigger,isLabelInsideInput=_ref12.isLabelInsideInput,_ref12$size=_ref12.size,size=_ref12$size===void 0?'medium':_ref12$size,trailingButton=_ref12.trailingButton,_ref12$valueComponent=_ref12.valueComponentType,valueComponentType=_ref12$valueComponent===void 0?'text':_ref12$valueComponent,styledProps=_objectWithoutProperties(_ref12,_excluded);var _useTheme=useTheme(),theme=_useTheme.theme;var inputWrapperRef=React__default.useRef(null);var _useTags=useTags(tags,activeTagIndex,setActiveTagIndex),onInputKeydownTagHandler=_useTags.onInputKeydownTagHandler,visibleTagsCountRef=_useTags.visibleTagsCountRef;var _React$useState3=React__default.useState(false),_React$useState4=_slicedToArray(_React$useState3,2),showAllTagsWithAnimation=_React$useState4[0],setShowAllTagsWithAnimation=_React$useState4[1];var isReactNative=getPlatformType()==='react-native';React__default.useEffect(function(){if(showAllTags){setShowAllTagsWithAnimation(true);}else if(maxTagRows!=='expandable'){setShowAllTagsWithAnimation(false);}},[showAllTags,maxTagRows]);var _useInput=useInput({defaultValue:defaultValue,value:value,onFocus:onFocus,onClick:onClick,onChange:onChange,onBlur:onBlur,onSubmit:onSubmit,onInput:onInput,onKeyDown:onKeyDown,onInputKeydownTagHandler:onInputKeydownTagHandler}),handleOnFocus=_useInput.handleOnFocus,handleOnChange=_useInput.handleOnChange,handleOnClick=_useInput.handleOnClick,handleOnBlur=_useInput.handleOnBlur,handleOnSubmit=_useInput.handleOnSubmit,handleOnInput=_useInput.handleOnInput,handleOnKeyDown=_useInput.handleOnKeyDown,inputValue=_useInput.inputValue;var _useFormId=useFormId(id),inputId=_useFormId.inputId,helpTextId=_useFormId.helpTextId,errorTextId=_useFormId.errorTextId,successTextId=_useFormId.successTextId;var _useBreakpoint=useBreakpoint({breakpoints:theme.breakpoints}),matchedDeviceType=_useBreakpoint.matchedDeviceType;var isLabelLeftPositioned=labelPosition==='left'&&matchedDeviceType==='desktop';var _useInteraction=useInteraction(),currentInteraction=_useInteraction.currentInteraction,setCurrentInteraction=_useInteraction.setCurrentInteraction;var _isRequired=isRequired||necessityIndicator==='required';var accessibilityProps=makeAccessible({required:Boolean(_isRequired),disabled:Boolean(isDisabled),invalid:Boolean(validationState==='error'),describedBy:getDescribedByElementId({validationState:validationState,hasErrorText:Boolean(errorText),hasSuccessText:Boolean(successText),hasHelpText:Boolean(helpText),errorTextId:errorTextId,successTextId:successTextId,helpTextId:helpTextId}),label:accessibilityLabel,hasPopup:hasPopup,expanded:hasPopup?isPopupExpanded:undefined,controls:hasPopup?popupId:undefined,role:hasPopup?'combobox':undefined,activeDescendant:activeDescendant});var willRenderHintText=Boolean(helpText)||Boolean(successText)||Boolean(errorText);if(__DEV__){if(autoCompleteSuggestionType&&!autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)){throwBladeError({message:`Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(', ')} but received ${autoCompleteSuggestionType}`,moduleName:'Input'});}}var isTextArea=as==='textarea';return jsxs(BaseBox,Object.assign({},metaAttribute({name:componentName,testID:testID}),getStyledProps(styledProps),{children:[jsxs(BaseBox,{display:"flex",flexDirection:isLabelLeftPositioned?'row':'column',justifyContent:isLabelLeftPositioned?'center':undefined,alignItems:isLabelLeftPositioned?'center':undefined,position:"relative",width:"100%",children:[!hideLabelText&&!isLabelInsideInput&&jsxs(BaseBox,{display:"flex",flexDirection:isLabelLeftPositioned?'column':'row',justifyContent:"space-between",alignSelf:isTextArea?'flex-start':undefined,marginY:isTextArea&&isLabelLeftPositioned?'spacing.3':'spacing.0',children:[jsx(FormLabel,{as:"label",necessityIndicator:necessityIndicator,position:labelPosition,id:labelId,htmlFor:inputId,size:size,children:label}),trailingHeaderSlot==null?void 0:trailingHeaderSlot(value!=null?value:inputValue)]}),jsx(FocusRingWrapper,{currentInteraction:currentInteraction,children:jsxs(BaseInputWrapper,{isDropdownTrigger:isDropdownTrigger,isTextArea:isTextArea,isDisabled:isDisabled,validationState:validationState,currentInteraction:currentInteraction,isLabelLeftPositioned:isLabelLeftPositioned,showAllTags:showAllTags,setShowAllTagsWithAnimation:setShowAllTagsWithAnimation,ref:function ref(refNode){if(refNode){setInputWrapperRef==null?void 0:setInputWrapperRef(refNode);inputWrapperRef.current=refNode;}},maxTagRows:maxTagRows,size:size,children:[jsx(BaseInputVisuals,{size:size,leadingIcon:leadingIcon,prefix:prefix,isDisabled:isDisabled,leadingInteractionElement:leadingInteractionElement}),jsx(BaseInputTagSlot,{renderAs:as,tags:tags,isDisabled:isDisabled,showAllTags:showAllTagsWithAnimation,setFocusOnInput:function setFocusOnInput(){if(ref&&!isReactNative&&'current'in ref){var _ref$current;(_ref$current=ref.current)==null?void 0:_ref$current.focus();}},labelPrefix:isLabelInsideInput?label:undefined,isDropdownTrigger:isDropdownTrigger,visibleTagsCountRef:visibleTagsCountRef,handleOnInputClick:function handleOnInputClick(e){handleOnClick({name:name,value:isReactNative?value:e});},setShouldIgnoreBlurAnimation:setShouldIgnoreBlurAnimation,maxTagRows:maxTagRows,inputWrapperRef:inputWrapperRef,size:size,children:jsx(StyledBaseInput,Object.assign({as:as,id:inputId,ref:ref,name:name,type:type,defaultValue:defaultValue,value:value,placeholder:placeholder,isDisabled:isDisabled,validationState:validationState,isRequired:_isRequired,handleOnFocus:handleOnFocus,handleOnChange:handleOnChange,handleOnBlur:handleOnBlur,handleOnSubmit:handleOnSubmit,handleOnInput:handleOnInput,handleOnKeyDown:handleOnKeyDown,handleOnClick:handleOnClick,leadingIcon:leadingIcon,prefix:prefix,trailingInteractionElement:trailingInteractionElement,leadingInteractionElement:leadingInteractionElement,suffix:suffix,trailingIcon:trailingIcon,maxCharacters:maxCharacters,textAlign:textAlign,autoFocus:autoFocus,keyboardReturnKeyType:keyboardReturnKeyType,keyboardType:keyboardType,autoCompleteSuggestionType:autoCompleteSuggestionType,accessibilityProps:accessibilityProps,currentInteraction:currentInteraction,setCurrentInteraction:setCurrentInteraction,numberOfLines:numberOfLines,isTextArea:isTextArea||maxTagRows==='multiple'||maxTagRows==='expandable',hasPopup:hasPopup,hasTags:!!(tags&&tags.length>0),shouldIgnoreBlurAnimation:shouldIgnoreBlurAnimation,autoCapitalize:autoCapitalize,isDropdownTrigger:isDropdownTrigger,$size:size,valueComponentType:valueComponentType},metaAttribute({name:MetaConstants.StyledBaseInput})))}),jsx(BaseInputVisuals,{trailingInteractionElement:trailingInteractionElement,suffix:suffix,trailingIcon:trailingIcon,isDisabled:isDisabled,validationState:validationState,trailingButton:trailingButton,size:size})]})})]}),!hideFormHint&&jsx(BaseBox,{marginLeft:makeSize(isLabelLeftPositioned&&!hideLabelText?formHintLeftLabelMarginLeft[size]:0),children:jsxs(BaseBox,{display:"flex",flexDirection:"row",justifyContent:willRenderHintText?'space-between':'flex-end',children:[jsx(FormHint,{type:getHintType({validationState:validationState,hasHelpText:Boolean(helpText)}),helpText:helpText,errorText:errorText,successText:successText,helpTextId:helpTextId,errorTextId:errorTextId,successTextId:successTextId,size:size}),trailingFooterSlot==null?void 0:trailingFooterSlot(value!=null?value:inputValue)]})})]}));};var BaseInputWithRef=React__default.forwardRef(_BaseInput);var BaseInput=assignWithoutSideEffects(BaseInputWithRef,{displayName:'BaseInput'});
41
41
 
42
42
  export { BaseInput, getHintType };
43
43
  //# sourceMappingURL=BaseInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInput.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInput.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { BaseInputTagSlot } from './BaseInputTagSlot';\nimport type { InputWrapperRef } from './types';\nimport { baseInputBorderBackgroundMotion, formHintLeftLabelMarginLeft } from './baseInputTokens';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '~components/Form';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport {\n castWebType,\n getPlatformType,\n isReactNative,\n makeBorderSize,\n makeMotionTime,\n useBreakpoint,\n} from '~utils';\nimport type { Platform } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~utils/useInteraction';\nimport type { ActionStates } from '~utils/useInteraction';\nimport type {\n FormInputHandleOnClickEvent,\n FormInputHandleOnKeyDownEvent,\n} from '~components/Form/FormTypes';\nimport type { BladeElementRef, ContainerElementType, TestID } from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AriaAttributes } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport { announce } from '~components/LiveAnnouncer/LiveAnnouncer';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { LinkProps } from '~components/Link';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport getIn from '~utils/lodashButBetter/get';\n\ntype CommonAutoCompleteSuggestionTypes =\n | 'none'\n | 'name'\n | 'email'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'telephone'\n | 'postalCode'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardCSC'\n | 'creditCardExpiry'\n | 'creditCardExpiryMonth'\n | 'creditCardExpiryYear';\n\ntype WebAutoCompleteSuggestionType = CommonAutoCompleteSuggestionTypes | 'on';\n\ntype BaseInputCommonProps = FormInputLabelProps &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input, textarea or button\n */\n as?: 'input' | 'textarea' | 'button';\n /**\n * ID that will be used for accessibility\n */\n id: string;\n /**\n * Placeholder text to be displayed inside the input field\n */\n placeholder?: string;\n /**\n * Type of Input Field to be rendered.\n *\n * @default text\n */\n type?: 'text' | 'telephone' | 'email' | 'url' | 'number' | 'search' | 'password';\n /**\n * Used to set the default value of input field when it's uncontrolled\n */\n defaultValue?: string;\n /**\n * The name of the input field.\n *\n * Useful in form submissions\n */\n name?: string;\n /**\n * The callback function to be invoked when the input field gets focus\n */\n onFocus?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field changes\n */\n onChange?: FormInputOnEvent;\n /**\n * The callback function to be invoked when input is clicked\n */\n onClick?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field has any input\n */\n onInput?: FormInputOnEvent;\n /**\n * The callback function to be invoked whenever there is a keyDown event\n */\n onKeyDown?: FormInputHandleOnKeyDownEvent;\n /**\n * The callback function to be invoked when the the input field loses focus\n *\n * For React Native this will call `onEndEditing` event since we want to get the last value of the input field\n */\n onBlur?: FormInputOnEvent;\n /**\n * Ignores the blur event animation (Used in Select to ignore blur animation when item in option is clicked)\n */\n shouldIgnoreBlurAnimation?: boolean;\n /**\n * sets boolean that ignores the blur animations on baseinput\n */\n setShouldIgnoreBlurAnimation?: (shouldIgnoreBlurAnimation: boolean) => void;\n /**\n * Used to turn the input field to controlled so user can control the value\n */\n value?: string;\n /**\n * Used to disable the input field\n */\n isDisabled?: boolean;\n /**\n * If true, the input is marked as required, and `required` attribute will be added\n */\n isRequired?: boolean;\n /**\n * Icon to be shown at the start of the input field\n */\n leadingIcon?: IconComponent;\n /**\n * Prefix symbol to be displayed at the beginning of the input field. If leadingIcon is provided it'll be placed after it\n */\n prefix?: string;\n /**\n * Element to be rendered before suffix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a loader or they could render a clear button\n */\n interactionElement?: ReactNode;\n /**\n * Suffix symbol to be displayed at the end of the input field. If trailingIcon is provided it'll be placed before it\n */\n suffix?: string;\n /**\n * Icon to be displayed at the end of the input field\n */\n trailingIcon?: IconComponent;\n /**\n * Displays the character counter under the input field\n */\n maxCharacters?: number;\n /**\n * alignment of the text inside input field\n */\n textAlign?: 'left' | 'center' | 'right';\n /**\n * If true, focuses the input field on load\n *\n * **Note:**\n * Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments.\n * When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n */\n autoFocus?: boolean;\n /**\n * Hints the platform to display an appropriate virtual keyboard\n *\n * **Native:** Passes as is the `keyboardType` attribute\n *\n * **Web:** Passes the value to the `inputMode` attribute\n */\n keyboardType?: 'text' | 'search' | 'telephone' | 'email' | 'url' | 'decimal';\n /**\n * determines what return key to show on the keyboard of mobile devices/virtual keyboard\n * **Note**: Few values are platform dependent and might not render on all the platforms\n *\n * `default` is only available on native. it'll be mapped to `enter` for web\n * `previous` is only available on native android\n */\n keyboardReturnKeyType?: 'default' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send';\n /**\n * Element to be rendered on the trailing slot of input field label\n */\n trailingHeaderSlot?: (value?: string) => ReactNode;\n /**\n * Element to be rendered on the trailing slot of input field footer\n */\n trailingFooterSlot?: (value?: string) => ReactNode;\n /**\n * Sets the textarea's number of lines\n */\n numberOfLines?: 2 | 3 | 4 | 5;\n /**\n * Sets the accessibility label for the input\n */\n accessibilityLabel?: string;\n /**\n * Sets the id of the label\n *\n * (Useful when assigning one label to multiple elements using aria-labelledby)\n */\n labelId?: string;\n /**\n * Can be used in select to set the id of the active descendant from the listbox\n */\n activeDescendant?: string;\n /**\n * Hides the label text\n */\n hideLabelText?: boolean;\n /**\n * Hides the form hint text\n */\n hideFormHint?: boolean;\n /**\n * componentName prop sets the data-blade-component attribute name\n * for internal metric collection purposes\n */\n componentName?: string;\n /**\n * whether the input has a popup\n */\n hasPopup?: AriaAttributes['hasPopup'];\n /**\n * id of the popup\n */\n popupId?: string;\n /**\n * true if popup is in expanded state\n */\n isPopupExpanded?: boolean;\n setInputWrapperRef?: (node: ContainerElementType) => void;\n /**\n * sets the autocapitalize behavior for the input\n */\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n\n /**\n * constraints the height of input to given number rows\n *\n * When set to expandable, input takes 1 row in the begining and expands to take 3 when active\n *\n * @default 'single'\n */\n maxTagRows?: 'single' | 'multiple' | 'expandable';\n\n /**\n * A slot for adding tags to input\n */\n tags?: React.ReactElement[] | null;\n\n /**\n * Disables stripping of tags and shows all tags\n */\n showAllTags?: boolean;\n\n /**\n * State variable of active tag index\n */\n activeTagIndex?: number;\n\n /**\n * Is this input SelectInput or AutoComplete\n */\n isDropdownTrigger?: boolean;\n\n /**\n * Is the label expected to be rendered inside input?\n * Used in AutoComplete and Select when label can't exist outside\n *\n */\n isLabelInsideInput?: boolean;\n\n /**\n * State setter for active tag index\n */\n setActiveTagIndex?: (activeTagIndex: number) => void;\n /**\n * Sets the size of the input field\n * @default medium\n */\n size?: 'medium' | 'large';\n /**\n * Link button to be rendered at the end of the input field.\n * **Note:** `size` of the Link will be set to the same size as the input field, `isDisabled` will follow Input's `isDisabled`, & `variant` will be set to `button`.\n * Example:\n * ```tsx\n * trailingButton={<Link onClick={handleClick}>Apply</Link>}\n * ```\n */\n trailingButton?: React.ReactElement<LinkProps>;\n /**\n * Whether to use Text or Heading component for Input text\n * @default text\n **/\n valueComponentType?: 'text' | 'heading';\n } & TestID &\n Platform.Select<{\n native: {\n /**\n * The callback function to be invoked when the value of the input field is submitted.\n */\n onSubmit?: FormInputOnEvent;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: CommonAutoCompleteSuggestionTypes;\n };\n web: {\n /**\n * This is a react-native only prop and has no effect on web.\n */\n onSubmit?: undefined;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: WebAutoCompleteSuggestionType;\n };\n }> &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype BaseInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype BaseInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\nexport type BaseInputProps = (BaseInputPropsWithA11yLabel | BaseInputPropsWithLabel) &\n BaseInputCommonProps;\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'on',\n 'name',\n 'email',\n 'username',\n 'password',\n 'newPassword',\n 'oneTimeCode',\n 'telephone',\n 'postalCode',\n 'countryName',\n 'creditCardNumber',\n 'creditCardCSC',\n 'creditCardExpiry',\n 'creditCardExpiryMonth',\n 'creditCardExpiryYear',\n];\n\ntype OnInputKeydownTagHandlerType = (key: string | undefined) => void;\nconst useTags = (\n tags: BaseInputProps['tags'],\n activeTagIndex: number,\n setActiveTagIndex?: (activeTagIndex: number) => void,\n): {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n visibleTagsCountRef: React.MutableRefObject<number>;\n} => {\n const visibleTagsCountRef = React.useRef<number>(0);\n\n React.useEffect(() => {\n if (tags && activeTagIndex >= 0 && activeTagIndex < tags.length) {\n const tagTitle = tags[activeTagIndex]?.props?.children;\n if (tagTitle) {\n announce(`Close ${tagTitle} Tag`);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTagIndex, tags?.length]);\n\n const onTagLeft = (): void => {\n if (activeTagIndex < 0) {\n setActiveTagIndex?.(visibleTagsCountRef.current - 1);\n }\n\n if (activeTagIndex > 0) {\n setActiveTagIndex?.(activeTagIndex - 1);\n }\n };\n\n const onTagRight = (): void => {\n if (activeTagIndex < visibleTagsCountRef.current - 1) {\n setActiveTagIndex?.(activeTagIndex + 1);\n }\n };\n\n const onTagRemove = (): void => {\n if (activeTagIndex >= 0 && activeTagIndex < visibleTagsCountRef.current && tags) {\n tags[activeTagIndex].props.onDismiss({ tagIndex: activeTagIndex });\n }\n };\n\n const onInputKeydownTagHandler: OnInputKeydownTagHandlerType = (key) => {\n if (tags && tags.length > 0) {\n if (key === 'ArrowRight') {\n onTagRight();\n }\n\n if (key === 'ArrowLeft') {\n onTagLeft();\n }\n\n if (key === 'Backspace') {\n onTagRemove();\n }\n }\n };\n\n return {\n onInputKeydownTagHandler,\n visibleTagsCountRef,\n };\n};\n\nconst useInput = ({\n value,\n defaultValue,\n onClick,\n onFocus,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n}: Pick<\n BaseInputProps,\n | 'value'\n | 'defaultValue'\n | 'onFocus'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'onClick'\n | 'onSubmit'\n> & {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n}): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnClick: FormInputHandleOnClickEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnSubmit: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (__DEV__) {\n if (value && defaultValue) {\n throwBladeError({\n message: `Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n moduleName: 'Input',\n });\n }\n }\n\n const [inputValue, setInputValue] = React.useState(defaultValue ?? value);\n\n const handleOnFocus: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onFocus?.({\n name,\n value: _value,\n });\n },\n [onFocus],\n );\n\n const handleOnClick: FormInputHandleOnClickEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.currentTarget.value ?? '';\n }\n\n onClick?.({\n name,\n value: _value,\n });\n },\n [onClick],\n );\n\n const handleOnSubmit: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n //@ts-ignore need to ignore this since it will throw a TS error for web but not for native\n onSubmit?.({\n name,\n value: _value,\n });\n }\n },\n [onSubmit],\n );\n\n const handleOnBlur: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onBlur?.({\n name,\n value: _value,\n });\n },\n [onBlur],\n );\n\n const handleOnChange: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onChange?.({\n name,\n value: _value,\n });\n setInputValue(_value);\n },\n [onChange],\n );\n\n const handleOnInput: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onInput?.({\n name,\n value: _value,\n });\n },\n [onInput],\n );\n\n const handleOnKeyDown: FormInputHandleOnKeyDownEvent = React.useCallback(\n ({ name, key, code, event }) => {\n onInputKeydownTagHandler(key);\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnClick,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n };\n};\n\nexport const getHintType = ({\n validationState,\n hasHelpText,\n}: {\n validationState: BaseInputProps['validationState'];\n hasHelpText: boolean;\n}): FormHintProps['type'] => {\n if (validationState === 'error') {\n return 'error';\n }\n\n if (validationState === 'success') {\n return 'success';\n }\n\n if (hasHelpText) {\n return 'help';\n }\n\n return 'help';\n};\n\nconst getDescribedByElementId = ({\n validationState,\n hasErrorText,\n hasSuccessText,\n hasHelpText,\n errorTextId,\n successTextId,\n helpTextId,\n}: {\n validationState: BaseInputProps['validationState'];\n hasErrorText: boolean;\n hasSuccessText: boolean;\n hasHelpText: boolean;\n errorTextId: string;\n successTextId: string;\n helpTextId: string;\n}): string => {\n if (validationState === 'error' && hasErrorText) {\n return errorTextId;\n }\n\n if (validationState === 'success' && hasSuccessText) {\n return successTextId;\n }\n\n if (hasHelpText) {\n return helpTextId;\n }\n\n return '';\n};\n\nconst FocusRingWrapper = styled(BaseBox)<{\n currentInteraction: ActionStates;\n}>(({ theme, currentInteraction }) => ({\n borderRadius: makeBorderSize(theme.border.radius.medium),\n width: '100%',\n '&:focus-within': {\n ...getFocusRingStyles({\n theme,\n }),\n transitionDuration: castWebType(\n makeMotionTime(\n getIn(\n theme.motion.duration,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .duration,\n ),\n ),\n ),\n transitionTimingFunction: castWebType(\n getIn(\n theme.motion.easing,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit'].easing,\n ),\n ),\n },\n}));\n\nconst _BaseInput: React.ForwardRefRenderFunction<BladeElementRef, BaseInputProps> = (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n tags,\n showAllTags = false,\n activeTagIndex = -1,\n setActiveTagIndex,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onSubmit,\n onClick,\n onKeyDown,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n maxCharacters,\n textAlign,\n autoFocus,\n keyboardReturnKeyType,\n keyboardType,\n autoCompleteSuggestionType,\n trailingHeaderSlot,\n trailingFooterSlot,\n numberOfLines,\n id,\n componentName,\n accessibilityLabel,\n labelId,\n activeDescendant,\n hideLabelText,\n hideFormHint,\n hasPopup,\n popupId,\n isPopupExpanded,\n maxTagRows,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n autoCapitalize,\n setInputWrapperRef,\n testID,\n isDropdownTrigger,\n isLabelInsideInput,\n size = 'medium',\n trailingButton,\n valueComponentType = 'text',\n ...styledProps\n },\n ref,\n) => {\n const { theme } = useTheme();\n const inputWrapperRef: InputWrapperRef = React.useRef(null);\n const { onInputKeydownTagHandler, visibleTagsCountRef } = useTags(\n tags,\n activeTagIndex,\n setActiveTagIndex,\n );\n const [showAllTagsWithAnimation, setShowAllTagsWithAnimation] = React.useState(false);\n const isReactNative = getPlatformType() === 'react-native';\n\n React.useEffect(() => {\n if (showAllTags) {\n setShowAllTagsWithAnimation(true);\n } else if (maxTagRows !== 'expandable') {\n setShowAllTagsWithAnimation(false);\n }\n }, [showAllTags, maxTagRows]);\n\n const {\n handleOnFocus,\n handleOnChange,\n handleOnClick,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onClick,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n });\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId(id);\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n const { currentInteraction, setCurrentInteraction } = useInteraction();\n const _isRequired = isRequired || necessityIndicator === 'required';\n\n const accessibilityProps = makeAccessible({\n required: Boolean(_isRequired),\n disabled: Boolean(isDisabled),\n invalid: Boolean(validationState === 'error'),\n describedBy: getDescribedByElementId({\n validationState,\n hasErrorText: Boolean(errorText),\n hasSuccessText: Boolean(successText),\n hasHelpText: Boolean(helpText),\n errorTextId,\n successTextId,\n helpTextId,\n }),\n label: accessibilityLabel,\n hasPopup,\n expanded: hasPopup ? isPopupExpanded : undefined,\n controls: hasPopup ? popupId : undefined,\n role: hasPopup ? 'combobox' : undefined,\n activeDescendant,\n });\n\n const willRenderHintText = Boolean(helpText) || Boolean(successText) || Boolean(errorText);\n\n if (__DEV__) {\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throwBladeError({\n message: `Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n moduleName: 'Input',\n });\n }\n }\n\n const isTextArea = as === 'textarea';\n return (\n <BaseBox {...metaAttribute({ name: componentName, testID })} {...getStyledProps(styledProps)}>\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {!hideLabelText && !isLabelInsideInput && (\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginY={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n htmlFor={inputId}\n size={size}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(value ?? inputValue)}\n </BaseBox>\n )}\n <FocusRingWrapper currentInteraction={currentInteraction}>\n <BaseInputWrapper\n isDropdownTrigger={isDropdownTrigger}\n isTextArea={isTextArea}\n isDisabled={isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n showAllTags={showAllTags}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n ref={(refNode) => {\n if (refNode) {\n setInputWrapperRef?.(refNode);\n inputWrapperRef.current = refNode;\n }\n }}\n maxTagRows={maxTagRows}\n size={size}\n >\n <BaseInputVisuals\n size={size}\n leadingIcon={leadingIcon}\n prefix={prefix}\n isDisabled={isDisabled}\n />\n <BaseInputTagSlot\n renderAs={as}\n tags={tags}\n isDisabled={isDisabled}\n showAllTags={showAllTagsWithAnimation}\n setFocusOnInput={() => {\n if (ref && !isReactNative && 'current' in ref) {\n ref.current?.focus();\n }\n }}\n labelPrefix={isLabelInsideInput ? label : undefined}\n isDropdownTrigger={isDropdownTrigger}\n visibleTagsCountRef={visibleTagsCountRef}\n handleOnInputClick={(e) => {\n handleOnClick({ name, value: isReactNative ? value : e });\n }}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n maxTagRows={maxTagRows}\n inputWrapperRef={inputWrapperRef}\n size={size}\n >\n <StyledBaseInput\n as={as}\n id={inputId}\n ref={ref as any}\n name={name}\n type={type}\n defaultValue={defaultValue}\n value={value}\n placeholder={placeholder}\n isDisabled={isDisabled}\n validationState={validationState}\n isRequired={_isRequired}\n handleOnFocus={handleOnFocus}\n handleOnChange={handleOnChange}\n handleOnBlur={handleOnBlur}\n handleOnSubmit={handleOnSubmit}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n handleOnClick={handleOnClick}\n leadingIcon={leadingIcon}\n prefix={prefix}\n interactionElement={interactionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n maxCharacters={maxCharacters}\n textAlign={textAlign}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n keyboardReturnKeyType={keyboardReturnKeyType}\n keyboardType={keyboardType}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n accessibilityProps={accessibilityProps}\n currentInteraction={currentInteraction}\n setCurrentInteraction={setCurrentInteraction}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea || maxTagRows === 'multiple' || maxTagRows === 'expandable'}\n hasPopup={hasPopup}\n hasTags={!!(tags && tags.length > 0)}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n autoCapitalize={autoCapitalize}\n isDropdownTrigger={isDropdownTrigger}\n $size={size}\n valueComponentType={valueComponentType}\n {...metaAttribute({ name: MetaConstants.StyledBaseInput })}\n />\n </BaseInputTagSlot>\n <BaseInputVisuals\n interactionElement={interactionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={isDisabled}\n validationState={validationState}\n trailingButton={trailingButton}\n size={size}\n />\n </BaseInputWrapper>\n </FocusRingWrapper>\n </BaseBox>\n\n {!hideFormHint && (\n <BaseBox\n marginLeft={makeSize(\n isLabelLeftPositioned && !hideLabelText ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={willRenderHintText ? 'space-between' : 'flex-end'}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n size={size}\n />\n {trailingFooterSlot?.(value ?? inputValue)}\n </BaseBox>\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst BaseInputWithRef = React.forwardRef(_BaseInput);\nconst BaseInput = assignWithoutSideEffects(BaseInputWithRef, { displayName: 'BaseInput' });\n\nexport { BaseInput };\n"],"names":["autoCompleteSuggestionTypeValues","useTags","tags","activeTagIndex","setActiveTagIndex","visibleTagsCountRef","React","useRef","useEffect","length","_tags$activeTagIndex","_tags$activeTagIndex$","tagTitle","props","children","announce","onTagLeft","current","onTagRight","onTagRemove","onDismiss","tagIndex","onInputKeydownTagHandler","key","useInput","_ref","value","defaultValue","onClick","onFocus","onChange","onBlur","onSubmit","onInput","onKeyDown","__DEV__","throwBladeError","message","moduleName","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","handleOnFocus","useCallback","_ref2","name","_value","getPlatformType","_value$target$value","target","handleOnClick","_ref3","_value$currentTarget$","currentTarget","handleOnSubmit","_ref4","_value$target$value2","isReactNative","handleOnBlur","_ref5","_value$target$value3","handleOnChange","_ref6","_value$target$value4","handleOnInput","_ref7","_value$target$value5","handleOnKeyDown","_ref8","code","event","getHintType","_ref9","validationState","hasHelpText","getDescribedByElementId","_ref10","hasErrorText","hasSuccessText","errorTextId","successTextId","helpTextId","FocusRingWrapper","styled","BaseBox","_ref11","theme","currentInteraction","borderRadius","makeBorderSize","border","radius","medium","width","Object","assign","getFocusRingStyles","transitionDuration","castWebType","makeMotionTime","getIn","motion","duration","baseInputBorderBackgroundMotion","transitionTimingFunction","easing","_BaseInput","_ref12","ref","_ref12$as","as","label","_ref12$labelPosition","labelPosition","placeholder","_ref12$type","type","_ref12$showAllTags","showAllTags","_ref12$activeTagIndex","isDisabled","necessityIndicator","errorText","helpText","successText","isRequired","leadingIcon","prefix","interactionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","_ref12$size","size","trailingButton","_ref12$valueComponent","valueComponentType","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","inputWrapperRef","_useTags","_React$useState3","_React$useState4","showAllTagsWithAnimation","setShowAllTagsWithAnimation","_useInput","_useFormId","useFormId","inputId","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","_useInteraction","useInteraction","setCurrentInteraction","_isRequired","accessibilityProps","makeAccessible","required","Boolean","disabled","invalid","describedBy","expanded","undefined","controls","role","willRenderHintText","includes","join","isTextArea","_jsxs","metaAttribute","getStyledProps","display","flexDirection","justifyContent","alignItems","position","alignSelf","marginY","_jsx","FormLabel","htmlFor","BaseInputWrapper","refNode","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","_ref$current","focus","labelPrefix","handleOnInputClick","e","StyledBaseInput","hasTags","$size","MetaConstants","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInput.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInput.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { BaseInputTagSlot } from './BaseInputTagSlot';\nimport type { InputWrapperRef } from './types';\nimport { baseInputBorderBackgroundMotion, formHintLeftLabelMarginLeft } from './baseInputTokens';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '~components/Form';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport {\n castWebType,\n getPlatformType,\n isReactNative,\n makeBorderSize,\n makeMotionTime,\n useBreakpoint,\n} from '~utils';\nimport type { Platform } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~utils/useInteraction';\nimport type { ActionStates } from '~utils/useInteraction';\nimport type {\n FormInputHandleOnClickEvent,\n FormInputHandleOnKeyDownEvent,\n} from '~components/Form/FormTypes';\nimport type { BladeElementRef, ContainerElementType, TestID } from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AriaAttributes } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport { announce } from '~components/LiveAnnouncer/LiveAnnouncer';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { LinkProps } from '~components/Link';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport getIn from '~utils/lodashButBetter/get';\n\ntype CommonAutoCompleteSuggestionTypes =\n | 'none'\n | 'name'\n | 'email'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'telephone'\n | 'postalCode'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardCSC'\n | 'creditCardExpiry'\n | 'creditCardExpiryMonth'\n | 'creditCardExpiryYear';\n\ntype WebAutoCompleteSuggestionType = CommonAutoCompleteSuggestionTypes | 'on';\n\ntype BaseInputCommonProps = FormInputLabelProps &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input, textarea or button\n */\n as?: 'input' | 'textarea' | 'button';\n /**\n * ID that will be used for accessibility\n */\n id: string;\n /**\n * Placeholder text to be displayed inside the input field\n */\n placeholder?: string;\n /**\n * Type of Input Field to be rendered.\n *\n * @default text\n */\n type?: 'text' | 'telephone' | 'email' | 'url' | 'number' | 'search' | 'password';\n /**\n * Used to set the default value of input field when it's uncontrolled\n */\n defaultValue?: string;\n /**\n * The name of the input field.\n *\n * Useful in form submissions\n */\n name?: string;\n /**\n * The callback function to be invoked when the input field gets focus\n */\n onFocus?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field changes\n */\n onChange?: FormInputOnEvent;\n /**\n * The callback function to be invoked when input is clicked\n */\n onClick?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field has any input\n */\n onInput?: FormInputOnEvent;\n /**\n * The callback function to be invoked whenever there is a keyDown event\n */\n onKeyDown?: FormInputHandleOnKeyDownEvent;\n /**\n * The callback function to be invoked when the the input field loses focus\n *\n * For React Native this will call `onEndEditing` event since we want to get the last value of the input field\n */\n onBlur?: FormInputOnEvent;\n /**\n * Ignores the blur event animation (Used in Select to ignore blur animation when item in option is clicked)\n */\n shouldIgnoreBlurAnimation?: boolean;\n /**\n * sets boolean that ignores the blur animations on baseinput\n */\n setShouldIgnoreBlurAnimation?: (shouldIgnoreBlurAnimation: boolean) => void;\n /**\n * Used to turn the input field to controlled so user can control the value\n */\n value?: string;\n /**\n * Used to disable the input field\n */\n isDisabled?: boolean;\n /**\n * If true, the input is marked as required, and `required` attribute will be added\n */\n isRequired?: boolean;\n /**\n * Icon to be shown at the start of the input field\n */\n leadingIcon?: IconComponent;\n /**\n * Prefix symbol to be displayed at the beginning of the input field. If leadingIcon is provided it'll be placed after it\n */\n prefix?: string;\n /**\n * Element to be rendered before suffix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a loader or they could render a clear button\n */\n trailingInteractionElement?: ReactNode;\n /**\n * Element to be rendered before prefix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a country selector or button\n */\n leadingInteractionElement?: ReactNode;\n /**\n * Suffix symbol to be displayed at the end of the input field. If trailingIcon is provided it'll be placed before it\n */\n suffix?: string;\n /**\n * Icon to be displayed at the end of the input field\n */\n trailingIcon?: IconComponent;\n /**\n * Displays the character counter under the input field\n */\n maxCharacters?: number;\n /**\n * alignment of the text inside input field\n */\n textAlign?: 'left' | 'center' | 'right';\n /**\n * If true, focuses the input field on load\n *\n * **Note:**\n * Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments.\n * When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n */\n autoFocus?: boolean;\n /**\n * Hints the platform to display an appropriate virtual keyboard\n *\n * **Native:** Passes as is the `keyboardType` attribute\n *\n * **Web:** Passes the value to the `inputMode` attribute\n */\n keyboardType?: 'text' | 'search' | 'telephone' | 'email' | 'url' | 'decimal';\n /**\n * determines what return key to show on the keyboard of mobile devices/virtual keyboard\n * **Note**: Few values are platform dependent and might not render on all the platforms\n *\n * `default` is only available on native. it'll be mapped to `enter` for web\n * `previous` is only available on native android\n */\n keyboardReturnKeyType?: 'default' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send';\n /**\n * Element to be rendered on the trailing slot of input field label\n */\n trailingHeaderSlot?: (value?: string) => ReactNode;\n /**\n * Element to be rendered on the trailing slot of input field footer\n */\n trailingFooterSlot?: (value?: string) => ReactNode;\n /**\n * Sets the textarea's number of lines\n */\n numberOfLines?: 2 | 3 | 4 | 5;\n /**\n * Sets the accessibility label for the input\n */\n accessibilityLabel?: string;\n /**\n * Sets the id of the label\n *\n * (Useful when assigning one label to multiple elements using aria-labelledby)\n */\n labelId?: string;\n /**\n * Can be used in select to set the id of the active descendant from the listbox\n */\n activeDescendant?: string;\n /**\n * Hides the label text\n */\n hideLabelText?: boolean;\n /**\n * Hides the form hint text\n */\n hideFormHint?: boolean;\n /**\n * componentName prop sets the data-blade-component attribute name\n * for internal metric collection purposes\n */\n componentName?: string;\n /**\n * whether the input has a popup\n */\n hasPopup?: AriaAttributes['hasPopup'];\n /**\n * id of the popup\n */\n popupId?: string;\n /**\n * true if popup is in expanded state\n */\n isPopupExpanded?: boolean;\n setInputWrapperRef?: (node: ContainerElementType) => void;\n /**\n * sets the autocapitalize behavior for the input\n */\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n\n /**\n * constraints the height of input to given number rows\n *\n * When set to expandable, input takes 1 row in the begining and expands to take 3 when active\n *\n * @default 'single'\n */\n maxTagRows?: 'single' | 'multiple' | 'expandable';\n\n /**\n * A slot for adding tags to input\n */\n tags?: React.ReactElement[] | null;\n\n /**\n * Disables stripping of tags and shows all tags\n */\n showAllTags?: boolean;\n\n /**\n * State variable of active tag index\n */\n activeTagIndex?: number;\n\n /**\n * Is this input SelectInput or AutoComplete\n */\n isDropdownTrigger?: boolean;\n\n /**\n * Is the label expected to be rendered inside input?\n * Used in AutoComplete and Select when label can't exist outside\n *\n */\n isLabelInsideInput?: boolean;\n\n /**\n * State setter for active tag index\n */\n setActiveTagIndex?: (activeTagIndex: number) => void;\n /**\n * Sets the size of the input field\n * @default medium\n */\n size?: 'medium' | 'large';\n /**\n * Link button to be rendered at the end of the input field.\n * **Note:** `size` of the Link will be set to the same size as the input field, `isDisabled` will follow Input's `isDisabled`, & `variant` will be set to `button`.\n * Example:\n * ```tsx\n * trailingButton={<Link onClick={handleClick}>Apply</Link>}\n * ```\n */\n trailingButton?: React.ReactElement<LinkProps>;\n /**\n * Whether to use Text or Heading component for Input text\n * @default text\n **/\n valueComponentType?: 'text' | 'heading';\n } & TestID &\n Platform.Select<{\n native: {\n /**\n * The callback function to be invoked when the value of the input field is submitted.\n */\n onSubmit?: FormInputOnEvent;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: CommonAutoCompleteSuggestionTypes;\n };\n web: {\n /**\n * This is a react-native only prop and has no effect on web.\n */\n onSubmit?: undefined;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: WebAutoCompleteSuggestionType;\n };\n }> &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype BaseInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype BaseInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\nexport type BaseInputProps = (BaseInputPropsWithA11yLabel | BaseInputPropsWithLabel) &\n BaseInputCommonProps;\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'on',\n 'name',\n 'email',\n 'username',\n 'password',\n 'newPassword',\n 'oneTimeCode',\n 'telephone',\n 'postalCode',\n 'countryName',\n 'creditCardNumber',\n 'creditCardCSC',\n 'creditCardExpiry',\n 'creditCardExpiryMonth',\n 'creditCardExpiryYear',\n];\n\ntype OnInputKeydownTagHandlerType = (key: string | undefined) => void;\nconst useTags = (\n tags: BaseInputProps['tags'],\n activeTagIndex: number,\n setActiveTagIndex?: (activeTagIndex: number) => void,\n): {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n visibleTagsCountRef: React.MutableRefObject<number>;\n} => {\n const visibleTagsCountRef = React.useRef<number>(0);\n\n React.useEffect(() => {\n if (tags && activeTagIndex >= 0 && activeTagIndex < tags.length) {\n const tagTitle = tags[activeTagIndex]?.props?.children;\n if (tagTitle) {\n announce(`Close ${tagTitle} Tag`);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTagIndex, tags?.length]);\n\n const onTagLeft = (): void => {\n if (activeTagIndex < 0) {\n setActiveTagIndex?.(visibleTagsCountRef.current - 1);\n }\n\n if (activeTagIndex > 0) {\n setActiveTagIndex?.(activeTagIndex - 1);\n }\n };\n\n const onTagRight = (): void => {\n if (activeTagIndex < visibleTagsCountRef.current - 1) {\n setActiveTagIndex?.(activeTagIndex + 1);\n }\n };\n\n const onTagRemove = (): void => {\n if (activeTagIndex >= 0 && activeTagIndex < visibleTagsCountRef.current && tags) {\n tags[activeTagIndex].props.onDismiss({ tagIndex: activeTagIndex });\n }\n };\n\n const onInputKeydownTagHandler: OnInputKeydownTagHandlerType = (key) => {\n if (tags && tags.length > 0) {\n if (key === 'ArrowRight') {\n onTagRight();\n }\n\n if (key === 'ArrowLeft') {\n onTagLeft();\n }\n\n if (key === 'Backspace') {\n onTagRemove();\n }\n }\n };\n\n return {\n onInputKeydownTagHandler,\n visibleTagsCountRef,\n };\n};\n\nconst useInput = ({\n value,\n defaultValue,\n onClick,\n onFocus,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n}: Pick<\n BaseInputProps,\n | 'value'\n | 'defaultValue'\n | 'onFocus'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'onClick'\n | 'onSubmit'\n> & {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n}): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnClick: FormInputHandleOnClickEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnSubmit: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (__DEV__) {\n if (value && defaultValue) {\n throwBladeError({\n message: `Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n moduleName: 'Input',\n });\n }\n }\n\n const [inputValue, setInputValue] = React.useState(defaultValue ?? value);\n\n const handleOnFocus: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onFocus?.({\n name,\n value: _value,\n });\n },\n [onFocus],\n );\n\n const handleOnClick: FormInputHandleOnClickEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.currentTarget.value ?? '';\n }\n\n onClick?.({\n name,\n value: _value,\n });\n },\n [onClick],\n );\n\n const handleOnSubmit: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n //@ts-ignore need to ignore this since it will throw a TS error for web but not for native\n onSubmit?.({\n name,\n value: _value,\n });\n }\n },\n [onSubmit],\n );\n\n const handleOnBlur: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onBlur?.({\n name,\n value: _value,\n });\n },\n [onBlur],\n );\n\n const handleOnChange: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onChange?.({\n name,\n value: _value,\n });\n setInputValue(_value);\n },\n [onChange],\n );\n\n const handleOnInput: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onInput?.({\n name,\n value: _value,\n });\n },\n [onInput],\n );\n\n const handleOnKeyDown: FormInputHandleOnKeyDownEvent = React.useCallback(\n ({ name, key, code, event }) => {\n onInputKeydownTagHandler(key);\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnClick,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n };\n};\n\nexport const getHintType = ({\n validationState,\n hasHelpText,\n}: {\n validationState: BaseInputProps['validationState'];\n hasHelpText: boolean;\n}): FormHintProps['type'] => {\n if (validationState === 'error') {\n return 'error';\n }\n\n if (validationState === 'success') {\n return 'success';\n }\n\n if (hasHelpText) {\n return 'help';\n }\n\n return 'help';\n};\n\nconst getDescribedByElementId = ({\n validationState,\n hasErrorText,\n hasSuccessText,\n hasHelpText,\n errorTextId,\n successTextId,\n helpTextId,\n}: {\n validationState: BaseInputProps['validationState'];\n hasErrorText: boolean;\n hasSuccessText: boolean;\n hasHelpText: boolean;\n errorTextId: string;\n successTextId: string;\n helpTextId: string;\n}): string => {\n if (validationState === 'error' && hasErrorText) {\n return errorTextId;\n }\n\n if (validationState === 'success' && hasSuccessText) {\n return successTextId;\n }\n\n if (hasHelpText) {\n return helpTextId;\n }\n\n return '';\n};\n\nconst FocusRingWrapper = styled(BaseBox)<{\n currentInteraction: ActionStates;\n}>(({ theme, currentInteraction }) => ({\n borderRadius: makeBorderSize(theme.border.radius.medium),\n width: '100%',\n '&:focus-within': {\n ...getFocusRingStyles({\n theme,\n }),\n transitionDuration: castWebType(\n makeMotionTime(\n getIn(\n theme.motion.duration,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .duration,\n ),\n ),\n ),\n transitionTimingFunction: castWebType(\n getIn(\n theme.motion.easing,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit'].easing,\n ),\n ),\n },\n}));\n\nconst _BaseInput: React.ForwardRefRenderFunction<BladeElementRef, BaseInputProps> = (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n tags,\n showAllTags = false,\n activeTagIndex = -1,\n setActiveTagIndex,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onSubmit,\n onClick,\n onKeyDown,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n maxCharacters,\n textAlign,\n autoFocus,\n keyboardReturnKeyType,\n keyboardType,\n autoCompleteSuggestionType,\n trailingHeaderSlot,\n trailingFooterSlot,\n numberOfLines,\n id,\n componentName,\n accessibilityLabel,\n labelId,\n activeDescendant,\n hideLabelText,\n hideFormHint,\n hasPopup,\n popupId,\n isPopupExpanded,\n maxTagRows,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n autoCapitalize,\n setInputWrapperRef,\n testID,\n isDropdownTrigger,\n isLabelInsideInput,\n size = 'medium',\n trailingButton,\n valueComponentType = 'text',\n ...styledProps\n },\n ref,\n) => {\n const { theme } = useTheme();\n const inputWrapperRef: InputWrapperRef = React.useRef(null);\n const { onInputKeydownTagHandler, visibleTagsCountRef } = useTags(\n tags,\n activeTagIndex,\n setActiveTagIndex,\n );\n const [showAllTagsWithAnimation, setShowAllTagsWithAnimation] = React.useState(false);\n const isReactNative = getPlatformType() === 'react-native';\n\n React.useEffect(() => {\n if (showAllTags) {\n setShowAllTagsWithAnimation(true);\n } else if (maxTagRows !== 'expandable') {\n setShowAllTagsWithAnimation(false);\n }\n }, [showAllTags, maxTagRows]);\n\n const {\n handleOnFocus,\n handleOnChange,\n handleOnClick,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onClick,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n });\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId(id);\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n const { currentInteraction, setCurrentInteraction } = useInteraction();\n const _isRequired = isRequired || necessityIndicator === 'required';\n\n const accessibilityProps = makeAccessible({\n required: Boolean(_isRequired),\n disabled: Boolean(isDisabled),\n invalid: Boolean(validationState === 'error'),\n describedBy: getDescribedByElementId({\n validationState,\n hasErrorText: Boolean(errorText),\n hasSuccessText: Boolean(successText),\n hasHelpText: Boolean(helpText),\n errorTextId,\n successTextId,\n helpTextId,\n }),\n label: accessibilityLabel,\n hasPopup,\n expanded: hasPopup ? isPopupExpanded : undefined,\n controls: hasPopup ? popupId : undefined,\n role: hasPopup ? 'combobox' : undefined,\n activeDescendant,\n });\n\n const willRenderHintText = Boolean(helpText) || Boolean(successText) || Boolean(errorText);\n\n if (__DEV__) {\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throwBladeError({\n message: `Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n moduleName: 'Input',\n });\n }\n }\n\n const isTextArea = as === 'textarea';\n return (\n <BaseBox {...metaAttribute({ name: componentName, testID })} {...getStyledProps(styledProps)}>\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {!hideLabelText && !isLabelInsideInput && (\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginY={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n htmlFor={inputId}\n size={size}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(value ?? inputValue)}\n </BaseBox>\n )}\n <FocusRingWrapper currentInteraction={currentInteraction}>\n <BaseInputWrapper\n isDropdownTrigger={isDropdownTrigger}\n isTextArea={isTextArea}\n isDisabled={isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n showAllTags={showAllTags}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n ref={(refNode) => {\n if (refNode) {\n setInputWrapperRef?.(refNode);\n inputWrapperRef.current = refNode;\n }\n }}\n maxTagRows={maxTagRows}\n size={size}\n >\n <BaseInputVisuals\n size={size}\n leadingIcon={leadingIcon}\n prefix={prefix}\n isDisabled={isDisabled}\n leadingInteractionElement={leadingInteractionElement}\n />\n <BaseInputTagSlot\n renderAs={as}\n tags={tags}\n isDisabled={isDisabled}\n showAllTags={showAllTagsWithAnimation}\n setFocusOnInput={() => {\n if (ref && !isReactNative && 'current' in ref) {\n ref.current?.focus();\n }\n }}\n labelPrefix={isLabelInsideInput ? label : undefined}\n isDropdownTrigger={isDropdownTrigger}\n visibleTagsCountRef={visibleTagsCountRef}\n handleOnInputClick={(e) => {\n handleOnClick({ name, value: isReactNative ? value : e });\n }}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n maxTagRows={maxTagRows}\n inputWrapperRef={inputWrapperRef}\n size={size}\n >\n <StyledBaseInput\n as={as}\n id={inputId}\n ref={ref as any}\n name={name}\n type={type}\n defaultValue={defaultValue}\n value={value}\n placeholder={placeholder}\n isDisabled={isDisabled}\n validationState={validationState}\n isRequired={_isRequired}\n handleOnFocus={handleOnFocus}\n handleOnChange={handleOnChange}\n handleOnBlur={handleOnBlur}\n handleOnSubmit={handleOnSubmit}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n handleOnClick={handleOnClick}\n leadingIcon={leadingIcon}\n prefix={prefix}\n trailingInteractionElement={trailingInteractionElement}\n leadingInteractionElement={leadingInteractionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n maxCharacters={maxCharacters}\n textAlign={textAlign}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n keyboardReturnKeyType={keyboardReturnKeyType}\n keyboardType={keyboardType}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n accessibilityProps={accessibilityProps}\n currentInteraction={currentInteraction}\n setCurrentInteraction={setCurrentInteraction}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea || maxTagRows === 'multiple' || maxTagRows === 'expandable'}\n hasPopup={hasPopup}\n hasTags={!!(tags && tags.length > 0)}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n autoCapitalize={autoCapitalize}\n isDropdownTrigger={isDropdownTrigger}\n $size={size}\n valueComponentType={valueComponentType}\n {...metaAttribute({ name: MetaConstants.StyledBaseInput })}\n />\n </BaseInputTagSlot>\n <BaseInputVisuals\n trailingInteractionElement={trailingInteractionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={isDisabled}\n validationState={validationState}\n trailingButton={trailingButton}\n size={size}\n />\n </BaseInputWrapper>\n </FocusRingWrapper>\n </BaseBox>\n\n {!hideFormHint && (\n <BaseBox\n marginLeft={makeSize(\n isLabelLeftPositioned && !hideLabelText ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={willRenderHintText ? 'space-between' : 'flex-end'}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n size={size}\n />\n {trailingFooterSlot?.(value ?? inputValue)}\n </BaseBox>\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst BaseInputWithRef = React.forwardRef(_BaseInput);\nconst BaseInput = assignWithoutSideEffects(BaseInputWithRef, { displayName: 'BaseInput' });\n\nexport { BaseInput };\n"],"names":["autoCompleteSuggestionTypeValues","useTags","tags","activeTagIndex","setActiveTagIndex","visibleTagsCountRef","React","useRef","useEffect","length","_tags$activeTagIndex","_tags$activeTagIndex$","tagTitle","props","children","announce","onTagLeft","current","onTagRight","onTagRemove","onDismiss","tagIndex","onInputKeydownTagHandler","key","useInput","_ref","value","defaultValue","onClick","onFocus","onChange","onBlur","onSubmit","onInput","onKeyDown","__DEV__","throwBladeError","message","moduleName","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","handleOnFocus","useCallback","_ref2","name","_value","getPlatformType","_value$target$value","target","handleOnClick","_ref3","_value$currentTarget$","currentTarget","handleOnSubmit","_ref4","_value$target$value2","isReactNative","handleOnBlur","_ref5","_value$target$value3","handleOnChange","_ref6","_value$target$value4","handleOnInput","_ref7","_value$target$value5","handleOnKeyDown","_ref8","code","event","getHintType","_ref9","validationState","hasHelpText","getDescribedByElementId","_ref10","hasErrorText","hasSuccessText","errorTextId","successTextId","helpTextId","FocusRingWrapper","styled","BaseBox","_ref11","theme","currentInteraction","borderRadius","makeBorderSize","border","radius","medium","width","Object","assign","getFocusRingStyles","transitionDuration","castWebType","makeMotionTime","getIn","motion","duration","baseInputBorderBackgroundMotion","transitionTimingFunction","easing","_BaseInput","_ref12","ref","_ref12$as","as","label","_ref12$labelPosition","labelPosition","placeholder","_ref12$type","type","_ref12$showAllTags","showAllTags","_ref12$activeTagIndex","isDisabled","necessityIndicator","errorText","helpText","successText","isRequired","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","_ref12$size","size","trailingButton","_ref12$valueComponent","valueComponentType","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","inputWrapperRef","_useTags","_React$useState3","_React$useState4","showAllTagsWithAnimation","setShowAllTagsWithAnimation","_useInput","_useFormId","useFormId","inputId","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","_useInteraction","useInteraction","setCurrentInteraction","_isRequired","accessibilityProps","makeAccessible","required","Boolean","disabled","invalid","describedBy","expanded","undefined","controls","role","willRenderHintText","includes","join","isTextArea","_jsxs","metaAttribute","getStyledProps","display","flexDirection","justifyContent","alignItems","position","alignSelf","marginY","_jsx","FormLabel","htmlFor","BaseInputWrapper","refNode","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","_ref$current","focus","labelPrefix","handleOnInputClick","e","StyledBaseInput","hasTags","$size","MetaConstants","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects","displayName"],"mappings":"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"}
@@ -13,7 +13,7 @@ import { Text } from '../../Typography/Text/Text.js';
13
13
  import '../../Typography/Code/Code.js';
14
14
  import { isValidAllowedChildren } from '../../../utils/isValidAllowedChildren/isValidAllowedChildren.js';
15
15
 
16
- var getVisualContainerStyles=function getVisualContainerStyles(){return {display:'flex',flexDirection:'row',alignItems:'center',alignSelf:'center'};};var trailingIconColor={none:'surface.icon.gray.subtle',error:'feedback.icon.negative.intense',success:'feedback.icon.positive.intense'};var iconSize={medium:'medium',large:'large'};var textSize={medium:'medium',large:'large'};var getPrefixStyles=function getPrefixStyles(_ref){var hasLeadingIcon=_ref.hasLeadingIcon,hasPrefix=_ref.hasPrefix;if(hasPrefix&&hasLeadingIcon){return {paddingLeft:'spacing.3'};}if(hasPrefix&&!hasLeadingIcon){return {paddingLeft:'spacing.4'};}return {paddingLeft:'spacing.0'};};var getInteractionElementStyles=function getInteractionElementStyles(_ref2){var hasTrailingIcon=_ref2.hasTrailingIcon,hasInteractionElement=_ref2.hasInteractionElement,hasSuffix=_ref2.hasSuffix,hasTrailingButton=_ref2.hasTrailingButton;if(hasInteractionElement&&(hasSuffix||hasTrailingIcon||hasTrailingButton)){return {paddingRight:'spacing.2'};}if(hasInteractionElement&&!hasSuffix&&!hasTrailingIcon&&!hasTrailingButton){return {paddingRight:'spacing.4'};}return {paddingRight:'spacing.0'};};var getSuffixStyles=function getSuffixStyles(_ref3){var hasTrailingIcon=_ref3.hasTrailingIcon,hasSuffix=_ref3.hasSuffix,hasTrailingButton=_ref3.hasTrailingButton;if(hasSuffix&&(hasTrailingIcon||hasTrailingButton)){return {paddingRight:'spacing.3'};}if(hasSuffix&&!hasTrailingIcon&&!hasTrailingButton){return {paddingRight:'spacing.4'};}return {paddingRight:'spacing.0'};};var getTrailingIconStyles=function getTrailingIconStyles(_ref4){var hasTrailingIcon=_ref4.hasTrailingIcon,hasTrailingButton=_ref4.hasTrailingButton;if(hasTrailingIcon&&hasTrailingButton){return {paddingRight:'spacing.3'};}if(hasTrailingIcon&&!hasTrailingButton){return {paddingRight:'spacing.4'};}return {paddingRight:'spacing.0'};};var getInputVisualsToBeRendered=function getInputVisualsToBeRendered(_ref5){var leadingIcon=_ref5.leadingIcon,prefix=_ref5.prefix,interactionElement=_ref5.interactionElement,suffix=_ref5.suffix,trailingIcon=_ref5.trailingIcon,trailingButton=_ref5.trailingButton;return {hasLeadingIcon:Boolean(leadingIcon),hasPrefix:Boolean(prefix),hasInteractionElement:Boolean(interactionElement),hasSuffix:Boolean(suffix),hasTrailingIcon:Boolean(trailingIcon),hasTrailingButton:Boolean(trailingButton)};};var BaseInputVisuals=function BaseInputVisuals(_ref6){var LeadingIcon=_ref6.leadingIcon,prefix=_ref6.prefix,interactionElement=_ref6.interactionElement,suffix=_ref6.suffix,TrailingIcon=_ref6.trailingIcon,isDisabled=_ref6.isDisabled,_ref6$validationState=_ref6.validationState,validationState=_ref6$validationState===void 0?'none':_ref6$validationState,size=_ref6.size,TrailingButton=_ref6.trailingButton;var _getInputVisualsToBeR=getInputVisualsToBeRendered({leadingIcon:LeadingIcon,prefix:prefix,interactionElement:interactionElement,suffix:suffix,trailingIcon:TrailingIcon,trailingButton:TrailingButton,size:size}),hasLeadingIcon=_getInputVisualsToBeR.hasLeadingIcon,hasPrefix=_getInputVisualsToBeR.hasPrefix,hasInteractionElement=_getInputVisualsToBeR.hasInteractionElement,hasSuffix=_getInputVisualsToBeR.hasSuffix,hasTrailingIcon=_getInputVisualsToBeR.hasTrailingIcon,hasTrailingButton=_getInputVisualsToBeR.hasTrailingButton;var hasLeadingVisuals=hasLeadingIcon||hasPrefix;var hasTrailingVisuals=hasInteractionElement||hasSuffix||hasTrailingIcon||hasTrailingButton;if(__DEV__){if(hasTrailingButton&&!isValidAllowedChildren(TrailingButton,'Link')){throwBladeError({message:'trailingButton must be a valid Blade Link component',moduleName:'BaseInput'});}}if(hasLeadingVisuals){return jsxs(BaseBox,Object.assign({},getVisualContainerStyles(),{children:[LeadingIcon?jsx(BaseBox,{paddingLeft:"spacing.4",display:"flex",children:jsx(LeadingIcon,{size:iconSize[size],color:isDisabled?'surface.icon.gray.disabled':'surface.icon.gray.subtle'})}):null,hasPrefix?jsx(BaseBox,Object.assign({},getPrefixStyles({hasLeadingIcon:hasLeadingIcon,hasPrefix:hasPrefix}),{children:jsx(Text,{size:textSize[size],variant:"body",weight:"regular",color:isDisabled?'surface.text.gray.disabled':'surface.text.gray.subtle',children:prefix})})):null]}));}if(hasTrailingVisuals){return jsxs(BaseBox,Object.assign({alignSelf:"stretch",alignItems:"stretch"},getVisualContainerStyles(),{children:[hasInteractionElement?jsx(BaseBox,Object.assign({},getInteractionElementStyles({hasTrailingIcon:hasTrailingIcon,hasInteractionElement:hasInteractionElement,hasSuffix:hasSuffix,hasTrailingButton:hasTrailingButton}),{display:"flex",alignItems:"stretch",alignSelf:"stretch",children:interactionElement})):null,hasSuffix?jsx(BaseBox,Object.assign({},getSuffixStyles({hasTrailingIcon:hasTrailingIcon,hasSuffix:hasSuffix,hasTrailingButton:hasTrailingButton}),{children:jsx(Text,{size:textSize[size],variant:"body",weight:"regular",color:isDisabled?'surface.text.gray.disabled':'surface.text.gray.subtle',children:suffix})})):null,TrailingIcon?jsx(BaseBox,Object.assign({display:"flex"},getTrailingIconStyles({hasTrailingIcon:hasTrailingIcon,hasTrailingButton:hasTrailingButton}),{children:jsx(TrailingIcon,{size:iconSize[size],color:isDisabled?'interactive.icon.gray.disabled':trailingIconColor[validationState]})})):null,TrailingButton?jsx(BaseBox,{paddingRight:"spacing.4",display:"flex",children:React__default.cloneElement(TrailingButton,{size:size,variant:'button',isDisabled:isDisabled})}):null]}));}return null;};
16
+ var getVisualContainerStyles=function getVisualContainerStyles(){return {display:'flex',flexDirection:'row',alignItems:'center',alignSelf:'center'};};var trailingIconColor={none:'surface.icon.gray.subtle',error:'feedback.icon.negative.intense',success:'feedback.icon.positive.intense'};var iconSize={medium:'medium',large:'large'};var textSize={medium:'medium',large:'large'};var getPrefixStyles=function getPrefixStyles(_ref){var hasLeadingIcon=_ref.hasLeadingIcon,hasPrefix=_ref.hasPrefix;if(hasPrefix&&hasLeadingIcon){return {paddingLeft:'spacing.3'};}if(hasPrefix&&!hasLeadingIcon){return {paddingLeft:'spacing.4'};}return {paddingLeft:'spacing.0'};};var getInteractionElementStyles=function getInteractionElementStyles(_ref2){var hasTrailingIcon=_ref2.hasTrailingIcon,hasLeadingInteractionElement=_ref2.hasLeadingInteractionElement,hasTrailingInteractionElement=_ref2.hasTrailingInteractionElement,hasSuffix=_ref2.hasSuffix,hasTrailingButton=_ref2.hasTrailingButton;if(hasTrailingInteractionElement&&(hasSuffix||hasTrailingIcon||hasTrailingButton)){return 'spacing.2';}if(hasTrailingInteractionElement&&!hasSuffix&&!hasTrailingIcon&&!hasTrailingButton){return 'spacing.4';}if(hasLeadingInteractionElement){return 'spacing.3';}return 'spacing.0';};var getSuffixStyles=function getSuffixStyles(_ref3){var hasTrailingIcon=_ref3.hasTrailingIcon,hasSuffix=_ref3.hasSuffix,hasTrailingButton=_ref3.hasTrailingButton;if(hasSuffix&&(hasTrailingIcon||hasTrailingButton)){return {paddingRight:'spacing.3'};}if(hasSuffix&&!hasTrailingIcon&&!hasTrailingButton){return {paddingRight:'spacing.4'};}return {paddingRight:'spacing.0'};};var getTrailingIconStyles=function getTrailingIconStyles(_ref4){var hasTrailingIcon=_ref4.hasTrailingIcon,hasTrailingButton=_ref4.hasTrailingButton;if(hasTrailingIcon&&hasTrailingButton){return {paddingRight:'spacing.3'};}if(hasTrailingIcon&&!hasTrailingButton){return {paddingRight:'spacing.4'};}return {paddingRight:'spacing.0'};};var getInputVisualsToBeRendered=function getInputVisualsToBeRendered(_ref5){var leadingIcon=_ref5.leadingIcon,prefix=_ref5.prefix,trailingInteractionElement=_ref5.trailingInteractionElement,leadingInteractionElement=_ref5.leadingInteractionElement,suffix=_ref5.suffix,trailingIcon=_ref5.trailingIcon,trailingButton=_ref5.trailingButton;return {hasLeadingIcon:Boolean(leadingIcon),hasPrefix:Boolean(prefix),hasTrailingInteractionElement:Boolean(trailingInteractionElement),hasLeadingInteractionElement:Boolean(leadingInteractionElement),hasSuffix:Boolean(suffix),hasTrailingIcon:Boolean(trailingIcon),hasTrailingButton:Boolean(trailingButton)};};var BaseInputVisuals=function BaseInputVisuals(_ref6){var LeadingIcon=_ref6.leadingIcon,prefix=_ref6.prefix,trailingInteractionElement=_ref6.trailingInteractionElement,leadingInteractionElement=_ref6.leadingInteractionElement,suffix=_ref6.suffix,TrailingIcon=_ref6.trailingIcon,isDisabled=_ref6.isDisabled,_ref6$validationState=_ref6.validationState,validationState=_ref6$validationState===void 0?'none':_ref6$validationState,size=_ref6.size,TrailingButton=_ref6.trailingButton;var _getInputVisualsToBeR=getInputVisualsToBeRendered({leadingIcon:LeadingIcon,prefix:prefix,leadingInteractionElement:leadingInteractionElement,trailingInteractionElement:trailingInteractionElement,suffix:suffix,trailingIcon:TrailingIcon,trailingButton:TrailingButton,size:size}),hasLeadingIcon=_getInputVisualsToBeR.hasLeadingIcon,hasPrefix=_getInputVisualsToBeR.hasPrefix,hasSuffix=_getInputVisualsToBeR.hasSuffix,hasTrailingInteractionElement=_getInputVisualsToBeR.hasTrailingInteractionElement,hasLeadingInteractionElement=_getInputVisualsToBeR.hasLeadingInteractionElement,hasTrailingIcon=_getInputVisualsToBeR.hasTrailingIcon,hasTrailingButton=_getInputVisualsToBeR.hasTrailingButton;var hasLeadingVisuals=hasLeadingInteractionElement||hasLeadingIcon||hasPrefix;var hasTrailingVisuals=hasTrailingInteractionElement||hasSuffix||hasTrailingIcon||hasTrailingButton;if(__DEV__){if(hasTrailingButton&&!isValidAllowedChildren(TrailingButton,'Link')){throwBladeError({message:'trailingButton must be a valid Blade Link component',moduleName:'BaseInput'});}}if(hasLeadingVisuals){return jsxs(BaseBox,Object.assign({},getVisualContainerStyles(),{children:[hasLeadingInteractionElement?jsx(BaseBox,{paddingLeft:getInteractionElementStyles({hasTrailingIcon:hasTrailingIcon,hasLeadingInteractionElement:hasLeadingInteractionElement,hasSuffix:hasSuffix,hasTrailingButton:hasTrailingButton}),display:"flex",alignItems:"stretch",alignSelf:"stretch",children:leadingInteractionElement}):null,LeadingIcon?jsx(BaseBox,{paddingLeft:"spacing.4",display:"flex",children:jsx(LeadingIcon,{size:iconSize[size],color:isDisabled?'surface.icon.gray.disabled':'surface.icon.gray.subtle'})}):null,hasPrefix?jsx(BaseBox,Object.assign({},getPrefixStyles({hasLeadingIcon:hasLeadingIcon,hasPrefix:hasPrefix}),{children:jsx(Text,{size:textSize[size],variant:"body",weight:"regular",color:isDisabled?'surface.text.gray.disabled':'surface.text.gray.subtle',children:prefix})})):null]}));}if(hasTrailingVisuals){return jsxs(BaseBox,Object.assign({alignSelf:"stretch",alignItems:"stretch"},getVisualContainerStyles(),{children:[hasTrailingInteractionElement?jsx(BaseBox,{paddingRight:getInteractionElementStyles({hasTrailingIcon:hasTrailingIcon,hasTrailingInteractionElement:hasTrailingInteractionElement,hasSuffix:hasSuffix,hasTrailingButton:hasTrailingButton}),display:"flex",alignItems:"stretch",alignSelf:"stretch",children:trailingInteractionElement}):null,hasSuffix?jsx(BaseBox,Object.assign({},getSuffixStyles({hasTrailingIcon:hasTrailingIcon,hasSuffix:hasSuffix,hasTrailingButton:hasTrailingButton}),{children:jsx(Text,{size:textSize[size],variant:"body",weight:"regular",color:isDisabled?'surface.text.gray.disabled':'surface.text.gray.subtle',children:suffix})})):null,TrailingIcon?jsx(BaseBox,Object.assign({display:"flex"},getTrailingIconStyles({hasTrailingIcon:hasTrailingIcon,hasTrailingButton:hasTrailingButton}),{children:jsx(TrailingIcon,{size:iconSize[size],color:isDisabled?'interactive.icon.gray.disabled':trailingIconColor[validationState]})})):null,TrailingButton?jsx(BaseBox,{paddingRight:"spacing.4",display:"flex",children:React__default.cloneElement(TrailingButton,{size:size,variant:'button',isDisabled:isDisabled})}):null]}));}return null;};
17
17
 
18
18
  export { BaseInputVisuals, getInputVisualsToBeRendered };
19
19
  //# sourceMappingURL=BaseInputVisuals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInputVisuals.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInputVisuals.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport type { ReactElement } from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport type { BaseBoxProps } from '~components/Box/BaseBox';\nimport type { IconColors } from '~components/Icons';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\n\ntype InputVisuals = Pick<\n BaseInputProps,\n | 'leadingIcon'\n | 'prefix'\n | 'interactionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'isDisabled'\n | 'validationState'\n | 'size'\n | 'trailingButton'\n> & {\n size: NonNullable<BaseInputProps['size']>;\n};\n\nconst getVisualContainerStyles = (): Pick<\n BaseBoxProps,\n 'display' | 'flexDirection' | 'alignItems' | 'alignSelf'\n> => ({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n alignSelf: 'center',\n});\n\nconst trailingIconColor: Record<NonNullable<InputVisuals['validationState']>, IconColors> = {\n none: 'surface.icon.gray.subtle',\n error: 'feedback.icon.negative.intense',\n success: 'feedback.icon.positive.intense',\n};\n\nconst iconSize = {\n medium: 'medium',\n large: 'large',\n} as const;\n\nconst textSize = {\n medium: 'medium',\n large: 'large',\n} as const;\n\nconst getPrefixStyles = ({\n hasLeadingIcon,\n hasPrefix,\n}: {\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n}): Pick<BaseBoxProps, 'paddingLeft'> => {\n if (hasPrefix && hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.3',\n };\n }\n\n if (hasPrefix && !hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.4',\n };\n }\n\n return {\n paddingLeft: 'spacing.0',\n };\n};\n\nconst getInteractionElementStyles = ({\n hasTrailingIcon,\n hasInteractionElement,\n hasSuffix,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasInteractionElement: boolean;\n hasSuffix: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasInteractionElement && (hasSuffix || hasTrailingIcon || hasTrailingButton)) {\n return {\n paddingRight: 'spacing.2',\n };\n }\n\n if (hasInteractionElement && !hasSuffix && !hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nconst getSuffixStyles = ({\n hasTrailingIcon,\n hasSuffix,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasSuffix: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasSuffix && (hasTrailingIcon || hasTrailingButton)) {\n return {\n paddingRight: 'spacing.3',\n };\n }\n\n if (hasSuffix && !hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nconst getTrailingIconStyles = ({\n hasTrailingIcon,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasTrailingIcon && hasTrailingButton) {\n return {\n paddingRight: 'spacing.3',\n };\n }\n\n if (hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nexport const getInputVisualsToBeRendered = ({\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n trailingButton,\n}: InputVisuals) => ({\n hasLeadingIcon: Boolean(leadingIcon),\n hasPrefix: Boolean(prefix),\n hasInteractionElement: Boolean(interactionElement),\n hasSuffix: Boolean(suffix),\n hasTrailingIcon: Boolean(trailingIcon),\n hasTrailingButton: Boolean(trailingButton),\n});\n\nexport const BaseInputVisuals = ({\n leadingIcon: LeadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon: TrailingIcon,\n isDisabled,\n validationState = 'none',\n size,\n trailingButton: TrailingButton,\n}: InputVisuals): ReactElement | null => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n hasTrailingButton,\n } = getInputVisualsToBeRendered({\n leadingIcon: LeadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon: TrailingIcon,\n trailingButton: TrailingButton,\n size,\n });\n\n const hasLeadingVisuals = hasLeadingIcon || hasPrefix;\n const hasTrailingVisuals =\n hasInteractionElement || hasSuffix || hasTrailingIcon || hasTrailingButton;\n\n if (__DEV__) {\n if (hasTrailingButton && !isValidAllowedChildren(TrailingButton, 'Link')) {\n throwBladeError({\n message: 'trailingButton must be a valid Blade Link component',\n moduleName: 'BaseInput',\n });\n }\n }\n\n if (hasLeadingVisuals) {\n return (\n <BaseBox {...getVisualContainerStyles()}>\n {LeadingIcon ? (\n <BaseBox paddingLeft=\"spacing.4\" display=\"flex\">\n <LeadingIcon\n size={iconSize[size]}\n color={isDisabled ? 'surface.icon.gray.disabled' : 'surface.icon.gray.subtle'}\n />\n </BaseBox>\n ) : null}\n {hasPrefix ? (\n <BaseBox {...getPrefixStyles({ hasLeadingIcon, hasPrefix })}>\n <Text\n size={textSize[size]}\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {prefix}\n </Text>\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n }\n\n if (hasTrailingVisuals) {\n return (\n <BaseBox alignSelf=\"stretch\" alignItems=\"stretch\" {...getVisualContainerStyles()}>\n {hasInteractionElement ? (\n <BaseBox\n {...getInteractionElementStyles({\n hasTrailingIcon,\n hasInteractionElement,\n hasSuffix,\n hasTrailingButton,\n })}\n display=\"flex\"\n alignItems=\"stretch\"\n alignSelf=\"stretch\"\n >\n {interactionElement}\n </BaseBox>\n ) : null}\n {hasSuffix ? (\n <BaseBox {...getSuffixStyles({ hasTrailingIcon, hasSuffix, hasTrailingButton })}>\n <Text\n size={textSize[size]}\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {suffix}\n </Text>\n </BaseBox>\n ) : null}\n {TrailingIcon ? (\n <BaseBox\n display=\"flex\"\n {...getTrailingIconStyles({ hasTrailingIcon, hasTrailingButton })}\n >\n {\n <TrailingIcon\n size={iconSize[size]}\n color={\n isDisabled ? 'interactive.icon.gray.disabled' : trailingIconColor[validationState]\n }\n />\n }\n </BaseBox>\n ) : null}\n {TrailingButton ? (\n <BaseBox paddingRight=\"spacing.4\" display=\"flex\">\n {React.cloneElement(TrailingButton, {\n size,\n variant: 'button',\n isDisabled,\n })}\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n }\n\n return null;\n};\n"],"names":["getVisualContainerStyles","display","flexDirection","alignItems","alignSelf","trailingIconColor","none","error","success","iconSize","medium","large","textSize","getPrefixStyles","_ref","hasLeadingIcon","hasPrefix","paddingLeft","getInteractionElementStyles","_ref2","hasTrailingIcon","hasInteractionElement","hasSuffix","hasTrailingButton","paddingRight","getSuffixStyles","_ref3","getTrailingIconStyles","_ref4","getInputVisualsToBeRendered","_ref5","leadingIcon","prefix","interactionElement","suffix","trailingIcon","trailingButton","Boolean","BaseInputVisuals","_ref6","LeadingIcon","TrailingIcon","isDisabled","_ref6$validationState","validationState","size","TrailingButton","_getInputVisualsToBeR","hasLeadingVisuals","hasTrailingVisuals","__DEV__","isValidAllowedChildren","throwBladeError","message","moduleName","_jsxs","BaseBox","Object","assign","children","_jsx","color","Text","variant","weight","React","cloneElement"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInputVisuals.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInputVisuals.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport type { ReactElement } from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport type { BaseBoxProps, SpacingValueType } from '~components/Box/BaseBox';\nimport type { IconColors } from '~components/Icons';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\n\ntype InputVisuals = Pick<\n BaseInputProps,\n | 'leadingIcon'\n | 'prefix'\n | 'trailingInteractionElement'\n | 'leadingInteractionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'isDisabled'\n | 'validationState'\n | 'size'\n | 'trailingButton'\n> & {\n size: NonNullable<BaseInputProps['size']>;\n};\n\nconst getVisualContainerStyles = (): Pick<\n BaseBoxProps,\n 'display' | 'flexDirection' | 'alignItems' | 'alignSelf'\n> => ({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n alignSelf: 'center',\n});\n\nconst trailingIconColor: Record<NonNullable<InputVisuals['validationState']>, IconColors> = {\n none: 'surface.icon.gray.subtle',\n error: 'feedback.icon.negative.intense',\n success: 'feedback.icon.positive.intense',\n};\n\nconst iconSize = {\n medium: 'medium',\n large: 'large',\n} as const;\n\nconst textSize = {\n medium: 'medium',\n large: 'large',\n} as const;\n\nconst getPrefixStyles = ({\n hasLeadingIcon,\n hasPrefix,\n}: {\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n}): Pick<BaseBoxProps, 'paddingLeft'> => {\n if (hasPrefix && hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.3',\n };\n }\n\n if (hasPrefix && !hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.4',\n };\n }\n\n return {\n paddingLeft: 'spacing.0',\n };\n};\n\nconst getInteractionElementStyles = ({\n hasTrailingIcon,\n hasLeadingInteractionElement,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasLeadingInteractionElement?: boolean;\n hasTrailingInteractionElement?: boolean;\n hasSuffix: boolean;\n hasTrailingButton: boolean;\n}): SpacingValueType => {\n if (hasTrailingInteractionElement && (hasSuffix || hasTrailingIcon || hasTrailingButton)) {\n return 'spacing.2';\n }\n\n if (hasTrailingInteractionElement && !hasSuffix && !hasTrailingIcon && !hasTrailingButton) {\n return 'spacing.4';\n }\n\n if (hasLeadingInteractionElement) {\n return 'spacing.3';\n }\n\n return 'spacing.0';\n};\n\nconst getSuffixStyles = ({\n hasTrailingIcon,\n hasSuffix,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasSuffix: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasSuffix && (hasTrailingIcon || hasTrailingButton)) {\n return {\n paddingRight: 'spacing.3',\n };\n }\n\n if (hasSuffix && !hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nconst getTrailingIconStyles = ({\n hasTrailingIcon,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasTrailingIcon && hasTrailingButton) {\n return {\n paddingRight: 'spacing.3',\n };\n }\n\n if (hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nexport const getInputVisualsToBeRendered = ({\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n trailingButton,\n}: InputVisuals) => ({\n hasLeadingIcon: Boolean(leadingIcon),\n hasPrefix: Boolean(prefix),\n hasTrailingInteractionElement: Boolean(trailingInteractionElement),\n hasLeadingInteractionElement: Boolean(leadingInteractionElement),\n hasSuffix: Boolean(suffix),\n hasTrailingIcon: Boolean(trailingIcon),\n hasTrailingButton: Boolean(trailingButton),\n});\n\nexport const BaseInputVisuals = ({\n leadingIcon: LeadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon: TrailingIcon,\n isDisabled,\n validationState = 'none',\n size,\n trailingButton: TrailingButton,\n}: InputVisuals): ReactElement | null => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasSuffix,\n hasTrailingInteractionElement,\n hasLeadingInteractionElement,\n hasTrailingIcon,\n hasTrailingButton,\n } = getInputVisualsToBeRendered({\n leadingIcon: LeadingIcon,\n prefix,\n leadingInteractionElement,\n trailingInteractionElement,\n suffix,\n trailingIcon: TrailingIcon,\n trailingButton: TrailingButton,\n size,\n });\n\n const hasLeadingVisuals = hasLeadingInteractionElement || hasLeadingIcon || hasPrefix;\n const hasTrailingVisuals =\n hasTrailingInteractionElement || hasSuffix || hasTrailingIcon || hasTrailingButton;\n\n if (__DEV__) {\n if (hasTrailingButton && !isValidAllowedChildren(TrailingButton, 'Link')) {\n throwBladeError({\n message: 'trailingButton must be a valid Blade Link component',\n moduleName: 'BaseInput',\n });\n }\n }\n\n if (hasLeadingVisuals) {\n return (\n <BaseBox {...getVisualContainerStyles()}>\n {hasLeadingInteractionElement ? (\n <BaseBox\n paddingLeft={getInteractionElementStyles({\n hasTrailingIcon,\n hasLeadingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n })}\n display=\"flex\"\n alignItems=\"stretch\"\n alignSelf=\"stretch\"\n >\n {leadingInteractionElement}\n </BaseBox>\n ) : null}\n {LeadingIcon ? (\n <BaseBox paddingLeft=\"spacing.4\" display=\"flex\">\n <LeadingIcon\n size={iconSize[size]}\n color={isDisabled ? 'surface.icon.gray.disabled' : 'surface.icon.gray.subtle'}\n />\n </BaseBox>\n ) : null}\n {hasPrefix ? (\n <BaseBox {...getPrefixStyles({ hasLeadingIcon, hasPrefix })}>\n <Text\n size={textSize[size]}\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {prefix}\n </Text>\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n }\n\n if (hasTrailingVisuals) {\n return (\n <BaseBox alignSelf=\"stretch\" alignItems=\"stretch\" {...getVisualContainerStyles()}>\n {hasTrailingInteractionElement ? (\n <BaseBox\n paddingRight={getInteractionElementStyles({\n hasTrailingIcon,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n })}\n display=\"flex\"\n alignItems=\"stretch\"\n alignSelf=\"stretch\"\n >\n {trailingInteractionElement}\n </BaseBox>\n ) : null}\n {hasSuffix ? (\n <BaseBox {...getSuffixStyles({ hasTrailingIcon, hasSuffix, hasTrailingButton })}>\n <Text\n size={textSize[size]}\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {suffix}\n </Text>\n </BaseBox>\n ) : null}\n {TrailingIcon ? (\n <BaseBox\n display=\"flex\"\n {...getTrailingIconStyles({ hasTrailingIcon, hasTrailingButton })}\n >\n <TrailingIcon\n size={iconSize[size]}\n color={\n isDisabled ? 'interactive.icon.gray.disabled' : trailingIconColor[validationState]\n }\n />\n </BaseBox>\n ) : null}\n {TrailingButton ? (\n <BaseBox paddingRight=\"spacing.4\" display=\"flex\">\n {React.cloneElement(TrailingButton, {\n size,\n variant: 'button',\n isDisabled,\n })}\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n }\n\n return null;\n};\n"],"names":["getVisualContainerStyles","display","flexDirection","alignItems","alignSelf","trailingIconColor","none","error","success","iconSize","medium","large","textSize","getPrefixStyles","_ref","hasLeadingIcon","hasPrefix","paddingLeft","getInteractionElementStyles","_ref2","hasTrailingIcon","hasLeadingInteractionElement","hasTrailingInteractionElement","hasSuffix","hasTrailingButton","getSuffixStyles","_ref3","paddingRight","getTrailingIconStyles","_ref4","getInputVisualsToBeRendered","_ref5","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","trailingButton","Boolean","BaseInputVisuals","_ref6","LeadingIcon","TrailingIcon","isDisabled","_ref6$validationState","validationState","size","TrailingButton","_getInputVisualsToBeR","hasLeadingVisuals","hasTrailingVisuals","__DEV__","isValidAllowedChildren","throwBladeError","message","moduleName","_jsxs","BaseBox","Object","assign","children","_jsx","color","Text","variant","weight","React","cloneElement"],"mappings":"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"}
@@ -19,7 +19,7 @@ import 'react-native-gesture-handler';
19
19
  import '../../BottomSheet/BottomSheetStack.js';
20
20
  import { assignWithoutSideEffects } from '../../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
21
21
 
22
- var _excluded=["name","isRequired","isDisabled","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnSubmit","handleOnInput","handleOnKeyDown","handleOnClick","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","currentInteraction","setCurrentInteraction","type","numberOfLines","isTextArea","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","as","$size"];var autoCompleteSuggestionTypeAndroid={none:'off',name:'name',email:'email',username:'username',password:'password',newPassword:'password-new',oneTimeCode:'sms-otp',telephone:'tel',postalCode:'postal-code',countryName:'postal-address-country',creditCardNumber:'cc-number',creditCardCSC:'cc-csc',creditCardExpiry:'cc-exp',creditCardExpiryMonth:'cc-exp-month',creditCardExpiryYear:'cc-exp-year'};var autoCompleteSuggestionTypeIOS={none:'none',name:'name',email:'emailAddress',username:'username',password:'password',newPassword:'newPassword',oneTimeCode:'oneTimeCode',telephone:'telephoneNumber',postalCode:'postalCode',countryName:'countryName',creditCardNumber:'creditCardNumber',creditCardCSC:'none',creditCardExpiry:'none',creditCardExpiryMonth:'none',creditCardExpiryYear:'none'};var KeyboardTypeToNativeValuesMap={text:'default',search:'default',telephone:'phone-pad',email:'email-address',url:'url',decimal:'decimal-pad'};var getInputHeight=function getInputHeight(_ref){var isTextArea=_ref.isTextArea,hasTags=_ref.hasTags,numberOfLines=_ref.numberOfLines,lineHeight=_ref.lineHeight,size$1=_ref.size;if(isTextArea){return `${lineHeight*(numberOfLines!=null?numberOfLines:0)}px`;}if(hasTags){return undefined;}return makeSize(size[baseInputHeight[size$1]]);};var getRNInputStyles=function getRNInputStyles(props){return Object.assign({},getBaseInputStyles({theme:props.theme,isFocused:props.isFocused,isDisabled:!props.editable,validationState:props.validationState,leadingIcon:props.leadingIcon,prefix:props.prefix,interactionElement:props.interactionElement,suffix:props.suffix,trailingIcon:props.trailingIcon,isTextArea:props.isTextArea,hasTags:props.hasTags,isDropdownTrigger:props.isDropdownTrigger,size:props.$size,valueComponentType:props.valueComponentType}),{lineHeight:Platform.select({android:makeSize(props.theme.typography.lineHeights[100]),ios:undefined}),textAlignVertical:'top',height:getInputHeight({isTextArea:props.isTextArea,hasTags:props.hasTags,numberOfLines:props.numberOfLines,lineHeight:props.theme.typography.lineHeights[300],size:props.$size})});};var StyledNativeBaseInput=styled.TextInput(function(_ref2){var id=_ref2.id,isFocused=_ref2.isFocused,theme=_ref2.theme,editable=_ref2.editable,validationState=_ref2.validationState,leadingIcon=_ref2.leadingIcon,prefix=_ref2.prefix,interactionElement=_ref2.interactionElement,suffix=_ref2.suffix,trailingIcon=_ref2.trailingIcon,isTextArea=_ref2.isTextArea,numberOfLines=_ref2.numberOfLines,isDropdownTrigger=_ref2.isDropdownTrigger,hasTags=_ref2.hasTags,$size=_ref2.$size,valueComponentType=_ref2.valueComponentType;return getRNInputStyles({id:id,isFocused:isFocused,theme:theme,editable:editable,validationState:validationState,leadingIcon:leadingIcon,prefix:prefix,interactionElement:interactionElement,suffix:suffix,trailingIcon:trailingIcon,isTextArea:isTextArea,numberOfLines:numberOfLines,hasTags:hasTags,isDropdownTrigger:isDropdownTrigger,$size:$size,valueComponentType:valueComponentType});});var StyledNativeBaseButton=styled.TouchableOpacity(function(_ref3){var id=_ref3.id,isFocused=_ref3.isFocused,theme=_ref3.theme,editable=_ref3.editable,validationState=_ref3.validationState,leadingIcon=_ref3.leadingIcon,prefix=_ref3.prefix,interactionElement=_ref3.interactionElement,suffix=_ref3.suffix,trailingIcon=_ref3.trailingIcon,isTextArea=_ref3.isTextArea,numberOfLines=_ref3.numberOfLines,isDropdownTrigger=_ref3.isDropdownTrigger,hasTags=_ref3.hasTags,$size=_ref3.$size,valueComponentType=_ref3.valueComponentType;return Object.assign({},getRNInputStyles({id:id,isFocused:isFocused,theme:theme,editable:editable,validationState:validationState,leadingIcon:leadingIcon,prefix:prefix,interactionElement:interactionElement,suffix:suffix,trailingIcon:trailingIcon,isTextArea:isTextArea,numberOfLines:numberOfLines,isDropdownTrigger:isDropdownTrigger,hasTags:hasTags,$size:$size,valueComponentType:valueComponentType}));});var _StyledBaseInput=function _StyledBaseInput(_ref4,ref){var name=_ref4.name;_ref4.isRequired;var isDisabled=_ref4.isDisabled,maxCharacters=_ref4.maxCharacters,handleOnFocus=_ref4.handleOnFocus,handleOnChange=_ref4.handleOnChange,handleOnBlur=_ref4.handleOnBlur,handleOnSubmit=_ref4.handleOnSubmit,handleOnInput=_ref4.handleOnInput,handleOnKeyDown=_ref4.handleOnKeyDown,handleOnClick=_ref4.handleOnClick,_ref4$keyboardType=_ref4.keyboardType,keyboardType=_ref4$keyboardType===void 0?'text':_ref4$keyboardType,keyboardReturnKeyType=_ref4.keyboardReturnKeyType,autoCompleteSuggestionType=_ref4.autoCompleteSuggestionType,accessibilityProps=_ref4.accessibilityProps,currentInteraction=_ref4.currentInteraction,setCurrentInteraction=_ref4.setCurrentInteraction,type=_ref4.type,numberOfLines=_ref4.numberOfLines,isTextArea=_ref4.isTextArea;_ref4.hasPopup;var shouldIgnoreBlurAnimation=_ref4.shouldIgnoreBlurAnimation,autoCapitalize=_ref4.autoCapitalize,renderAs=_ref4.as,$size=_ref4.$size,props=_objectWithoutProperties(_ref4,_excluded);var buttonValue=props.value?props.value:props.placeholder;var _useTheme=useTheme(),theme=_useTheme.theme;var commonProps={onBlur:function onBlur(){if(!shouldIgnoreBlurAnimation){setCurrentInteraction('default');}},isFocused:currentInteraction==='focus'};return renderAs==='button'?jsx(StyledNativeBaseButton,Object.assign({ref:ref,onPress:function onPress(){handleOnClick==null?void 0:handleOnClick({name:name,value:props.value});},onFocus:function onFocus(){handleOnFocus==null?void 0:handleOnFocus({name:name,value:props.value});setCurrentInteraction('focus');},as:undefined,$size:$size},commonProps,props,accessibilityProps,{children:jsx(Text,{color:props.value&&!isDisabled?'surface.text.gray.subtle':'surface.text.gray.disabled',truncateAfterLines:1,textAlign:props.textAlign,size:$size,children:buttonValue})})):jsx(StyledNativeBaseInput,Object.assign({ref:ref,multiline:isTextArea,numberOfLines:numberOfLines,editable:!isDisabled,maxLength:maxCharacters,placeholderTextColor:theme.colors.surface.text.gray.disabled,onFocus:function onFocus(event){handleOnFocus==null?void 0:handleOnFocus({name:name,value:event==null?void 0:event.nativeEvent.text});handleOnClick==null?void 0:handleOnClick({name:name,value:event==null?void 0:event.nativeEvent.text});setCurrentInteraction('focus');},onChangeText:function onChangeText(text){handleOnChange==null?void 0:handleOnChange({name:name,value:text});handleOnInput==null?void 0:handleOnInput({name:name,value:text});},onEndEditing:function onEndEditing(event){return handleOnBlur==null?void 0:handleOnBlur({name:name,value:event==null?void 0:event.nativeEvent.text});},onSubmitEditing:function onSubmitEditing(event){return handleOnSubmit==null?void 0:handleOnSubmit({name:name,value:event==null?void 0:event.nativeEvent.text});},onKeyPress:function onKeyPress(event){handleOnKeyDown==null?void 0:handleOnKeyDown({name:name,key:event==null?void 0:event.nativeEvent.key,event:event});},keyboardType:KeyboardTypeToNativeValuesMap[keyboardType],returnKeyType:keyboardReturnKeyType,autoCompleteType:autoCompleteSuggestionType?autoCompleteSuggestionTypeAndroid[autoCompleteSuggestionType]:undefined,secureTextEntry:type==='password',isTextArea:isTextArea,textContentType:autoCompleteSuggestionType?autoCompleteSuggestionTypeIOS[autoCompleteSuggestionType]:undefined,autoCapitalize:autoCapitalize,$size:$size},commonProps,props,accessibilityProps));};var StyledBaseInput=assignWithoutSideEffects(React__default.forwardRef(_StyledBaseInput),{displayName:'StyledBaseInput'});
22
+ var _excluded=["name","isRequired","isDisabled","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnSubmit","handleOnInput","handleOnKeyDown","handleOnClick","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","currentInteraction","setCurrentInteraction","type","numberOfLines","isTextArea","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","as","$size"];var autoCompleteSuggestionTypeAndroid={none:'off',name:'name',email:'email',username:'username',password:'password',newPassword:'password-new',oneTimeCode:'sms-otp',telephone:'tel',postalCode:'postal-code',countryName:'postal-address-country',creditCardNumber:'cc-number',creditCardCSC:'cc-csc',creditCardExpiry:'cc-exp',creditCardExpiryMonth:'cc-exp-month',creditCardExpiryYear:'cc-exp-year'};var autoCompleteSuggestionTypeIOS={none:'none',name:'name',email:'emailAddress',username:'username',password:'password',newPassword:'newPassword',oneTimeCode:'oneTimeCode',telephone:'telephoneNumber',postalCode:'postalCode',countryName:'countryName',creditCardNumber:'creditCardNumber',creditCardCSC:'none',creditCardExpiry:'none',creditCardExpiryMonth:'none',creditCardExpiryYear:'none'};var KeyboardTypeToNativeValuesMap={text:'default',search:'default',telephone:'phone-pad',email:'email-address',url:'url',decimal:'decimal-pad'};var getInputHeight=function getInputHeight(_ref){var isTextArea=_ref.isTextArea,hasTags=_ref.hasTags,numberOfLines=_ref.numberOfLines,lineHeight=_ref.lineHeight,size$1=_ref.size;if(isTextArea){return `${lineHeight*(numberOfLines!=null?numberOfLines:0)}px`;}if(hasTags){return undefined;}return makeSize(size[baseInputHeight[size$1]]);};var getRNInputStyles=function getRNInputStyles(props){return Object.assign({},getBaseInputStyles({theme:props.theme,isFocused:props.isFocused,isDisabled:!props.editable,validationState:props.validationState,leadingIcon:props.leadingIcon,prefix:props.prefix,trailingInteractionElement:props.trailingInteractionElement,leadingInteractionElement:props.leadingInteractionElement,suffix:props.suffix,trailingIcon:props.trailingIcon,isTextArea:props.isTextArea,hasTags:props.hasTags,isDropdownTrigger:props.isDropdownTrigger,size:props.$size,valueComponentType:props.valueComponentType}),{lineHeight:Platform.select({android:makeSize(props.theme.typography.lineHeights[100]),ios:undefined}),textAlignVertical:'top',height:getInputHeight({isTextArea:props.isTextArea,hasTags:props.hasTags,numberOfLines:props.numberOfLines,lineHeight:props.theme.typography.lineHeights[300],size:props.$size})});};var StyledNativeBaseInput=styled.TextInput(function(_ref2){var id=_ref2.id,isFocused=_ref2.isFocused,theme=_ref2.theme,editable=_ref2.editable,validationState=_ref2.validationState,leadingIcon=_ref2.leadingIcon,prefix=_ref2.prefix,trailingInteractionElement=_ref2.trailingInteractionElement,leadingInteractionElement=_ref2.leadingInteractionElement,suffix=_ref2.suffix,trailingIcon=_ref2.trailingIcon,isTextArea=_ref2.isTextArea,numberOfLines=_ref2.numberOfLines,isDropdownTrigger=_ref2.isDropdownTrigger,hasTags=_ref2.hasTags,$size=_ref2.$size,valueComponentType=_ref2.valueComponentType;return getRNInputStyles({id:id,isFocused:isFocused,theme:theme,editable:editable,validationState:validationState,leadingIcon:leadingIcon,prefix:prefix,trailingInteractionElement:trailingInteractionElement,leadingInteractionElement:leadingInteractionElement,suffix:suffix,trailingIcon:trailingIcon,isTextArea:isTextArea,numberOfLines:numberOfLines,hasTags:hasTags,isDropdownTrigger:isDropdownTrigger,$size:$size,valueComponentType:valueComponentType});});var StyledNativeBaseButton=styled.TouchableOpacity(function(_ref3){var id=_ref3.id,isFocused=_ref3.isFocused,theme=_ref3.theme,editable=_ref3.editable,validationState=_ref3.validationState,leadingIcon=_ref3.leadingIcon,prefix=_ref3.prefix,trailingInteractionElement=_ref3.trailingInteractionElement,leadingInteractionElement=_ref3.leadingInteractionElement,suffix=_ref3.suffix,trailingIcon=_ref3.trailingIcon,isTextArea=_ref3.isTextArea,numberOfLines=_ref3.numberOfLines,isDropdownTrigger=_ref3.isDropdownTrigger,hasTags=_ref3.hasTags,$size=_ref3.$size,valueComponentType=_ref3.valueComponentType;return Object.assign({},getRNInputStyles({id:id,isFocused:isFocused,theme:theme,editable:editable,validationState:validationState,leadingIcon:leadingIcon,prefix:prefix,trailingInteractionElement:trailingInteractionElement,leadingInteractionElement:leadingInteractionElement,suffix:suffix,trailingIcon:trailingIcon,isTextArea:isTextArea,numberOfLines:numberOfLines,isDropdownTrigger:isDropdownTrigger,hasTags:hasTags,$size:$size,valueComponentType:valueComponentType}));});var _StyledBaseInput=function _StyledBaseInput(_ref4,ref){var name=_ref4.name;_ref4.isRequired;var isDisabled=_ref4.isDisabled,maxCharacters=_ref4.maxCharacters,handleOnFocus=_ref4.handleOnFocus,handleOnChange=_ref4.handleOnChange,handleOnBlur=_ref4.handleOnBlur,handleOnSubmit=_ref4.handleOnSubmit,handleOnInput=_ref4.handleOnInput,handleOnKeyDown=_ref4.handleOnKeyDown,handleOnClick=_ref4.handleOnClick,_ref4$keyboardType=_ref4.keyboardType,keyboardType=_ref4$keyboardType===void 0?'text':_ref4$keyboardType,keyboardReturnKeyType=_ref4.keyboardReturnKeyType,autoCompleteSuggestionType=_ref4.autoCompleteSuggestionType,accessibilityProps=_ref4.accessibilityProps,currentInteraction=_ref4.currentInteraction,setCurrentInteraction=_ref4.setCurrentInteraction,type=_ref4.type,numberOfLines=_ref4.numberOfLines,isTextArea=_ref4.isTextArea;_ref4.hasPopup;var shouldIgnoreBlurAnimation=_ref4.shouldIgnoreBlurAnimation,autoCapitalize=_ref4.autoCapitalize,renderAs=_ref4.as,$size=_ref4.$size,props=_objectWithoutProperties(_ref4,_excluded);var buttonValue=props.value?props.value:props.placeholder;var _useTheme=useTheme(),theme=_useTheme.theme;var commonProps={onBlur:function onBlur(){if(!shouldIgnoreBlurAnimation){setCurrentInteraction('default');}},isFocused:currentInteraction==='focus'};return renderAs==='button'?jsx(StyledNativeBaseButton,Object.assign({ref:ref,onPress:function onPress(){handleOnClick==null?void 0:handleOnClick({name:name,value:props.value});},onFocus:function onFocus(){handleOnFocus==null?void 0:handleOnFocus({name:name,value:props.value});setCurrentInteraction('focus');},as:undefined,$size:$size},commonProps,props,accessibilityProps,{children:jsx(Text,{color:props.value&&!isDisabled?'surface.text.gray.subtle':'surface.text.gray.disabled',truncateAfterLines:1,textAlign:props.textAlign,size:$size,children:buttonValue})})):jsx(StyledNativeBaseInput,Object.assign({ref:ref,multiline:isTextArea,numberOfLines:numberOfLines,editable:!isDisabled,maxLength:maxCharacters,placeholderTextColor:theme.colors.surface.text.gray.disabled,onFocus:function onFocus(event){handleOnFocus==null?void 0:handleOnFocus({name:name,value:event==null?void 0:event.nativeEvent.text});handleOnClick==null?void 0:handleOnClick({name:name,value:event==null?void 0:event.nativeEvent.text});setCurrentInteraction('focus');},onChangeText:function onChangeText(text){handleOnChange==null?void 0:handleOnChange({name:name,value:text});handleOnInput==null?void 0:handleOnInput({name:name,value:text});},onEndEditing:function onEndEditing(event){return handleOnBlur==null?void 0:handleOnBlur({name:name,value:event==null?void 0:event.nativeEvent.text});},onSubmitEditing:function onSubmitEditing(event){return handleOnSubmit==null?void 0:handleOnSubmit({name:name,value:event==null?void 0:event.nativeEvent.text});},onKeyPress:function onKeyPress(event){handleOnKeyDown==null?void 0:handleOnKeyDown({name:name,key:event==null?void 0:event.nativeEvent.key,event:event});},keyboardType:KeyboardTypeToNativeValuesMap[keyboardType],returnKeyType:keyboardReturnKeyType,autoCompleteType:autoCompleteSuggestionType?autoCompleteSuggestionTypeAndroid[autoCompleteSuggestionType]:undefined,secureTextEntry:type==='password',isTextArea:isTextArea,textContentType:autoCompleteSuggestionType?autoCompleteSuggestionTypeIOS[autoCompleteSuggestionType]:undefined,autoCapitalize:autoCapitalize,$size:$size},commonProps,props,accessibilityProps));};var StyledBaseInput=assignWithoutSideEffects(React__default.forwardRef(_StyledBaseInput),{displayName:'StyledBaseInput'});
23
23
 
24
24
  export { StyledBaseInput };
25
25
  //# sourceMappingURL=StyledBaseInput.native.js.map