@razorpay/blade 11.11.1 → 11.13.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 (136) hide show
  1. package/build/lib/native/components/Box/BaseBox/baseBoxStyles.js +1 -1
  2. package/build/lib/native/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
  3. package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  4. package/build/lib/native/components/Button/BaseButton/StyledBaseButton.native.js.map +1 -1
  5. package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js +1 -1
  6. package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js.map +1 -1
  7. package/build/lib/native/components/Input/BaseInput/BaseInput.js +2 -1
  8. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  9. package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js +1 -1
  10. package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js.map +1 -1
  11. package/build/lib/native/components/Input/BaseInput/BaseInputWrapper.js +1 -1
  12. package/build/lib/native/components/Input/BaseInput/BaseInputWrapper.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 +1 -1
  16. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  17. package/build/lib/native/components/Input/BaseInput/useTaggedInput.js +13 -0
  18. package/build/lib/native/components/Input/BaseInput/useTaggedInput.js.map +1 -0
  19. package/build/lib/native/components/Input/TextArea/TextArea.js +2 -1
  20. package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
  21. package/build/lib/native/components/Input/TextInput/TextInput.js +2 -1
  22. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  23. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js +31 -0
  24. package/build/lib/native/components/ProgressBar/CircularProgressBar.native.js.map +1 -0
  25. package/build/lib/native/components/ProgressBar/CircularProgressLabel.js +17 -0
  26. package/build/lib/native/components/ProgressBar/CircularProgressLabel.js.map +1 -0
  27. package/build/lib/native/components/ProgressBar/ProgressBar.js +2 -1
  28. package/build/lib/native/components/ProgressBar/ProgressBar.js.map +1 -1
  29. package/build/lib/native/components/ProgressBar/ProgressBarFilled.native.js +1 -1
  30. package/build/lib/native/components/ProgressBar/ProgressBarFilled.native.js.map +1 -1
  31. package/build/lib/native/components/ProgressBar/progressBarTokens.js +6 -2
  32. package/build/lib/native/components/ProgressBar/progressBarTokens.js.map +1 -1
  33. package/build/lib/native/components/Tag/AnimatedTag.native.js.map +1 -1
  34. package/build/lib/native/components/Tag/Tag.js +1 -1
  35. package/build/lib/native/components/Tag/Tag.js.map +1 -1
  36. package/build/lib/native/components/Tag/getTagsGroup.js +1 -1
  37. package/build/lib/native/components/Tag/getTagsGroup.js.map +1 -1
  38. package/build/lib/native/components/Tag/tagAnimationConfig.js +1 -2
  39. package/build/lib/native/components/Tag/tagAnimationConfig.js.map +1 -1
  40. package/build/lib/native/components/Typography/BaseText/getBaseTextStyles.js +1 -1
  41. package/build/lib/native/components/Typography/BaseText/getBaseTextStyles.js.map +1 -1
  42. package/build/lib/native/tokens/global/size.js +1 -1
  43. package/build/lib/native/tokens/global/size.js.map +1 -1
  44. package/build/lib/web/development/components/Box/BaseBox/baseBoxStyles.js +2 -1
  45. package/build/lib/web/development/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
  46. package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  47. package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +8 -2
  48. package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
  49. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +13 -1
  50. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  51. package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js +14 -1
  52. package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
  53. package/build/lib/web/development/components/Input/BaseInput/BaseInputWrapper.js +4 -2
  54. package/build/lib/web/development/components/Input/BaseInput/BaseInputWrapper.js.map +1 -1
  55. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +5 -2
  56. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  57. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +2 -2
  58. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  59. package/build/lib/web/development/components/Input/BaseInput/useTaggedInput.js +172 -0
  60. package/build/lib/web/development/components/Input/BaseInput/useTaggedInput.js.map +1 -0
  61. package/build/lib/web/development/components/Input/TextArea/TextArea.js +54 -8
  62. package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
  63. package/build/lib/web/development/components/Input/TextInput/TextInput.js +51 -5
  64. package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
  65. package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js +140 -0
  66. package/build/lib/web/development/components/ProgressBar/CircularProgressBar.web.js.map +1 -0
  67. package/build/lib/web/development/components/ProgressBar/CircularProgressLabel.js +38 -0
  68. package/build/lib/web/development/components/ProgressBar/CircularProgressLabel.js.map +1 -0
  69. package/build/lib/web/development/components/ProgressBar/ProgressBar.js +47 -10
  70. package/build/lib/web/development/components/ProgressBar/ProgressBar.js.map +1 -1
  71. package/build/lib/web/development/components/ProgressBar/ProgressBarFilled.web.js +6 -6
  72. package/build/lib/web/development/components/ProgressBar/ProgressBarFilled.web.js.map +1 -1
  73. package/build/lib/web/development/components/ProgressBar/progressBarTokens.js +45 -1
  74. package/build/lib/web/development/components/ProgressBar/progressBarTokens.js.map +1 -1
  75. package/build/lib/web/development/components/Tag/AnimatedTag.web.js +2 -3
  76. package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
  77. package/build/lib/web/development/components/Tag/Tag.js +5 -6
  78. package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
  79. package/build/lib/web/development/components/Tag/getTagsGroup.js +1 -1
  80. package/build/lib/web/development/components/Tag/getTagsGroup.js.map +1 -1
  81. package/build/lib/web/development/components/Tag/tagAnimationConfig.js +4 -2
  82. package/build/lib/web/development/components/Tag/tagAnimationConfig.js.map +1 -1
  83. package/build/lib/web/development/components/Typography/BaseText/getBaseTextStyles.js +2 -1
  84. package/build/lib/web/development/components/Typography/BaseText/getBaseTextStyles.js.map +1 -1
  85. package/build/lib/web/development/tokens/global/size.js +4 -0
  86. package/build/lib/web/development/tokens/global/size.js.map +1 -1
  87. package/build/lib/web/production/components/Box/BaseBox/baseBoxStyles.js +2 -1
  88. package/build/lib/web/production/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
  89. package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  90. package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +8 -2
  91. package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
  92. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +13 -1
  93. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  94. package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js +14 -1
  95. package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
  96. package/build/lib/web/production/components/Input/BaseInput/BaseInputWrapper.js +4 -2
  97. package/build/lib/web/production/components/Input/BaseInput/BaseInputWrapper.js.map +1 -1
  98. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +5 -2
  99. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  100. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +2 -2
  101. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  102. package/build/lib/web/production/components/Input/BaseInput/useTaggedInput.js +172 -0
  103. package/build/lib/web/production/components/Input/BaseInput/useTaggedInput.js.map +1 -0
  104. package/build/lib/web/production/components/Input/TextArea/TextArea.js +54 -8
  105. package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
  106. package/build/lib/web/production/components/Input/TextInput/TextInput.js +51 -5
  107. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  108. package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js +140 -0
  109. package/build/lib/web/production/components/ProgressBar/CircularProgressBar.web.js.map +1 -0
  110. package/build/lib/web/production/components/ProgressBar/CircularProgressLabel.js +38 -0
  111. package/build/lib/web/production/components/ProgressBar/CircularProgressLabel.js.map +1 -0
  112. package/build/lib/web/production/components/ProgressBar/ProgressBar.js +47 -10
  113. package/build/lib/web/production/components/ProgressBar/ProgressBar.js.map +1 -1
  114. package/build/lib/web/production/components/ProgressBar/ProgressBarFilled.web.js +6 -6
  115. package/build/lib/web/production/components/ProgressBar/ProgressBarFilled.web.js.map +1 -1
  116. package/build/lib/web/production/components/ProgressBar/progressBarTokens.js +45 -1
  117. package/build/lib/web/production/components/ProgressBar/progressBarTokens.js.map +1 -1
  118. package/build/lib/web/production/components/Tag/AnimatedTag.web.js +2 -3
  119. package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
  120. package/build/lib/web/production/components/Tag/Tag.js +5 -6
  121. package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
  122. package/build/lib/web/production/components/Tag/getTagsGroup.js +1 -1
  123. package/build/lib/web/production/components/Tag/getTagsGroup.js.map +1 -1
  124. package/build/lib/web/production/components/Tag/tagAnimationConfig.js +4 -2
  125. package/build/lib/web/production/components/Tag/tagAnimationConfig.js.map +1 -1
  126. package/build/lib/web/production/components/Typography/BaseText/getBaseTextStyles.js +2 -1
  127. package/build/lib/web/production/components/Typography/BaseText/getBaseTextStyles.js.map +1 -1
  128. package/build/lib/web/production/tokens/global/size.js +4 -0
  129. package/build/lib/web/production/tokens/global/size.js.map +1 -1
  130. package/build/types/components/index.d.ts +30 -8
  131. package/build/types/components/index.native.d.ts +22 -8
  132. package/build/types/tokens/index.d.ts +4 -0
  133. package/build/types/tokens/index.native.d.ts +4 -0
  134. package/codemods/migrate-progressbar/transformers/__test__/migrate-progressbar.test.ts +28 -0
  135. package/codemods/migrate-progressbar/transformers/index.ts +89 -0
  136. package/package.json +1 -1
