UNPKG

@razorpay/blade

Version:

The Design System that powers Razorpay

74 lines (72 loc) 2.94 kB
var getKeyboardAndAutocompleteProps = function getKeyboardAndAutocompleteProps(_ref) { var _ref$type = _ref.type, type = _ref$type === void 0 ? 'text' : _ref$type, keyboardReturnKeyType = _ref.keyboardReturnKeyType, autoCompleteSuggestionType = _ref.autoCompleteSuggestionType, autoCapitalize = _ref.autoCapitalize; var keyboardAndAutocompleteProps = { type: type, keyboardType: 'text', keyboardReturnKeyType: 'default', autoCompleteSuggestionType: 'none', autoCapitalize: autoCapitalize }; var keyboardConfigMap = { text: { keyboardType: 'text', keyboardReturnKeyType: 'default', autoCompleteSuggestionType: 'none', autoCapitalize: undefined }, telephone: { keyboardType: 'telephone', keyboardReturnKeyType: 'done', autoCompleteSuggestionType: 'telephone', autoCapitalize: undefined }, email: { keyboardType: 'email', keyboardReturnKeyType: 'done', autoCompleteSuggestionType: 'email', autoCapitalize: 'none' }, url: { keyboardType: 'url', keyboardReturnKeyType: 'go', autoCompleteSuggestionType: 'none', autoCapitalize: 'none' }, number: { keyboardType: 'decimal', keyboardReturnKeyType: 'done', autoCompleteSuggestionType: 'none', autoCapitalize: undefined }, search: { keyboardType: 'search', keyboardReturnKeyType: 'search', autoCompleteSuggestionType: 'none', autoCapitalize: undefined } }; var keyboardConfig = keyboardConfigMap[type]; keyboardAndAutocompleteProps.keyboardType = keyboardConfig.keyboardType; keyboardAndAutocompleteProps.keyboardReturnKeyType = keyboardReturnKeyType !== null && keyboardReturnKeyType !== void 0 ? keyboardReturnKeyType : keyboardConfig.keyboardReturnKeyType; keyboardAndAutocompleteProps.autoCompleteSuggestionType = autoCompleteSuggestionType !== null && autoCompleteSuggestionType !== void 0 ? autoCompleteSuggestionType : keyboardConfig.autoCompleteSuggestionType; keyboardAndAutocompleteProps.autoCapitalize = keyboardConfig.autoCapitalize; if (type === 'number') { /* the default keyboardType:numeric shows alphanumeric keyboard on iOS but number pad on android. making it type:text and keyboardType:decimal fixes this on all platforms. * source: https://css-tricks.com/everything-you-ever-wanted-to-know-about-keyboardType/#aa-decimal */ keyboardAndAutocompleteProps.type = 'text'; } if (type === 'search') { /* when input type:search is provided at that time browser adds a weird close button which collides with our clear button and then we have 2 clear buttons * source: https://github.com/razorpay/blade/issues/857#issue-1457367160 */ keyboardAndAutocompleteProps.type = 'text'; } return keyboardAndAutocompleteProps; }; export { getKeyboardAndAutocompleteProps }; //# sourceMappingURL=utils.js.map