@@ -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 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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"}
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';\nimport { useMergeRefs } from '~utils/useMergeRefs';\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 inputRef = React.useRef<BladeElementRef>(null);\n const mergedInputRef = useMergeRefs(ref, inputRef);\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 numberOfLines={numberOfLines}\n onClick={() => {\n if (!isReactNative) {\n inputRef.current?.focus();\n }\n }}\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 numberOfLines={numberOfLines}\n isTextArea={isTextArea}\n >\n <StyledBaseInput\n as={as}\n id={inputId}\n ref={mergedInputRef 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","inputRef","mergedInputRef","useMergeRefs","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","_inputRef$current","focus","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","_ref$current","labelPrefix","handleOnInputClick","e","StyledBaseInput","hasTags","$size","MetaConstants","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects","displayName"],"mappings":"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"}
@@ -14,7 +14,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
14
14
  import { Text } from '../../Typography/Text/Text.js';
15
15
  import '../../Typography/Code/Code.js';
16
16
 
17
- var ScrollableTagSlotContainer=function ScrollableTagSlotContainer(_ref){var maxTagRows=_ref.maxTagRows,children=_ref.children,handleOnInputClick=_ref.handleOnInputClick;var scrollViewRef=React__default.useRef(null);var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isScrolling=_React$useState2[0],setIsScrolling=_React$useState2[1];return jsxs(ScrollView,{ref:scrollViewRef,contentContainerStyle:{flexWrap:maxTagRows==='single'?'nowrap':'wrap',position:'relative',flexDirection:'row',flexGrow:1,alignItems:'center'},onScrollBeginDrag:function onScrollBeginDrag(){setIsScrolling(true);},onScrollEndDrag:function onScrollEndDrag(){setIsScrolling(false);},horizontal:maxTagRows==='single',showsHorizontalScrollIndicator:maxTagRows==='single',onContentSizeChange:function onContentSizeChange(){var _scrollViewRef$curren;(_scrollViewRef$curren=scrollViewRef.current)==null?void 0:_scrollViewRef$curren.scrollToEnd({animated:true});},children:[jsx(TouchableWithoutFeedback,{onPress:function onPress(){if(!isScrolling){handleOnInputClick();}},children:jsx(BaseBox,{position:"absolute",height:"100%",width:"100%"})}),children]});};var ClickableText=function ClickableText(_ref2){var children=_ref2.children,handleOnInputClick=_ref2.handleOnInputClick,isDisabled=_ref2.isDisabled;return jsx(TouchableWithoutFeedback,{onPress:function onPress(){handleOnInputClick();},children:jsx(BaseBox,{alignSelf:"center",marginRight:"spacing.4",children:jsx(Text,{size:"small",variant:"body",weight:"regular",color:isDisabled?'surface.text.gray.disabled':'surface.text.gray.subtle',children:children})})});};var PLUS_X_MORE_TEXT_WIDTH=60;var BaseInputTagSlot=function BaseInputTagSlot(_ref3){var tags=_ref3.tags,maxTagRows=_ref3.maxTagRows,showAllTags=_ref3.showAllTags,handleOnInputClick=_ref3.handleOnInputClick,renderAs=_ref3.renderAs,children=_ref3.children,isDropdownTrigger=_ref3.isDropdownTrigger,labelPrefix=_ref3.labelPrefix,isDisabled=_ref3.isDisabled,size$1=_ref3.size;var hasTags=tags&&tags.length>0;var initialVisibleTags=maxTagRows==='multiple'?6:1;var _React$useState3=React__default.useState(labelPrefix?0:initialVisibleTags),_React$useState4=_slicedToArray(_React$useState3,2),visibleTags=_React$useState4[0],setVisibleTags=_React$useState4[1];var invisibleTagsCount=tags||tags&&labelPrefix?tags.length-visibleTags:0;if(!isDropdownTrigger){return children;}return jsxs(BaseBox,{justifyContent:"flex-start",paddingY:"spacing.1",paddingX:"spacing.4",minHeight:makeSize(baseInputHeight[size$1]),display:"flex",flexDirection:"row",position:"relative",flex:"1",onLayout:function onLayout(e){var _e$nativeEvent,_e$nativeEvent$layout;if(!hasTags)return;if(labelPrefix){setVisibleTags(0);return;}if(maxTagRows==='multiple'){return;}var containerWidth=(_e$nativeEvent=e.nativeEvent)==null?void 0:(_e$nativeEvent$layout=_e$nativeEvent.layout)==null?void 0:_e$nativeEvent$layout.width;if(!containerWidth){return;}var availableTagsSpace=containerWidth-PLUS_X_MORE_TEXT_WIDTH;var visibleTagsCount=Math.floor(availableTagsSpace/140);setVisibleTags(visibleTagsCount);},children:[jsxs(ScrollableTagSlotContainer,{maxTagRows:maxTagRows,showAllTags:showAllTags,handleOnInputClick:handleOnInputClick,children:[hasTags?jsxs(Fragment,{children:[showAllTags||maxTagRows==='multiple'?tags:tags.slice(0,visibleTags),invisibleTagsCount>0&&!showAllTags&&!labelPrefix&&maxTagRows!=='multiple'?jsxs(ClickableText,{isDisabled:isDisabled,handleOnInputClick:handleOnInputClick,children:["+ ",invisibleTagsCount," More"]}):null,!showAllTags&&invisibleTagsCount>0&&labelPrefix?jsxs(ClickableText,{isDisabled:isDisabled,handleOnInputClick:handleOnInputClick,children:[labelPrefix," (",invisibleTagsCount," Selected)"]}):null]}):null,jsx(BaseBox,{width:hasTags&&renderAs==='button'?makeSize(size['1']):'100%',children:children})]}),jsx(TouchableWithoutFeedback,{onPress:function onPress(){handleOnInputClick();},children:jsx(BaseBox,{flex:"1"})})]});};
17
+ var ScrollableTagSlotContainer=function ScrollableTagSlotContainer(_ref){var maxTagRows=_ref.maxTagRows,children=_ref.children,handleOnInputClick=_ref.handleOnInputClick;var scrollViewRef=React__default.useRef(null);var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isScrolling=_React$useState2[0],setIsScrolling=_React$useState2[1];return jsxs(ScrollView,{ref:scrollViewRef,contentContainerStyle:{flexWrap:maxTagRows==='single'?'nowrap':'wrap',position:'relative',flexDirection:'row',flexGrow:1,alignItems:'center'},onScrollBeginDrag:function onScrollBeginDrag(){setIsScrolling(true);},onScrollEndDrag:function onScrollEndDrag(){setIsScrolling(false);},horizontal:maxTagRows==='single',showsHorizontalScrollIndicator:maxTagRows==='single',onContentSizeChange:function onContentSizeChange(){var _scrollViewRef$curren;(_scrollViewRef$curren=scrollViewRef.current)==null?void 0:_scrollViewRef$curren.scrollToEnd({animated:true});},children:[jsx(TouchableWithoutFeedback,{onPress:function onPress(){if(!isScrolling){handleOnInputClick();}},children:jsx(BaseBox,{position:"absolute",height:"100%",width:"100%"})}),children]});};var ClickableText=function ClickableText(_ref2){var children=_ref2.children,handleOnInputClick=_ref2.handleOnInputClick,isDisabled=_ref2.isDisabled;return jsx(TouchableWithoutFeedback,{onPress:function onPress(){handleOnInputClick();},children:jsx(BaseBox,{alignSelf:"center",marginRight:"spacing.4",children:jsx(Text,{size:"small",variant:"body",weight:"regular",color:isDisabled?'surface.text.gray.disabled':'surface.text.gray.subtle',children:children})})});};var PLUS_X_MORE_TEXT_WIDTH=60;var BaseInputTagSlot=function BaseInputTagSlot(_ref3){var tags=_ref3.tags,maxTagRows=_ref3.maxTagRows,showAllTags=_ref3.showAllTags,handleOnInputClick=_ref3.handleOnInputClick,renderAs=_ref3.renderAs,children=_ref3.children,isDropdownTrigger=_ref3.isDropdownTrigger,labelPrefix=_ref3.labelPrefix,isDisabled=_ref3.isDisabled,numberOfLines=_ref3.numberOfLines,isTextArea=_ref3.isTextArea,size$1=_ref3.size;var hasTags=tags&&tags.length>0;var initialVisibleTags=maxTagRows==='multiple'?6:1;var _React$useState3=React__default.useState(labelPrefix?0:initialVisibleTags),_React$useState4=_slicedToArray(_React$useState3,2),visibleTags=_React$useState4[0],setVisibleTags=_React$useState4[1];var invisibleTagsCount=tags||tags&&labelPrefix?tags.length-visibleTags:0;if(!isDropdownTrigger){return children;}return jsxs(BaseBox,{justifyContent:"flex-start",paddingY:"spacing.1",paddingX:"spacing.4",minHeight:makeSize(baseInputHeight[size$1]),height:isTextArea&&isDropdownTrigger?makeSize(baseInputHeight[size$1]*(numberOfLines!=null?numberOfLines:1)):undefined,display:"flex",flexDirection:"row",position:"relative",flex:"1",onLayout:function onLayout(e){var _e$nativeEvent,_e$nativeEvent$layout;if(!hasTags)return;if(labelPrefix){setVisibleTags(0);return;}if(maxTagRows==='multiple'){return;}var containerWidth=(_e$nativeEvent=e.nativeEvent)==null?void 0:(_e$nativeEvent$layout=_e$nativeEvent.layout)==null?void 0:_e$nativeEvent$layout.width;if(!containerWidth){return;}var availableTagsSpace=containerWidth-PLUS_X_MORE_TEXT_WIDTH;var visibleTagsCount=Math.floor(availableTagsSpace/140);setVisibleTags(visibleTagsCount);},children:[jsxs(ScrollableTagSlotContainer,{maxTagRows:maxTagRows,showAllTags:showAllTags,handleOnInputClick:handleOnInputClick,children:[hasTags?jsxs(Fragment,{children:[showAllTags||maxTagRows==='multiple'?tags:tags.slice(0,visibleTags),invisibleTagsCount>0&&!showAllTags&&!labelPrefix&&maxTagRows!=='multiple'?jsxs(ClickableText,{isDisabled:isDisabled,handleOnInputClick:handleOnInputClick,children:["+ ",invisibleTagsCount," More"]}):null,!showAllTags&&invisibleTagsCount>0&&labelPrefix?jsxs(ClickableText,{isDisabled:isDisabled,handleOnInputClick:handleOnInputClick,children:[labelPrefix," (",invisibleTagsCount," Selected)"]}):null]}):null,jsx(BaseBox,{width:hasTags&&renderAs==='button'?makeSize(size['1']):'100%',children:children})]}),jsx(TouchableWithoutFeedback,{onPress:function onPress(){handleOnInputClick();},children:jsx(BaseBox,{flex:"1"})})]});};
18
18
 
19
19
  export { BaseInputTagSlot };
20
20
  //# sourceMappingURL=BaseInputTagSlot.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInputTagSlot.native.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInputTagSlot.native.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView, TouchableWithoutFeedback } from 'react-native';\nimport type { BaseInputTagSlotProps } from './types';\nimport { baseInputHeight } from './baseInputTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeSize } from '~utils';\nimport { size as sizeToken } from '~tokens/global';\nimport { Text } from '~components/Typography';\nimport type { StringChildrenType } from '~utils/types';\n\nconst ScrollableTagSlotContainer = ({\n maxTagRows,\n children,\n handleOnInputClick,\n}: Pick<BaseInputTagSlotProps, 'maxTagRows' | 'showAllTags' | 'handleOnInputClick'> & {\n children: (React.ReactNode | null)[];\n}): React.ReactElement => {\n const scrollViewRef = React.useRef<ScrollView>(null);\n const [isScrolling, setIsScrolling] = React.useState(false);\n return (\n <ScrollView\n ref={scrollViewRef}\n contentContainerStyle={{\n flexWrap: maxTagRows === 'single' ? 'nowrap' : 'wrap',\n position: 'relative',\n flexDirection: 'row',\n flexGrow: 1,\n alignItems: 'center',\n }}\n onScrollBeginDrag={() => {\n setIsScrolling(true);\n }}\n onScrollEndDrag={() => {\n setIsScrolling(false);\n }}\n horizontal={maxTagRows === 'single'}\n showsHorizontalScrollIndicator={maxTagRows === 'single'}\n onContentSizeChange={() => {\n scrollViewRef.current?.scrollToEnd({ animated: true });\n }}\n >\n {/* This creates a clickable layer behind tags so if user clicks empty area between of tags, it handles opening of Dropdown */}\n <TouchableWithoutFeedback\n onPress={() => {\n if (!isScrolling) {\n handleOnInputClick();\n }\n }}\n >\n <BaseBox position=\"absolute\" height=\"100%\" width=\"100%\" />\n </TouchableWithoutFeedback>\n {children}\n </ScrollView>\n );\n};\n\nconst ClickableText = ({\n children,\n handleOnInputClick,\n isDisabled,\n}: {\n children: StringChildrenType;\n handleOnInputClick: BaseInputTagSlotProps['handleOnInputClick'];\n isDisabled: BaseInputTagSlotProps['isDisabled'];\n}): React.ReactElement => {\n return (\n <TouchableWithoutFeedback\n onPress={() => {\n handleOnInputClick();\n }}\n >\n <BaseBox alignSelf=\"center\" marginRight=\"spacing.4\">\n <Text\n size=\"small\"\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {children}\n </Text>\n </BaseBox>\n </TouchableWithoutFeedback>\n );\n};\n\nconst PLUS_X_MORE_TEXT_WIDTH = 60;\n\nconst BaseInputTagSlot = ({\n tags,\n maxTagRows,\n showAllTags,\n handleOnInputClick,\n renderAs,\n children,\n isDropdownTrigger,\n labelPrefix,\n isDisabled,\n size,\n}: BaseInputTagSlotProps): React.ReactElement | null => {\n const hasTags = tags && tags.length > 0;\n const initialVisibleTags = maxTagRows === 'multiple' ? 6 : 1;\n const [visibleTags, setVisibleTags] = React.useState(labelPrefix ? 0 : initialVisibleTags);\n const invisibleTagsCount = tags || (tags && labelPrefix) ? tags.length - visibleTags : 0;\n\n if (!isDropdownTrigger) {\n return children;\n }\n\n return (\n <BaseBox\n justifyContent=\"flex-start\"\n paddingY=\"spacing.1\"\n paddingX=\"spacing.4\"\n minHeight={makeSize(baseInputHeight[size])}\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n flex=\"1\"\n onLayout={(e) => {\n if (!hasTags) return;\n\n if (labelPrefix) {\n setVisibleTags(0);\n return;\n }\n\n if (maxTagRows === 'multiple') {\n // The calculation is for single-line versions.\n // In multiline, we have default 6 tags in RN\n return;\n }\n\n const containerWidth = e.nativeEvent?.layout?.width;\n if (!containerWidth) {\n return;\n }\n\n const availableTagsSpace = containerWidth - PLUS_X_MORE_TEXT_WIDTH;\n const visibleTagsCount = Math.floor(availableTagsSpace / 140);\n setVisibleTags(visibleTagsCount);\n }}\n >\n <ScrollableTagSlotContainer\n maxTagRows={maxTagRows}\n showAllTags={showAllTags}\n handleOnInputClick={handleOnInputClick}\n >\n {hasTags ? (\n <>\n {showAllTags || maxTagRows === 'multiple' ? tags : tags.slice(0, visibleTags)}\n {invisibleTagsCount > 0 && !showAllTags && !labelPrefix && maxTagRows !== 'multiple' ? (\n <ClickableText isDisabled={isDisabled} handleOnInputClick={handleOnInputClick}>\n + {invisibleTagsCount} More\n </ClickableText>\n ) : null}\n {!showAllTags && invisibleTagsCount > 0 && labelPrefix ? (\n <ClickableText isDisabled={isDisabled} handleOnInputClick={handleOnInputClick}>\n {labelPrefix} ({invisibleTagsCount} Selected)\n </ClickableText>\n ) : null}\n </>\n ) : null}\n <BaseBox width={hasTags && renderAs === 'button' ? makeSize(sizeToken['1']) : '100%'}>\n {children}\n </BaseBox>\n </ScrollableTagSlotContainer>\n <TouchableWithoutFeedback\n onPress={() => {\n handleOnInputClick();\n }}\n >\n <BaseBox flex=\"1\" />\n </TouchableWithoutFeedback>\n </BaseBox>\n );\n};\n\nexport { BaseInputTagSlot };\n"],"names":["ScrollableTagSlotContainer","_ref","maxTagRows","children","handleOnInputClick","scrollViewRef","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","isScrolling","setIsScrolling","_jsxs","ScrollView","ref","contentContainerStyle","flexWrap","position","flexDirection","flexGrow","alignItems","onScrollBeginDrag","onScrollEndDrag","horizontal","showsHorizontalScrollIndicator","onContentSizeChange","_scrollViewRef$curren","current","scrollToEnd","animated","_jsx","TouchableWithoutFeedback","onPress","BaseBox","height","width","ClickableText","_ref2","isDisabled","alignSelf","marginRight","Text","size","variant","weight","color","PLUS_X_MORE_TEXT_WIDTH","BaseInputTagSlot","_ref3","tags","showAllTags","renderAs","isDropdownTrigger","labelPrefix","hasTags","length","initialVisibleTags","_React$useState3","_React$useState4","visibleTags","setVisibleTags","invisibleTagsCount","justifyContent","paddingY","paddingX","minHeight","makeSize","baseInputHeight","display","flex","onLayout","e","_e$nativeEvent","_e$nativeEvent$layout","containerWidth","nativeEvent","layout","availableTagsSpace","visibleTagsCount","Math","floor","_Fragment","slice","sizeToken"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInputTagSlot.native.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInputTagSlot.native.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView, TouchableWithoutFeedback } from 'react-native';\nimport type { BaseInputTagSlotProps } from './types';\nimport { baseInputHeight } from './baseInputTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { makeSize } from '~utils';\nimport { size as sizeToken } from '~tokens/global';\nimport { Text } from '~components/Typography';\nimport type { StringChildrenType } from '~utils/types';\n\nconst ScrollableTagSlotContainer = ({\n maxTagRows,\n children,\n handleOnInputClick,\n}: Pick<BaseInputTagSlotProps, 'maxTagRows' | 'showAllTags' | 'handleOnInputClick'> & {\n children: (React.ReactNode | null)[];\n}): React.ReactElement => {\n const scrollViewRef = React.useRef<ScrollView>(null);\n const [isScrolling, setIsScrolling] = React.useState(false);\n return (\n <ScrollView\n ref={scrollViewRef}\n contentContainerStyle={{\n flexWrap: maxTagRows === 'single' ? 'nowrap' : 'wrap',\n position: 'relative',\n flexDirection: 'row',\n flexGrow: 1,\n alignItems: 'center',\n }}\n onScrollBeginDrag={() => {\n setIsScrolling(true);\n }}\n onScrollEndDrag={() => {\n setIsScrolling(false);\n }}\n horizontal={maxTagRows === 'single'}\n showsHorizontalScrollIndicator={maxTagRows === 'single'}\n onContentSizeChange={() => {\n scrollViewRef.current?.scrollToEnd({ animated: true });\n }}\n >\n {/* This creates a clickable layer behind tags so if user clicks empty area between of tags, it handles opening of Dropdown */}\n <TouchableWithoutFeedback\n onPress={() => {\n if (!isScrolling) {\n handleOnInputClick();\n }\n }}\n >\n <BaseBox position=\"absolute\" height=\"100%\" width=\"100%\" />\n </TouchableWithoutFeedback>\n {children}\n </ScrollView>\n );\n};\n\nconst ClickableText = ({\n children,\n handleOnInputClick,\n isDisabled,\n}: {\n children: StringChildrenType;\n handleOnInputClick: BaseInputTagSlotProps['handleOnInputClick'];\n isDisabled: BaseInputTagSlotProps['isDisabled'];\n}): React.ReactElement => {\n return (\n <TouchableWithoutFeedback\n onPress={() => {\n handleOnInputClick();\n }}\n >\n <BaseBox alignSelf=\"center\" marginRight=\"spacing.4\">\n <Text\n size=\"small\"\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {children}\n </Text>\n </BaseBox>\n </TouchableWithoutFeedback>\n );\n};\n\nconst PLUS_X_MORE_TEXT_WIDTH = 60;\n\nconst BaseInputTagSlot = ({\n tags,\n maxTagRows,\n showAllTags,\n handleOnInputClick,\n renderAs,\n children,\n isDropdownTrigger,\n labelPrefix,\n isDisabled,\n numberOfLines,\n isTextArea,\n size,\n}: BaseInputTagSlotProps): React.ReactElement | null => {\n const hasTags = tags && tags.length > 0;\n const initialVisibleTags = maxTagRows === 'multiple' ? 6 : 1;\n const [visibleTags, setVisibleTags] = React.useState(labelPrefix ? 0 : initialVisibleTags);\n const invisibleTagsCount = tags || (tags && labelPrefix) ? tags.length - visibleTags : 0;\n\n if (!isDropdownTrigger) {\n return children;\n }\n\n return (\n <BaseBox\n justifyContent=\"flex-start\"\n paddingY=\"spacing.1\"\n paddingX=\"spacing.4\"\n minHeight={makeSize(baseInputHeight[size])}\n height={\n isTextArea && isDropdownTrigger\n ? makeSize(baseInputHeight[size] * (numberOfLines ?? 1))\n : undefined\n }\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n flex=\"1\"\n onLayout={(e) => {\n if (!hasTags) return;\n\n if (labelPrefix) {\n setVisibleTags(0);\n return;\n }\n\n if (maxTagRows === 'multiple') {\n // The calculation is for single-line versions.\n // In multiline, we have default 6 tags in RN\n return;\n }\n\n const containerWidth = e.nativeEvent?.layout?.width;\n if (!containerWidth) {\n return;\n }\n\n const availableTagsSpace = containerWidth - PLUS_X_MORE_TEXT_WIDTH;\n const visibleTagsCount = Math.floor(availableTagsSpace / 140);\n setVisibleTags(visibleTagsCount);\n }}\n >\n <ScrollableTagSlotContainer\n maxTagRows={maxTagRows}\n showAllTags={showAllTags}\n handleOnInputClick={handleOnInputClick}\n >\n {hasTags ? (\n <>\n {showAllTags || maxTagRows === 'multiple' ? tags : tags.slice(0, visibleTags)}\n {invisibleTagsCount > 0 && !showAllTags && !labelPrefix && maxTagRows !== 'multiple' ? (\n <ClickableText isDisabled={isDisabled} handleOnInputClick={handleOnInputClick}>\n + {invisibleTagsCount} More\n </ClickableText>\n ) : null}\n {!showAllTags && invisibleTagsCount > 0 && labelPrefix ? (\n <ClickableText isDisabled={isDisabled} handleOnInputClick={handleOnInputClick}>\n {labelPrefix} ({invisibleTagsCount} Selected)\n </ClickableText>\n ) : null}\n </>\n ) : null}\n <BaseBox width={hasTags && renderAs === 'button' ? makeSize(sizeToken['1']) : '100%'}>\n {children}\n </BaseBox>\n </ScrollableTagSlotContainer>\n <TouchableWithoutFeedback\n onPress={() => {\n handleOnInputClick();\n }}\n >\n <BaseBox flex=\"1\" />\n </TouchableWithoutFeedback>\n </BaseBox>\n );\n};\n\nexport { BaseInputTagSlot };\n"],"names":["ScrollableTagSlotContainer","_ref","maxTagRows","children","handleOnInputClick","scrollViewRef","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","isScrolling","setIsScrolling","_jsxs","ScrollView","ref","contentContainerStyle","flexWrap","position","flexDirection","flexGrow","alignItems","onScrollBeginDrag","onScrollEndDrag","horizontal","showsHorizontalScrollIndicator","onContentSizeChange","_scrollViewRef$curren","current","scrollToEnd","animated","_jsx","TouchableWithoutFeedback","onPress","BaseBox","height","width","ClickableText","_ref2","isDisabled","alignSelf","marginRight","Text","size","variant","weight","color","PLUS_X_MORE_TEXT_WIDTH","BaseInputTagSlot","_ref3","tags","showAllTags","renderAs","isDropdownTrigger","labelPrefix","numberOfLines","isTextArea","hasTags","length","initialVisibleTags","_React$useState3","_React$useState4","visibleTags","setVisibleTags","invisibleTagsCount","justifyContent","paddingY","paddingX","minHeight","makeSize","baseInputHeight","undefined","display","flex","onLayout","e","_e$nativeEvent","_e$nativeEvent$layout","containerWidth","nativeEvent","layout","availableTagsSpace","visibleTagsCount","Math","floor","_Fragment","slice","sizeToken"],"mappings":"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"}
@@ -3,7 +3,7 @@ import React__default from 'react';
3
3
  import { AnimatedBaseInputWrapper } from './AnimatedBaseInputWrapper.native.js';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
6
- var _excluded=["children","validationState","currentInteraction","isLabelLeftPositioned","isTextArea","showAllTags","setShowAllTagsWithAnimation","maxTagRows"];var _BaseInputWrapper=function _BaseInputWrapper(_ref,ref){var children=_ref.children,validationState=_ref.validationState,currentInteraction=_ref.currentInteraction;_ref.isLabelLeftPositioned;var isTextArea=_ref.isTextArea,showAllTags=_ref.showAllTags,setShowAllTagsWithAnimation=_ref.setShowAllTagsWithAnimation,maxTagRows=_ref.maxTagRows,props=_objectWithoutProperties(_ref,_excluded);return jsx(AnimatedBaseInputWrapper,Object.assign({ref:ref,isTextArea:isTextArea,validationState:validationState,currentInteraction:currentInteraction,showAllTags:showAllTags,maxTagRows:maxTagRows,setShowAllTagsWithAnimation:setShowAllTagsWithAnimation},props,{children:children}));};var BaseInputWrapper=React__default.forwardRef(_BaseInputWrapper);
6
+ var _excluded=["children","validationState","currentInteraction","isLabelLeftPositioned","isTextArea","showAllTags","setShowAllTagsWithAnimation","maxTagRows","numberOfLines"];var _BaseInputWrapper=function _BaseInputWrapper(_ref,ref){var children=_ref.children,validationState=_ref.validationState,currentInteraction=_ref.currentInteraction;_ref.isLabelLeftPositioned;var isTextArea=_ref.isTextArea,showAllTags=_ref.showAllTags,setShowAllTagsWithAnimation=_ref.setShowAllTagsWithAnimation,maxTagRows=_ref.maxTagRows,numberOfLines=_ref.numberOfLines,props=_objectWithoutProperties(_ref,_excluded);return jsx(AnimatedBaseInputWrapper,Object.assign({ref:ref,isTextArea:isTextArea,validationState:validationState,currentInteraction:currentInteraction,showAllTags:showAllTags,maxTagRows:maxTagRows,setShowAllTagsWithAnimation:setShowAllTagsWithAnimation,numberOfLines:numberOfLines},props,{children:children}));};var BaseInputWrapper=React__default.forwardRef(_BaseInputWrapper);
7
7
 
8
8
  export { BaseInputWrapper };
9
9
  //# sourceMappingURL=BaseInputWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInputWrapper.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInputWrapper.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport React from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport { AnimatedBaseInputWrapper } from './AnimatedBaseInputWrapper';\nimport type { ContainerElementType } from '~utils/types';\nimport type { ActionStates } from '~utils/useInteraction';\n\ntype BaseInputWrapperProps = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'showAllTags'\n | 'maxTagRows'\n | 'setInputWrapperRef'\n | 'isDropdownTrigger'\n> & {\n isFocused?: boolean;\n isLabelLeftPositioned?: boolean;\n currentInteraction: ActionStates;\n isTextArea?: boolean;\n setShowAllTagsWithAnimation: (showAllTagsWithAnimation: boolean) => void;\n children: React.ReactNode;\n size: NonNullable<BaseInputProps['size']>;\n};\n\nconst _BaseInputWrapper: React.ForwardRefRenderFunction<\n ContainerElementType,\n BaseInputWrapperProps & {\n children: ReactNode;\n }\n> = (\n {\n children,\n validationState,\n currentInteraction,\n isLabelLeftPositioned,\n isTextArea,\n showAllTags,\n setShowAllTagsWithAnimation,\n maxTagRows,\n ...props\n },\n ref,\n): ReactElement => {\n return (\n <AnimatedBaseInputWrapper\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unnecessary-type-assertion\n ref={ref as any}\n isTextArea={isTextArea}\n validationState={validationState}\n currentInteraction={currentInteraction}\n showAllTags={showAllTags}\n maxTagRows={maxTagRows}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n {...props}\n >\n {children}\n </AnimatedBaseInputWrapper>\n );\n};\n\nexport const BaseInputWrapper = React.forwardRef(_BaseInputWrapper);\n"],"names":["_BaseInputWrapper","_ref","ref","children","validationState","currentInteraction","isLabelLeftPositioned","isTextArea","showAllTags","setShowAllTagsWithAnimation","maxTagRows","props","_objectWithoutProperties","_excluded","_jsx","AnimatedBaseInputWrapper","Object","assign","BaseInputWrapper","React","forwardRef"],"mappings":";;;;;AACA,IAAA,SAAA,CAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,uBAAA,CAAA,YAAA,CAAA,aAAA,CAAA,6BAAA,CAAA,YAAA,CAAA,CAwBA,IAAMA,iBAKL,CAAG,SALEA,iBAKLA,CAAAC,IAAA,CAYCC,GAAG,CACc,CAXf,IAAAC,QAAQ,CAAAF,IAAA,CAARE,QAAQ,CACRC,eAAe,CAAAH,IAAA,CAAfG,eAAe,CACfC,kBAAkB,CAAAJ,IAAA,CAAlBI,kBAAkB,CACGJ,IAAA,CAArBK,qBAAqB,KACrBC,UAAU,CAAAN,IAAA,CAAVM,UAAU,CACVC,WAAW,CAAAP,IAAA,CAAXO,WAAW,CACXC,2BAA2B,CAAAR,IAAA,CAA3BQ,2BAA2B,CAC3BC,UAAU,CAAAT,IAAA,CAAVS,UAAU,CACPC,KAAK,CAAAC,wBAAA,CAAAX,IAAA,CAAAY,SAAA,EAIV,OACEC,GAAA,CAACC,wBAAwB,CAAAC,MAAA,CAAAC,MAAA,CAEvBf,CAAAA,GAAG,CAAEA,GAAW,CAChBK,UAAU,CAAEA,UAAW,CACvBH,eAAe,CAAEA,eAAgB,CACjCC,kBAAkB,CAAEA,kBAAmB,CACvCG,WAAW,CAAEA,WAAY,CACzBE,UAAU,CAAEA,UAAW,CACvBD,2BAA2B,CAAEA,2BAA4B,CAAA,CACrDE,KAAK,CAAAR,CAAAA,QAAA,CAERA,QAAQ,CACe,CAAA,CAAC,CAE/B,CAAC,CAEY,IAAAe,gBAAgB,CAAGC,cAAK,CAACC,UAAU,CAACpB,iBAAiB;;;;"}
1
+ {"version":3,"file":"BaseInputWrapper.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInputWrapper.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport React from 'react';\nimport { AnimatedBaseInputWrapper } from './AnimatedBaseInputWrapper';\nimport type { BaseInputWrapperProps } from './types';\nimport type { ContainerElementType } from '~utils/types';\n\nconst _BaseInputWrapper: React.ForwardRefRenderFunction<\n ContainerElementType,\n BaseInputWrapperProps & {\n children: ReactNode;\n }\n> = (\n {\n children,\n validationState,\n currentInteraction,\n isLabelLeftPositioned,\n isTextArea,\n showAllTags,\n setShowAllTagsWithAnimation,\n maxTagRows,\n numberOfLines,\n ...props\n },\n ref,\n): ReactElement => {\n return (\n <AnimatedBaseInputWrapper\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unnecessary-type-assertion\n ref={ref as any}\n isTextArea={isTextArea}\n validationState={validationState}\n currentInteraction={currentInteraction}\n showAllTags={showAllTags}\n maxTagRows={maxTagRows}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n numberOfLines={numberOfLines}\n {...props}\n >\n {children}\n </AnimatedBaseInputWrapper>\n );\n};\n\nexport const BaseInputWrapper = React.forwardRef(_BaseInputWrapper);\n"],"names":["_BaseInputWrapper","_ref","ref","children","validationState","currentInteraction","isLabelLeftPositioned","isTextArea","showAllTags","setShowAllTagsWithAnimation","maxTagRows","numberOfLines","props","_objectWithoutProperties","_excluded","_jsx","AnimatedBaseInputWrapper","Object","assign","BaseInputWrapper","React","forwardRef"],"mappings":";;;;;AACA,IAAA,SAAA,CAAA,CAAA,UAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,uBAAA,CAAA,YAAA,CAAA,aAAA,CAAA,6BAAA,CAAA,YAAA,CAAA,eAAA,CAAA,CAKA,IAAMA,iBAKL,CAAG,SALEA,iBAKLA,CAAAC,IAAA,CAaCC,GAAG,CACc,CAZf,IAAAC,QAAQ,CAAAF,IAAA,CAARE,QAAQ,CACRC,eAAe,CAAAH,IAAA,CAAfG,eAAe,CACfC,kBAAkB,CAAAJ,IAAA,CAAlBI,kBAAkB,CACGJ,IAAA,CAArBK,qBAAqB,KACrBC,UAAU,CAAAN,IAAA,CAAVM,UAAU,CACVC,WAAW,CAAAP,IAAA,CAAXO,WAAW,CACXC,2BAA2B,CAAAR,IAAA,CAA3BQ,2BAA2B,CAC3BC,UAAU,CAAAT,IAAA,CAAVS,UAAU,CACVC,aAAa,CAAAV,IAAA,CAAbU,aAAa,CACVC,KAAK,CAAAC,wBAAA,CAAAZ,IAAA,CAAAa,SAAA,EAIV,OACEC,GAAA,CAACC,wBAAwB,CAAAC,MAAA,CAAAC,MAAA,CAAA,CAEvBhB,GAAG,CAAEA,GAAW,CAChBK,UAAU,CAAEA,UAAW,CACvBH,eAAe,CAAEA,eAAgB,CACjCC,kBAAkB,CAAEA,kBAAmB,CACvCG,WAAW,CAAEA,WAAY,CACzBE,UAAU,CAAEA,UAAW,CACvBD,2BAA2B,CAAEA,2BAA4B,CACzDE,aAAa,CAAEA,aAAc,EACzBC,KAAK,CAAA,CAAAT,QAAA,CAERA,QAAQ,CACe,CAAA,CAAC,CAE/B,CAAC,CAEY,IAAAgB,gBAAgB,CAAGC,cAAK,CAACC,UAAU,CAACrB,iBAAiB;;;;"}
@@ -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,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'});
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,isDropdownTrigger=_ref.isDropdownTrigger,size$1=_ref.size;if(isTextArea){var lines=isDropdownTrigger?1:numberOfLines!=null?numberOfLines:0;return `${baseInputHeight[size$1]*lines}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,isDropdownTrigger:props.isDropdownTrigger,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
@@ -1 +1 @@
1
- {"version":3,"file":"StyledBaseInput.native.js","sources":["../../../../../../src/components/Input/BaseInput/StyledBaseInput.native.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components/native';\nimport type { CSSObject, ThemeProps, DefaultTheme } from 'styled-components';\nimport type {\n TextInputProps,\n TouchableHighlight,\n TouchableHighlightProps,\n GestureResponderEvent,\n TextInput,\n} from 'react-native';\nimport { Platform as RNPlatform } from 'react-native';\nimport type { BaseInputProps } from './BaseInput';\nimport type { StyledBaseInputProps } from './types';\nimport { getBaseInputStyles } from './baseInputStyles';\nimport { baseInputHeight } from './baseInputTokens';\nimport { Text } from '~components/Typography';\nimport { useTheme } from '~components/BladeProvider';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeSize } from '~utils/makeSize';\nimport type { Platform } from '~utils';\n\ntype StyledComponentAutoCompleteAndroid =\n | 'off'\n | 'name'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-number'\n | 'email'\n | 'username'\n | 'password'\n | 'postal-code'\n | 'tel'\n | undefined;\n\nconst autoCompleteSuggestionTypeAndroid = {\n none: 'off',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'password',\n newPassword: 'password-new',\n oneTimeCode: 'sms-otp',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'postal-address-country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n} as const;\n\nconst autoCompleteSuggestionTypeIOS = {\n none: 'none',\n name: 'name',\n email: 'emailAddress',\n username: 'username',\n password: 'password',\n newPassword: 'newPassword',\n oneTimeCode: 'oneTimeCode',\n telephone: 'telephoneNumber',\n postalCode: 'postalCode',\n countryName: 'countryName',\n creditCardNumber: 'creditCardNumber',\n creditCardCSC: 'none',\n creditCardExpiry: 'none',\n creditCardExpiryMonth: 'none',\n creditCardExpiryYear: 'none',\n} as const;\n\nconst KeyboardTypeToNativeValuesMap = {\n text: 'default',\n search: 'default',\n telephone: 'phone-pad',\n email: 'email-address',\n url: 'url',\n decimal: 'decimal-pad',\n};\n\ntype StyledComponentInputProps = Omit<\n StyledBaseInputProps,\n 'accessibilityProps' | 'setCurrentInteraction' | 'currentInteraction'\n> & {\n isTextArea?: boolean;\n isFocused: boolean;\n autoCompleteType?: typeof autoCompleteSuggestionTypeAndroid[keyof typeof autoCompleteSuggestionTypeAndroid];\n editable?: boolean;\n onPress?: (event: GestureResponderEvent) => void;\n $size: NonNullable<BaseInputProps['size']>;\n};\n\nconst getInputHeight = ({\n isTextArea,\n hasTags,\n numberOfLines,\n lineHeight,\n size,\n}: Pick<StyledBaseInputProps, 'hasTags' | 'isTextArea' | 'numberOfLines'> & {\n lineHeight: number;\n size: NonNullable<BaseInputProps['size']>;\n}): string | undefined => {\n if (isTextArea) {\n return `${lineHeight * (numberOfLines ?? 0)}px`;\n }\n\n if (hasTags) {\n return undefined; // we don't set height on input. We set it on wrapper to properly include tags in overall height\n }\n\n return makeSize(sizeToken[baseInputHeight[size]]);\n};\n\nconst getRNInputStyles = (\n props: StyledComponentInputProps &\n ThemeProps<DefaultTheme> &\n (TextInputProps | TouchableHighlightProps),\n): CSSObject => {\n return {\n ...getBaseInputStyles({\n theme: props.theme,\n isFocused: props.isFocused,\n isDisabled: !props.editable,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n trailingInteractionElement: props.trailingInteractionElement,\n leadingInteractionElement: props.leadingInteractionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n isDropdownTrigger: props.isDropdownTrigger,\n size: props.$size,\n valueComponentType: props.valueComponentType,\n }),\n lineHeight: RNPlatform.select({\n android: makeSize(props.theme.typography.lineHeights[100]),\n ios: undefined,\n }),\n textAlignVertical: 'top',\n height: getInputHeight({\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n numberOfLines: props.numberOfLines,\n lineHeight: props.theme.typography.lineHeights[300],\n size: props.$size,\n }),\n };\n};\nconst StyledNativeBaseInput = styled.TextInput<StyledComponentInputProps>(\n ({\n id,\n isFocused,\n theme,\n editable,\n validationState,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n isTextArea,\n numberOfLines,\n isDropdownTrigger,\n hasTags,\n $size,\n valueComponentType,\n }) =>\n getRNInputStyles({\n id,\n isFocused,\n theme,\n editable,\n validationState,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n isTextArea,\n numberOfLines,\n hasTags,\n isDropdownTrigger,\n $size,\n valueComponentType,\n }),\n);\nconst StyledNativeBaseButton = styled.TouchableOpacity<StyledComponentInputProps>(\n ({\n id,\n isFocused,\n theme,\n editable,\n validationState,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n isTextArea,\n numberOfLines,\n isDropdownTrigger,\n hasTags,\n $size,\n valueComponentType,\n }) => ({\n ...getRNInputStyles({\n id,\n isFocused,\n theme,\n editable,\n validationState,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n isTextArea,\n numberOfLines,\n isDropdownTrigger,\n hasTags,\n $size,\n valueComponentType,\n }),\n }),\n);\n\nconst _StyledBaseInput: React.ForwardRefRenderFunction<\n TextInput | TouchableHighlight,\n StyledBaseInputProps\n> = (\n {\n name,\n isRequired,\n isDisabled,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n handleOnClick,\n keyboardType = 'text',\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n currentInteraction,\n setCurrentInteraction,\n type,\n numberOfLines,\n isTextArea,\n hasPopup,\n shouldIgnoreBlurAnimation,\n autoCapitalize,\n as: renderAs,\n $size,\n ...props\n },\n ref,\n) => {\n const buttonValue = props.value ? props.value : props.placeholder;\n const { theme } = useTheme();\n const commonProps = {\n onBlur: (): void => {\n // In certain cases like SelectInput, we want to ignore the blur animation when option item is clicked.\n // The selectinput should always look like it is in focus otherwise it triggers blur + focus again which can cause flicker\n if (!shouldIgnoreBlurAnimation) {\n setCurrentInteraction('default');\n }\n },\n isFocused: currentInteraction === 'focus',\n };\n\n return renderAs === 'button' ? (\n <StyledNativeBaseButton\n // the types of styled-components for react-native is creating a mess, so there's no other option but to type `ref` as any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n onPress={(): void => {\n handleOnClick?.({ name, value: props.value });\n }}\n onFocus={(): void => {\n handleOnFocus?.({ name, value: props.value });\n setCurrentInteraction('focus');\n }}\n as={undefined}\n $size={$size}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n >\n <Text\n color={\n props.value && !isDisabled ? 'surface.text.gray.subtle' : 'surface.text.gray.disabled'\n }\n truncateAfterLines={1}\n textAlign={props.textAlign}\n size={$size}\n >\n {buttonValue}\n </Text>\n </StyledNativeBaseButton>\n ) : (\n <StyledNativeBaseInput\n // the types of styled-components for react-native is creating a mess, so there's no other option but to type `ref` as any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n multiline={isTextArea}\n numberOfLines={numberOfLines}\n editable={!isDisabled}\n maxLength={maxCharacters}\n placeholderTextColor={theme.colors.surface.text.gray.disabled}\n onFocus={(event): void => {\n handleOnFocus?.({ name, value: event?.nativeEvent.text });\n // React Native does not have native onPress event on Input elements so for consistency of API we call it on onFocus which also gets triggered on clicks\n handleOnClick?.({ name, value: event?.nativeEvent.text });\n setCurrentInteraction('focus');\n }}\n onChangeText={(text): void => {\n handleOnChange?.({ name, value: text });\n handleOnInput?.({ name, value: text });\n }}\n onEndEditing={(event): void => handleOnBlur?.({ name, value: event?.nativeEvent.text })}\n onSubmitEditing={(event): void => handleOnSubmit?.({ name, value: event?.nativeEvent.text })}\n onKeyPress={(event): void => {\n handleOnKeyDown?.({\n name,\n key: event?.nativeEvent.key,\n event: (event as unknown) as React.KeyboardEvent<HTMLInputElement>, // TODO: handle platform specific type\n });\n }}\n // @ts-expect-error styled-components have limited keyboard types('default' | 'email-address' | 'numeric' | 'phone-pad' | 'number-pad' | 'decimal-pad') compared to the actual supported types so ignoring the error.\n // source: https://reactnative.dev/docs/textinput/#keyboardtype\n keyboardType={KeyboardTypeToNativeValuesMap[keyboardType]}\n returnKeyType={keyboardReturnKeyType}\n autoCompleteType={\n autoCompleteSuggestionType\n ? (autoCompleteSuggestionTypeAndroid[\n autoCompleteSuggestionType as Platform.CastNative<\n BaseInputProps['autoCompleteSuggestionType']\n >\n ] as StyledComponentAutoCompleteAndroid)\n : undefined\n }\n secureTextEntry={type === 'password'}\n isTextArea={isTextArea}\n textContentType={\n autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeIOS[\n autoCompleteSuggestionType as Platform.CastNative<\n BaseInputProps['autoCompleteSuggestionType']\n >\n ]\n : undefined\n }\n autoCapitalize={autoCapitalize}\n $size={$size}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n />\n );\n};\n\nconst StyledBaseInput = assignWithoutSideEffects(React.forwardRef(_StyledBaseInput), {\n displayName: 'StyledBaseInput',\n});\n\nexport { StyledBaseInput };\n"],"names":["autoCompleteSuggestionTypeAndroid","none","name","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","autoCompleteSuggestionTypeIOS","KeyboardTypeToNativeValuesMap","text","search","url","decimal","getInputHeight","_ref","isTextArea","hasTags","numberOfLines","lineHeight","size","undefined","makeSize","sizeToken","baseInputHeight","getRNInputStyles","props","Object","assign","getBaseInputStyles","theme","isFocused","isDisabled","editable","validationState","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","isDropdownTrigger","$size","valueComponentType","RNPlatform","select","android","typography","lineHeights","ios","textAlignVertical","height","StyledNativeBaseInput","styled","TextInput","_ref2","id","StyledNativeBaseButton","TouchableOpacity","_ref3","_StyledBaseInput","_ref4","ref","isRequired","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnSubmit","handleOnInput","handleOnKeyDown","handleOnClick","_ref4$keyboardType","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","currentInteraction","setCurrentInteraction","type","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","renderAs","as","_objectWithoutProperties","_excluded","buttonValue","value","placeholder","_useTheme","useTheme","commonProps","onBlur","_jsx","onPress","onFocus","children","Text","color","truncateAfterLines","textAlign","multiline","maxLength","placeholderTextColor","colors","surface","gray","disabled","event","nativeEvent","onChangeText","onEndEditing","onSubmitEditing","onKeyPress","key","returnKeyType","autoCompleteType","secureTextEntry","textContentType","StyledBaseInput","assignWithoutSideEffects","React","forwardRef","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"StyledBaseInput.native.js","sources":["../../../../../../src/components/Input/BaseInput/StyledBaseInput.native.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components/native';\nimport type { CSSObject, ThemeProps, DefaultTheme } from 'styled-components';\nimport type {\n TextInputProps,\n TouchableHighlight,\n TouchableHighlightProps,\n GestureResponderEvent,\n TextInput,\n} from 'react-native';\nimport { Platform as RNPlatform } from 'react-native';\nimport type { BaseInputProps } from './BaseInput';\nimport type { StyledBaseInputProps } from './types';\nimport { getBaseInputStyles } from './baseInputStyles';\nimport { baseInputHeight } from './baseInputTokens';\nimport { Text } from '~components/Typography';\nimport { useTheme } from '~components/BladeProvider';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { size as sizeToken } from '~tokens/global';\nimport { makeSize } from '~utils/makeSize';\nimport type { Platform } from '~utils';\n\ntype StyledComponentAutoCompleteAndroid =\n | 'off'\n | 'name'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-number'\n | 'email'\n | 'username'\n | 'password'\n | 'postal-code'\n | 'tel'\n | undefined;\n\nconst autoCompleteSuggestionTypeAndroid = {\n none: 'off',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'password',\n newPassword: 'password-new',\n oneTimeCode: 'sms-otp',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'postal-address-country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n} as const;\n\nconst autoCompleteSuggestionTypeIOS = {\n none: 'none',\n name: 'name',\n email: 'emailAddress',\n username: 'username',\n password: 'password',\n newPassword: 'newPassword',\n oneTimeCode: 'oneTimeCode',\n telephone: 'telephoneNumber',\n postalCode: 'postalCode',\n countryName: 'countryName',\n creditCardNumber: 'creditCardNumber',\n creditCardCSC: 'none',\n creditCardExpiry: 'none',\n creditCardExpiryMonth: 'none',\n creditCardExpiryYear: 'none',\n} as const;\n\nconst KeyboardTypeToNativeValuesMap = {\n text: 'default',\n search: 'default',\n telephone: 'phone-pad',\n email: 'email-address',\n url: 'url',\n decimal: 'decimal-pad',\n};\n\ntype StyledComponentInputProps = Omit<\n StyledBaseInputProps,\n 'accessibilityProps' | 'setCurrentInteraction' | 'currentInteraction'\n> & {\n isTextArea?: boolean;\n isFocused: boolean;\n autoCompleteType?: typeof autoCompleteSuggestionTypeAndroid[keyof typeof autoCompleteSuggestionTypeAndroid];\n editable?: boolean;\n onPress?: (event: GestureResponderEvent) => void;\n $size: NonNullable<BaseInputProps['size']>;\n};\n\nconst getInputHeight = ({\n isTextArea,\n hasTags,\n numberOfLines,\n isDropdownTrigger,\n size,\n}: Pick<StyledBaseInputProps, 'hasTags' | 'isTextArea' | 'numberOfLines' | 'isDropdownTrigger'> & {\n size: NonNullable<BaseInputProps['size']>;\n}): string | undefined => {\n if (isTextArea) {\n const lines = isDropdownTrigger ? 1 : numberOfLines ?? 0;\n return `${baseInputHeight[size] * lines}px`;\n }\n\n if (hasTags) {\n return undefined; // we don't set height on input. We set it on wrapper to properly include tags in overall height\n }\n\n return makeSize(sizeToken[baseInputHeight[size]]);\n};\n\nconst getRNInputStyles = (\n props: StyledComponentInputProps &\n ThemeProps<DefaultTheme> &\n (TextInputProps | TouchableHighlightProps),\n): CSSObject => {\n return {\n ...getBaseInputStyles({\n theme: props.theme,\n isFocused: props.isFocused,\n isDisabled: !props.editable,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n trailingInteractionElement: props.trailingInteractionElement,\n leadingInteractionElement: props.leadingInteractionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n isDropdownTrigger: props.isDropdownTrigger,\n size: props.$size,\n valueComponentType: props.valueComponentType,\n }),\n lineHeight: RNPlatform.select({\n android: makeSize(props.theme.typography.lineHeights[100]),\n ios: undefined,\n }),\n textAlignVertical: 'top',\n height: getInputHeight({\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n numberOfLines: props.numberOfLines,\n isDropdownTrigger: props.isDropdownTrigger,\n size: props.$size,\n }),\n };\n};\nconst StyledNativeBaseInput = styled.TextInput<StyledComponentInputProps>(\n ({\n id,\n isFocused,\n theme,\n editable,\n validationState,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n isTextArea,\n numberOfLines,\n isDropdownTrigger,\n hasTags,\n $size,\n valueComponentType,\n }) =>\n getRNInputStyles({\n id,\n isFocused,\n theme,\n editable,\n validationState,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n isTextArea,\n numberOfLines,\n hasTags,\n isDropdownTrigger,\n $size,\n valueComponentType,\n }),\n);\nconst StyledNativeBaseButton = styled.TouchableOpacity<StyledComponentInputProps>(\n ({\n id,\n isFocused,\n theme,\n editable,\n validationState,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n isTextArea,\n numberOfLines,\n isDropdownTrigger,\n hasTags,\n $size,\n valueComponentType,\n }) => ({\n ...getRNInputStyles({\n id,\n isFocused,\n theme,\n editable,\n validationState,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n isTextArea,\n numberOfLines,\n isDropdownTrigger,\n hasTags,\n $size,\n valueComponentType,\n }),\n }),\n);\n\nconst _StyledBaseInput: React.ForwardRefRenderFunction<\n TextInput | TouchableHighlight,\n StyledBaseInputProps\n> = (\n {\n name,\n isRequired,\n isDisabled,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n handleOnClick,\n keyboardType = 'text',\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n currentInteraction,\n setCurrentInteraction,\n type,\n numberOfLines,\n isTextArea,\n hasPopup,\n shouldIgnoreBlurAnimation,\n autoCapitalize,\n as: renderAs,\n $size,\n ...props\n },\n ref,\n) => {\n const buttonValue = props.value ? props.value : props.placeholder;\n const { theme } = useTheme();\n const commonProps = {\n onBlur: (): void => {\n // In certain cases like SelectInput, we want to ignore the blur animation when option item is clicked.\n // The selectinput should always look like it is in focus otherwise it triggers blur + focus again which can cause flicker\n if (!shouldIgnoreBlurAnimation) {\n setCurrentInteraction('default');\n }\n },\n isFocused: currentInteraction === 'focus',\n };\n\n return renderAs === 'button' ? (\n <StyledNativeBaseButton\n // the types of styled-components for react-native is creating a mess, so there's no other option but to type `ref` as any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n onPress={(): void => {\n handleOnClick?.({ name, value: props.value });\n }}\n onFocus={(): void => {\n handleOnFocus?.({ name, value: props.value });\n setCurrentInteraction('focus');\n }}\n as={undefined}\n $size={$size}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n >\n <Text\n color={\n props.value && !isDisabled ? 'surface.text.gray.subtle' : 'surface.text.gray.disabled'\n }\n truncateAfterLines={1}\n textAlign={props.textAlign}\n size={$size}\n >\n {buttonValue}\n </Text>\n </StyledNativeBaseButton>\n ) : (\n <StyledNativeBaseInput\n // the types of styled-components for react-native is creating a mess, so there's no other option but to type `ref` as any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n multiline={isTextArea}\n numberOfLines={numberOfLines}\n editable={!isDisabled}\n maxLength={maxCharacters}\n placeholderTextColor={theme.colors.surface.text.gray.disabled}\n onFocus={(event): void => {\n handleOnFocus?.({ name, value: event?.nativeEvent.text });\n // React Native does not have native onPress event on Input elements so for consistency of API we call it on onFocus which also gets triggered on clicks\n handleOnClick?.({ name, value: event?.nativeEvent.text });\n setCurrentInteraction('focus');\n }}\n onChangeText={(text): void => {\n handleOnChange?.({ name, value: text });\n handleOnInput?.({ name, value: text });\n }}\n onEndEditing={(event): void => handleOnBlur?.({ name, value: event?.nativeEvent.text })}\n onSubmitEditing={(event): void => handleOnSubmit?.({ name, value: event?.nativeEvent.text })}\n onKeyPress={(event): void => {\n handleOnKeyDown?.({\n name,\n key: event?.nativeEvent.key,\n event: (event as unknown) as React.KeyboardEvent<HTMLInputElement>, // TODO: handle platform specific type\n });\n }}\n // @ts-expect-error styled-components have limited keyboard types('default' | 'email-address' | 'numeric' | 'phone-pad' | 'number-pad' | 'decimal-pad') compared to the actual supported types so ignoring the error.\n // source: https://reactnative.dev/docs/textinput/#keyboardtype\n keyboardType={KeyboardTypeToNativeValuesMap[keyboardType]}\n returnKeyType={keyboardReturnKeyType}\n autoCompleteType={\n autoCompleteSuggestionType\n ? (autoCompleteSuggestionTypeAndroid[\n autoCompleteSuggestionType as Platform.CastNative<\n BaseInputProps['autoCompleteSuggestionType']\n >\n ] as StyledComponentAutoCompleteAndroid)\n : undefined\n }\n secureTextEntry={type === 'password'}\n isTextArea={isTextArea}\n textContentType={\n autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeIOS[\n autoCompleteSuggestionType as Platform.CastNative<\n BaseInputProps['autoCompleteSuggestionType']\n >\n ]\n : undefined\n }\n autoCapitalize={autoCapitalize}\n $size={$size}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n />\n );\n};\n\nconst StyledBaseInput = assignWithoutSideEffects(React.forwardRef(_StyledBaseInput), {\n displayName: 'StyledBaseInput',\n});\n\nexport { StyledBaseInput };\n"],"names":["autoCompleteSuggestionTypeAndroid","none","name","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","autoCompleteSuggestionTypeIOS","KeyboardTypeToNativeValuesMap","text","search","url","decimal","getInputHeight","_ref","isTextArea","hasTags","numberOfLines","isDropdownTrigger","size","lines","baseInputHeight","undefined","makeSize","sizeToken","getRNInputStyles","props","Object","assign","getBaseInputStyles","theme","isFocused","isDisabled","editable","validationState","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","$size","valueComponentType","lineHeight","RNPlatform","select","android","typography","lineHeights","ios","textAlignVertical","height","StyledNativeBaseInput","styled","TextInput","_ref2","id","StyledNativeBaseButton","TouchableOpacity","_ref3","_StyledBaseInput","_ref4","ref","isRequired","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnSubmit","handleOnInput","handleOnKeyDown","handleOnClick","_ref4$keyboardType","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","currentInteraction","setCurrentInteraction","type","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","renderAs","as","_objectWithoutProperties","_excluded","buttonValue","value","placeholder","_useTheme","useTheme","commonProps","onBlur","_jsx","onPress","onFocus","children","Text","color","truncateAfterLines","textAlign","multiline","maxLength","placeholderTextColor","colors","surface","gray","disabled","event","nativeEvent","onChangeText","onEndEditing","onSubmitEditing","onKeyPress","key","returnKeyType","autoCompleteType","secureTextEntry","textContentType","StyledBaseInput","assignWithoutSideEffects","React","forwardRef","displayName"],"mappings":"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"}