@razorpay/blade 11.9.1 → 11.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/Box/Box.js +1 -1
- package/build/lib/native/components/Box/Box.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/native/components/Dropdown/dropdownComponentIds.js +1 -1
- package/build/lib/native/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +1 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +2 -2
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/utils.js +4 -0
- package/build/lib/native/components/Input/BaseInput/utils.js.map +1 -0
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/native/components/Input/PasswordInput/PasswordInput.js +1 -1
- package/build/lib/native/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/native/components/Input/PhoneNumberInput/PhoneNumberInput.native.js +7 -0
- package/build/lib/native/components/Input/PhoneNumberInput/PhoneNumberInput.native.js.map +1 -0
- package/build/lib/native/components/Input/TextArea/TextArea.js +1 -1
- package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js +2 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/index.js +1 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/tokens/global/size.js +1 -1
- package/build/lib/native/tokens/global/size.js.map +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
- package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/BaseBox.web.js +6 -1
- package/build/lib/web/development/components/Box/BaseBox/BaseBox.web.js.map +1 -1
- package/build/lib/web/development/components/Box/Box.js +2 -1
- package/build/lib/web/development/components/Box/Box.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +8 -6
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +3 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +7 -6
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js +1 -0
- package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js +13 -4
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/FileUploadItem.js +4 -2
- package/build/lib/web/development/components/FileUpload/FileUploadItem.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/StyledFileUploadItemWrapper.js +4 -5
- package/build/lib/web/development/components/FileUpload/StyledFileUploadItemWrapper.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/StyledFileUploadWrapper.js +4 -5
- package/build/lib/web/development/components/FileUpload/StyledFileUploadWrapper.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/fileUploadTokens.js +8 -1
- package/build/lib/web/development/components/FileUpload/fileUploadTokens.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +8 -5
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +43 -28
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +9 -7
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/utils.js +73 -0
- package/build/lib/web/development/components/Input/BaseInput/utils.js.map +1 -0
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +111 -0
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -0
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +242 -0
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -0
- package/build/lib/web/development/components/Input/PhoneNumberInput/index.js +2 -0
- package/build/lib/web/development/components/Input/PhoneNumberInput/index.js.map +1 -0
- package/build/lib/web/development/components/Input/TextArea/TextArea.js +1 -1
- package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +45 -115
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/index.js +2 -0
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/tokens/global/size.js +3 -1
- package/build/lib/web/development/tokens/global/size.js.map +1 -1
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js +1 -0
- package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/BaseBox.web.js +6 -1
- package/build/lib/web/production/components/Box/BaseBox/BaseBox.web.js.map +1 -1
- package/build/lib/web/production/components/Box/Box.js +2 -1
- package/build/lib/web/production/components/Box/Box.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +8 -6
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +3 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +7 -6
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js +1 -0
- package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js +13 -4
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/FileUploadItem.js +4 -2
- package/build/lib/web/production/components/FileUpload/FileUploadItem.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/StyledFileUploadItemWrapper.js +4 -5
- package/build/lib/web/production/components/FileUpload/StyledFileUploadItemWrapper.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/StyledFileUploadWrapper.js +4 -5
- package/build/lib/web/production/components/FileUpload/StyledFileUploadWrapper.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/fileUploadTokens.js +8 -1
- package/build/lib/web/production/components/FileUpload/fileUploadTokens.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +8 -5
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +43 -28
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +9 -7
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/utils.js +73 -0
- package/build/lib/web/production/components/Input/BaseInput/utils.js.map +1 -0
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +111 -0
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -0
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +242 -0
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -0
- package/build/lib/web/production/components/Input/PhoneNumberInput/index.js +2 -0
- package/build/lib/web/production/components/Input/PhoneNumberInput/index.js.map +1 -0
- package/build/lib/web/production/components/Input/TextArea/TextArea.js +1 -1
- package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +45 -115
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/index.js +2 -0
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/lib/web/production/tokens/global/size.js +3 -1
- package/build/lib/web/production/tokens/global/size.js.map +1 -1
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js +1 -0
- package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
- package/build/types/components/index.d.ts +448 -3
- package/build/types/components/index.native.d.ts +104 -2
- package/build/types/tokens/index.d.ts +3 -1
- package/build/types/tokens/index.native.d.ts +3 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyledBaseInput.web.js","sources":["../../../../../../../src/components/Input/BaseInput/StyledBaseInput.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { CSSObject, DefaultTheme, ThemeProps } from 'styled-components';\nimport { getBaseInputStyles } from './baseInputStyles';\nimport type { StyledBaseInputProps } from './types';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { Text } from '~components/Typography';\n\nconst getWebInputStyles = (\n props: Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'> &\n ThemeProps<DefaultTheme> &\n (React.InputHTMLAttributes<HTMLInputElement> | React.ButtonHTMLAttributes<HTMLButtonElement>),\n): CSSObject => {\n return {\n ...getBaseInputStyles({\n isDisabled: props.disabled,\n theme: props.theme,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n interactionElement: props.interactionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n textAlign: props.textAlign,\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n isDropdownTrigger: props.isDropdownTrigger,\n size: props.$size,\n valueComponentType: props.valueComponentType,\n }),\n outline: 'none',\n border: 'none',\n '::placeholder': {\n ...getTextStyles({\n size: props.$size,\n variant: 'body',\n weight: 'regular',\n color: 'surface.text.gray.disabled',\n theme: props.theme,\n }),\n textAlign: props.textAlign,\n },\n ':focus': {\n outline: 'none',\n },\n cursor: props.disabled ? 'not-allowed' : 'auto',\n };\n};\n\nconst StyledBaseNativeInput = styled.input<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>(getWebInputStyles);\n\nconst StyledBaseNativeButton = styled.button<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>((props) => ({\n ...getWebInputStyles(props),\n}));\n\nconst autoCompleteSuggestionTypeMap = {\n none: 'off',\n on: 'on',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'current-password',\n newPassword: 'new-password',\n oneTimeCode: 'one-time-code',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n};\n\nconst _StyledBaseInput: React.ForwardRefRenderFunction<\n HTMLInputElement | HTMLButtonElement,\n StyledBaseInputProps\n> = (\n {\n name,\n isDisabled,\n isRequired,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n handleOnClick,\n keyboardType,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n setCurrentInteraction,\n numberOfLines,\n type,\n hasPopup,\n shouldIgnoreBlurAnimation,\n autoCapitalize,\n $size,\n valueComponentType,\n ...props\n },\n ref,\n) => {\n const commonProps = {\n onBlur: (event: React.ChangeEvent<HTMLInputElement>): 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 handleOnBlur?.({ name, value: event });\n },\n onFocus: (event: React.ChangeEvent<HTMLInputElement>): void => {\n setCurrentInteraction('focus');\n handleOnFocus?.({ name, value: event });\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown?.({ name, key: event.key, code: event.code, event });\n },\n disabled: isDisabled,\n enterKeyHint: keyboardReturnKeyType === 'default' ? 'enter' : keyboardReturnKeyType,\n autoComplete: autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeMap[autoCompleteSuggestionType]\n : undefined,\n };\n\n return props.as === 'button' ? (\n <StyledBaseNativeButton\n // @ts-expect-error: TS doesnt understand that this will always be `button`\n ref={ref}\n name={name}\n type=\"button\"\n onClick={(event: React.MouseEvent<HTMLInputElement>): void => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n $size={$size}\n valueComponentType={valueComponentType}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n value={props.value}\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 {props.value ? props.value : props.placeholder}\n </Text>\n </StyledBaseNativeButton>\n ) : (\n <StyledBaseNativeInput\n // @ts-expect-error: TS doesnt understand that this will always be `input`\n ref={ref}\n name={name}\n type={type === 'telephone' ? 'tel' : type}\n required={isRequired}\n maxLength={maxCharacters}\n rows={numberOfLines}\n inputMode={keyboardType === 'telephone' ? 'tel' : keyboardType}\n onChange={(event: React.ChangeEvent<HTMLInputElement>): void =>\n handleOnChange?.({ name, value: event })\n }\n onInput={(event: React.ChangeEvent<HTMLInputElement>) => {\n handleOnInput?.({ name, value: event });\n }}\n onClick={(event) => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n autoCapitalize={autoCapitalize}\n $size={$size}\n valueComponentType={valueComponentType}\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":["getWebInputStyles","props","_objectSpread","getBaseInputStyles","isDisabled","disabled","theme","validationState","leadingIcon","prefix","interactionElement","suffix","trailingIcon","textAlign","isTextArea","hasTags","isDropdownTrigger","size","$size","valueComponentType","outline","border","getTextStyles","variant","weight","color","cursor","StyledBaseNativeInput","styled","input","withConfig","displayName","componentId","StyledBaseNativeButton","button","autoCompleteSuggestionTypeMap","none","on","name","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","_StyledBaseInput","_ref","ref","isRequired","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnInput","handleOnKeyDown","handleOnClick","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","setCurrentInteraction","numberOfLines","type","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","_objectWithoutProperties","_excluded","commonProps","onBlur","event","value","onFocus","onKeyDown","key","code","enterKeyHint","autoComplete","undefined","as","_jsx","onClick","stopPropagation","children","Text","truncateAfterLines","placeholder","required","maxLength","rows","inputMode","onChange","onInput","StyledBaseInput","assignWithoutSideEffects","React","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StyledBaseInput.web.js","sources":["../../../../../../../src/components/Input/BaseInput/StyledBaseInput.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { CSSObject, DefaultTheme, ThemeProps } from 'styled-components';\nimport { getBaseInputStyles } from './baseInputStyles';\nimport type { StyledBaseInputProps } from './types';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { Text } from '~components/Typography';\n\nconst getWebInputStyles = (\n props: Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'> &\n ThemeProps<DefaultTheme> &\n (React.InputHTMLAttributes<HTMLInputElement> | React.ButtonHTMLAttributes<HTMLButtonElement>),\n): CSSObject => {\n return {\n ...getBaseInputStyles({\n isDisabled: props.disabled,\n theme: props.theme,\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 textAlign: props.textAlign,\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n isDropdownTrigger: props.isDropdownTrigger,\n size: props.$size,\n valueComponentType: props.valueComponentType,\n }),\n outline: 'none',\n border: 'none',\n '::placeholder': {\n ...getTextStyles({\n size: props.$size,\n variant: 'body',\n weight: 'regular',\n color: 'surface.text.gray.disabled',\n theme: props.theme,\n }),\n textAlign: props.textAlign,\n },\n ':focus': {\n outline: 'none',\n },\n cursor: props.disabled ? 'not-allowed' : 'auto',\n };\n};\n\nconst StyledBaseNativeInput = styled.input<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>(getWebInputStyles);\n\nconst StyledBaseNativeButton = styled.button<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>((props) => ({\n ...getWebInputStyles(props),\n}));\n\nconst autoCompleteSuggestionTypeMap = {\n none: 'off',\n on: 'on',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'current-password',\n newPassword: 'new-password',\n oneTimeCode: 'one-time-code',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n};\n\nconst _StyledBaseInput: React.ForwardRefRenderFunction<\n HTMLInputElement | HTMLButtonElement,\n StyledBaseInputProps\n> = (\n {\n name,\n isDisabled,\n isRequired,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n handleOnClick,\n keyboardType,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n setCurrentInteraction,\n numberOfLines,\n type,\n hasPopup,\n shouldIgnoreBlurAnimation,\n autoCapitalize,\n $size,\n valueComponentType,\n ...props\n },\n ref,\n) => {\n const commonProps = {\n onBlur: (event: React.ChangeEvent<HTMLInputElement>): 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 handleOnBlur?.({ name, value: event });\n },\n onFocus: (event: React.ChangeEvent<HTMLInputElement>): void => {\n setCurrentInteraction('focus');\n handleOnFocus?.({ name, value: event });\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown?.({ name, key: event.key, code: event.code, event });\n },\n disabled: isDisabled,\n enterKeyHint: keyboardReturnKeyType === 'default' ? 'enter' : keyboardReturnKeyType,\n autoComplete: autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeMap[autoCompleteSuggestionType]\n : undefined,\n };\n\n return props.as === 'button' ? (\n <StyledBaseNativeButton\n // @ts-expect-error: TS doesnt understand that this will always be `button`\n ref={ref}\n name={name}\n type=\"button\"\n onClick={(event: React.MouseEvent<HTMLInputElement>): void => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n $size={$size}\n valueComponentType={valueComponentType}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n value={props.value}\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 {props.value ? props.value : props.placeholder}\n </Text>\n </StyledBaseNativeButton>\n ) : (\n <StyledBaseNativeInput\n // @ts-expect-error: TS doesnt understand that this will always be `input`\n ref={ref}\n name={name}\n type={type === 'telephone' ? 'tel' : type}\n required={isRequired}\n maxLength={maxCharacters}\n rows={numberOfLines}\n inputMode={keyboardType === 'telephone' ? 'tel' : keyboardType}\n onChange={(event: React.ChangeEvent<HTMLInputElement>): void =>\n handleOnChange?.({ name, value: event })\n }\n onInput={(event: React.ChangeEvent<HTMLInputElement>) => {\n handleOnInput?.({ name, value: event });\n }}\n onClick={(event) => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n autoCapitalize={autoCapitalize}\n $size={$size}\n valueComponentType={valueComponentType}\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":["getWebInputStyles","props","_objectSpread","getBaseInputStyles","isDisabled","disabled","theme","validationState","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","textAlign","isTextArea","hasTags","isDropdownTrigger","size","$size","valueComponentType","outline","border","getTextStyles","variant","weight","color","cursor","StyledBaseNativeInput","styled","input","withConfig","displayName","componentId","StyledBaseNativeButton","button","autoCompleteSuggestionTypeMap","none","on","name","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","_StyledBaseInput","_ref","ref","isRequired","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnInput","handleOnKeyDown","handleOnClick","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","setCurrentInteraction","numberOfLines","type","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","_objectWithoutProperties","_excluded","commonProps","onBlur","event","value","onFocus","onKeyDown","key","code","enterKeyHint","autoComplete","undefined","as","_jsx","onClick","stopPropagation","children","Text","truncateAfterLines","placeholder","required","maxLength","rows","inputMode","onChange","onInput","StyledBaseInput","assignWithoutSideEffects","React","forwardRef"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { getInputVisualsToBeRendered } from './BaseInputVisuals.js';
|
|
3
2
|
import { getBaseInputBorderStyles } from './getBaseInputBorderStyles.web.js';
|
|
4
3
|
import { baseInputBackgroundColor, baseInputBorderColor, baseInputBorderWidth, baseInputPaddingTokens, baseInputHeight, baseInputWrapperMaxHeight } from './baseInputTokens.js';
|
|
4
|
+
import { getInputVisualsToBeRendered } from './BaseInputVisuals.js';
|
|
5
5
|
import getTextStyles from '../../Typography/Text/getTextStyles.js';
|
|
6
6
|
import '../../../utils/makeSpace/index.js';
|
|
7
7
|
import '../../../utils/makeBorderSize/index.js';
|
|
@@ -89,11 +89,11 @@ var getLeftPadding = function getLeftPadding(_ref3) {
|
|
|
89
89
|
};
|
|
90
90
|
var getRightPadding = function getRightPadding(_ref4) {
|
|
91
91
|
var theme = _ref4.theme,
|
|
92
|
-
|
|
92
|
+
hasTrailingInteractionElement = _ref4.hasTrailingInteractionElement,
|
|
93
93
|
hasSuffix = _ref4.hasSuffix,
|
|
94
94
|
hasTrailingIcon = _ref4.hasTrailingIcon,
|
|
95
95
|
size = _ref4.size;
|
|
96
|
-
if (
|
|
96
|
+
if (hasTrailingInteractionElement || hasSuffix || hasTrailingIcon) {
|
|
97
97
|
return theme.spacing[3];
|
|
98
98
|
}
|
|
99
99
|
return theme.spacing[baseInputPaddingTokens.right[size]];
|
|
@@ -103,7 +103,8 @@ var getBaseInputStyles = function getBaseInputStyles(_ref5) {
|
|
|
103
103
|
isDisabled = _ref5.isDisabled,
|
|
104
104
|
leadingIcon = _ref5.leadingIcon,
|
|
105
105
|
prefix = _ref5.prefix,
|
|
106
|
-
|
|
106
|
+
trailingInteractionElement = _ref5.trailingInteractionElement,
|
|
107
|
+
leadingInteractionElement = _ref5.leadingInteractionElement,
|
|
107
108
|
suffix = _ref5.suffix,
|
|
108
109
|
trailingIcon = _ref5.trailingIcon,
|
|
109
110
|
textAlign = _ref5.textAlign,
|
|
@@ -115,14 +116,15 @@ var getBaseInputStyles = function getBaseInputStyles(_ref5) {
|
|
|
115
116
|
var _getInputVisualsToBeR = getInputVisualsToBeRendered({
|
|
116
117
|
leadingIcon: leadingIcon,
|
|
117
118
|
prefix: prefix,
|
|
118
|
-
|
|
119
|
+
trailingInteractionElement: trailingInteractionElement,
|
|
120
|
+
leadingInteractionElement: leadingInteractionElement,
|
|
119
121
|
suffix: suffix,
|
|
120
122
|
trailingIcon: trailingIcon,
|
|
121
123
|
size: size
|
|
122
124
|
}),
|
|
123
125
|
hasLeadingIcon = _getInputVisualsToBeR.hasLeadingIcon,
|
|
124
126
|
hasPrefix = _getInputVisualsToBeR.hasPrefix,
|
|
125
|
-
|
|
127
|
+
hasTrailingInteractionElement = _getInputVisualsToBeR.hasTrailingInteractionElement,
|
|
126
128
|
hasSuffix = _getInputVisualsToBeR.hasSuffix,
|
|
127
129
|
hasTrailingIcon = _getInputVisualsToBeR.hasTrailingIcon;
|
|
128
130
|
var isDropdownWithTags = isDropdownTrigger && hasTags;
|
|
@@ -153,7 +155,7 @@ var getBaseInputStyles = function getBaseInputStyles(_ref5) {
|
|
|
153
155
|
})),
|
|
154
156
|
paddingRight: getRightPadding({
|
|
155
157
|
theme: theme,
|
|
156
|
-
|
|
158
|
+
hasTrailingInteractionElement: hasTrailingInteractionElement,
|
|
157
159
|
hasSuffix: hasSuffix,
|
|
158
160
|
hasTrailingIcon: hasTrailingIcon,
|
|
159
161
|
size: size
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseInputStyles.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport { getBaseInputBorderStyles } from './getBaseInputBorderStyles';\nimport {\n baseInputBackgroundColor,\n baseInputBorderColor,\n baseInputBorderWidth,\n baseInputHeight,\n baseInputPaddingTokens,\n baseInputWrapperMaxHeight,\n} from './baseInputTokens';\nimport type { BaseInputWrapperProps } from './types';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport { getPlatformType } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport getHeadingStyles from '~components/Typography/Heading/getHeadingStyles';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'interactionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n | 'isDropdownTrigger'\n | 'valueComponentType'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n isTextArea?: boolean;\n hasTags?: boolean;\n theme: Theme;\n size: NonNullable<BaseInputProps['size']>;\n};\n\nexport const getBaseInputState = ({\n isFocused,\n isHovered,\n isDisabled,\n}: {\n isFocused?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n}): 'focused' | 'hovered' | 'disabled' | 'default' => {\n if (isDisabled) {\n return 'disabled';\n } else if (isFocused) {\n return 'focused';\n } else if (isHovered) {\n return 'hovered';\n } else {\n return 'default';\n }\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n isTextArea,\n isDropdownTrigger,\n}: Pick<\n GetInputStyles,\n | 'theme'\n | 'isFocused'\n | 'isDisabled'\n | 'validationState'\n | 'isHovered'\n | 'isTextArea'\n | 'isDropdownTrigger'\n>): CSSObject => {\n // normal state\n let backgroundColor = getIn(theme.colors, baseInputBackgroundColor.default);\n let borderColor = getIn(theme.colors, baseInputBorderColor.default);\n let borderWidth = getIn(theme.border.width, baseInputBorderWidth.default);\n\n const baseInputState = getBaseInputState({ isFocused, isHovered, isDisabled });\n\n backgroundColor = getIn(theme.colors, baseInputBackgroundColor[baseInputState]);\n borderColor = getIn(theme.colors, baseInputBorderColor[baseInputState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[baseInputState]);\n\n if (validationState === 'error') {\n borderColor = getIn(theme.colors, baseInputBorderColor.error);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth.error);\n } else if (validationState === 'success') {\n borderColor = getIn(theme.colors, baseInputBorderColor.success);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth.success);\n }\n\n return {\n backgroundColor,\n borderRadius: makeBorderSize(theme.border.radius.medium),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n alignItems: isTextArea ? 'flex-start' : undefined,\n position: 'relative',\n height: isDropdownTrigger ? 'auto' : undefined,\n border: 'none',\n ...getBaseInputBorderStyles({ theme, borderColor, borderWidth, isFocused }),\n };\n};\n\nconst getLeftPadding = ({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n size,\n}: {\n theme: Theme;\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n isDropdownTrigger: GetInputStyles['isDropdownTrigger'];\n size: GetInputStyles['size'];\n}): number => {\n if (isDropdownTrigger) {\n return theme.spacing[0];\n }\n\n if (hasLeadingIcon || hasPrefix) {\n return theme.spacing[3];\n }\n\n return theme.spacing[baseInputPaddingTokens.left[size]];\n};\n\nconst getRightPadding = ({\n theme,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n}: {\n theme: Theme;\n hasInteractionElement: boolean;\n hasSuffix: boolean;\n hasTrailingIcon: boolean;\n size: GetInputStyles['size'];\n}): number => {\n if (hasInteractionElement || hasSuffix || hasTrailingIcon) {\n return theme.spacing[3];\n }\n return theme.spacing[baseInputPaddingTokens.right[size]];\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n textAlign,\n isTextArea,\n hasTags,\n isDropdownTrigger,\n size,\n valueComponentType,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n size,\n });\n\n const isDropdownWithTags = isDropdownTrigger && hasTags;\n const isReactNative = getPlatformType() === 'react-native';\n\n return {\n ...(valueComponentType === 'heading'\n ? getHeadingStyles({\n size,\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })\n : getTextStyles({\n size,\n variant: 'body',\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })),\n\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: 'transparent',\n\n paddingTop: makeSpace(theme.spacing[baseInputPaddingTokens.top[size]]),\n paddingBottom: makeSpace(theme.spacing[baseInputPaddingTokens.bottom[size]]),\n paddingLeft: makeSpace(\n getLeftPadding({ theme, isDropdownTrigger, hasLeadingIcon, hasPrefix, size }),\n ),\n paddingRight: getRightPadding({\n theme,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n }),\n\n textAlign,\n width: '100%',\n height: isTextArea || isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),\n minHeight: isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n\nexport const getAnimatedBaseInputWrapperMaxHeight = ({\n maxTagRows,\n showAllTags,\n size,\n}: Pick<BaseInputWrapperProps, 'maxTagRows' | 'showAllTags' | 'size'>): number => {\n if (maxTagRows === 'single') {\n return baseInputHeight[size];\n }\n\n if (maxTagRows === 'multiple') {\n return baseInputWrapperMaxHeight[size];\n }\n\n // In expandable, max-height depends on the state\n return showAllTags ? baseInputWrapperMaxHeight[size] : baseInputHeight[size];\n};\n"],"names":["getBaseInputState","_ref","isFocused","isHovered","isDisabled","getInputBackgroundAndBorderStyles","_ref2","theme","validationState","isTextArea","isDropdownTrigger","backgroundColor","getIn","colors","baseInputBackgroundColor","borderColor","baseInputBorderColor","borderWidth","border","width","baseInputBorderWidth","baseInputState","error","success","_objectSpread","borderRadius","makeBorderSize","radius","medium","borderStyle","display","flexDirection","alignItems","undefined","position","height","getBaseInputBorderStyles","getLeftPadding","_ref3","hasLeadingIcon","hasPrefix","size","spacing","baseInputPaddingTokens","left","getRightPadding","_ref4","hasInteractionElement","hasSuffix","hasTrailingIcon","right","getBaseInputStyles","_ref5","leadingIcon","prefix","interactionElement","suffix","trailingIcon","textAlign","hasTags","valueComponentType","_getInputVisualsToBeR","getInputVisualsToBeRendered","isDropdownWithTags","isReactNative","getPlatformType","getHeadingStyles","weight","color","getTextStyles","variant","flex","paddingTop","makeSpace","top","paddingBottom","bottom","paddingLeft","paddingRight","baseInputHeight","minHeight","resize","getAnimatedBaseInputWrapperMaxHeight","_ref6","maxTagRows","showAllTags","baseInputWrapperMaxHeight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseInputStyles.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getBaseInputBorderStyles } from './getBaseInputBorderStyles';\nimport {\n baseInputBackgroundColor,\n baseInputBorderColor,\n baseInputBorderWidth,\n baseInputHeight,\n baseInputPaddingTokens,\n baseInputWrapperMaxHeight,\n} from './baseInputTokens';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport type { BaseInputWrapperProps } from './types';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport { getPlatformType } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport getHeadingStyles from '~components/Typography/Heading/getHeadingStyles';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'trailingInteractionElement'\n | 'leadingInteractionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n | 'isDropdownTrigger'\n | 'valueComponentType'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n isTextArea?: boolean;\n hasTags?: boolean;\n theme: Theme;\n size: NonNullable<BaseInputProps['size']>;\n};\n\nexport const getBaseInputState = ({\n isFocused,\n isHovered,\n isDisabled,\n}: {\n isFocused?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n}): 'focused' | 'hovered' | 'disabled' | 'default' => {\n if (isDisabled) {\n return 'disabled';\n } else if (isFocused) {\n return 'focused';\n } else if (isHovered) {\n return 'hovered';\n } else {\n return 'default';\n }\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n isTextArea,\n isDropdownTrigger,\n}: Pick<\n GetInputStyles,\n | 'theme'\n | 'isFocused'\n | 'isDisabled'\n | 'validationState'\n | 'isHovered'\n | 'isTextArea'\n | 'isDropdownTrigger'\n>): CSSObject => {\n // normal state\n let backgroundColor = getIn(theme.colors, baseInputBackgroundColor.default);\n let borderColor = getIn(theme.colors, baseInputBorderColor.default);\n let borderWidth = getIn(theme.border.width, baseInputBorderWidth.default);\n\n const baseInputState = getBaseInputState({ isFocused, isHovered, isDisabled });\n\n backgroundColor = getIn(theme.colors, baseInputBackgroundColor[baseInputState]);\n borderColor = getIn(theme.colors, baseInputBorderColor[baseInputState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[baseInputState]);\n\n if (validationState === 'error') {\n borderColor = getIn(theme.colors, baseInputBorderColor.error);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth.error);\n } else if (validationState === 'success') {\n borderColor = getIn(theme.colors, baseInputBorderColor.success);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth.success);\n }\n\n return {\n backgroundColor,\n borderRadius: makeBorderSize(theme.border.radius.medium),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n alignItems: isTextArea ? 'flex-start' : undefined,\n position: 'relative',\n height: isDropdownTrigger ? 'auto' : undefined,\n border: 'none',\n ...getBaseInputBorderStyles({ theme, borderColor, borderWidth, isFocused }),\n };\n};\n\nconst getLeftPadding = ({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n size,\n}: {\n theme: Theme;\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n isDropdownTrigger: GetInputStyles['isDropdownTrigger'];\n size: GetInputStyles['size'];\n}): number => {\n if (isDropdownTrigger) {\n return theme.spacing[0];\n }\n\n if (hasLeadingIcon || hasPrefix) {\n return theme.spacing[3];\n }\n\n return theme.spacing[baseInputPaddingTokens.left[size]];\n};\n\nconst getRightPadding = ({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n}: {\n theme: Theme;\n hasTrailingInteractionElement: boolean;\n hasSuffix: boolean;\n hasTrailingIcon: boolean;\n size: GetInputStyles['size'];\n}): number => {\n if (hasTrailingInteractionElement || hasSuffix || hasTrailingIcon) {\n return theme.spacing[3];\n }\n return theme.spacing[baseInputPaddingTokens.right[size]];\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n textAlign,\n isTextArea,\n hasTags,\n isDropdownTrigger,\n size,\n valueComponentType,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n size,\n });\n\n const isDropdownWithTags = isDropdownTrigger && hasTags;\n const isReactNative = getPlatformType() === 'react-native';\n\n return {\n ...(valueComponentType === 'heading'\n ? getHeadingStyles({\n size,\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })\n : getTextStyles({\n size,\n variant: 'body',\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })),\n\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: 'transparent',\n\n paddingTop: makeSpace(theme.spacing[baseInputPaddingTokens.top[size]]),\n paddingBottom: makeSpace(theme.spacing[baseInputPaddingTokens.bottom[size]]),\n paddingLeft: makeSpace(\n getLeftPadding({ theme, isDropdownTrigger, hasLeadingIcon, hasPrefix, size }),\n ),\n paddingRight: getRightPadding({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n }),\n\n textAlign,\n width: '100%',\n height: isTextArea || isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),\n minHeight: isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n\nexport const getAnimatedBaseInputWrapperMaxHeight = ({\n maxTagRows,\n showAllTags,\n size,\n}: Pick<BaseInputWrapperProps, 'maxTagRows' | 'showAllTags' | 'size'>): number => {\n if (maxTagRows === 'single') {\n return baseInputHeight[size];\n }\n\n if (maxTagRows === 'multiple') {\n return baseInputWrapperMaxHeight[size];\n }\n\n // In expandable, max-height depends on the state\n return showAllTags ? baseInputWrapperMaxHeight[size] : baseInputHeight[size];\n};\n"],"names":["getBaseInputState","_ref","isFocused","isHovered","isDisabled","getInputBackgroundAndBorderStyles","_ref2","theme","validationState","isTextArea","isDropdownTrigger","backgroundColor","getIn","colors","baseInputBackgroundColor","borderColor","baseInputBorderColor","borderWidth","border","width","baseInputBorderWidth","baseInputState","error","success","_objectSpread","borderRadius","makeBorderSize","radius","medium","borderStyle","display","flexDirection","alignItems","undefined","position","height","getBaseInputBorderStyles","getLeftPadding","_ref3","hasLeadingIcon","hasPrefix","size","spacing","baseInputPaddingTokens","left","getRightPadding","_ref4","hasTrailingInteractionElement","hasSuffix","hasTrailingIcon","right","getBaseInputStyles","_ref5","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","textAlign","hasTags","valueComponentType","_getInputVisualsToBeR","getInputVisualsToBeRendered","isDropdownWithTags","isReactNative","getPlatformType","getHeadingStyles","weight","color","getTextStyles","variant","flex","paddingTop","makeSpace","top","paddingBottom","bottom","paddingLeft","paddingRight","baseInputHeight","minHeight","resize","getAnimatedBaseInputWrapperMaxHeight","_ref6","maxTagRows","showAllTags","baseInputWrapperMaxHeight"],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var getKeyboardAndAutocompleteProps = function getKeyboardAndAutocompleteProps(_ref) {
|
|
2
|
+
var _ref$type = _ref.type,
|
|
3
|
+
type = _ref$type === void 0 ? 'text' : _ref$type,
|
|
4
|
+
keyboardReturnKeyType = _ref.keyboardReturnKeyType,
|
|
5
|
+
autoCompleteSuggestionType = _ref.autoCompleteSuggestionType,
|
|
6
|
+
autoCapitalize = _ref.autoCapitalize;
|
|
7
|
+
var keyboardAndAutocompleteProps = {
|
|
8
|
+
type: type,
|
|
9
|
+
keyboardType: 'text',
|
|
10
|
+
keyboardReturnKeyType: 'default',
|
|
11
|
+
autoCompleteSuggestionType: 'none',
|
|
12
|
+
autoCapitalize: autoCapitalize
|
|
13
|
+
};
|
|
14
|
+
var keyboardConfigMap = {
|
|
15
|
+
text: {
|
|
16
|
+
keyboardType: 'text',
|
|
17
|
+
keyboardReturnKeyType: 'default',
|
|
18
|
+
autoCompleteSuggestionType: 'none',
|
|
19
|
+
autoCapitalize: undefined
|
|
20
|
+
},
|
|
21
|
+
telephone: {
|
|
22
|
+
keyboardType: 'telephone',
|
|
23
|
+
keyboardReturnKeyType: 'done',
|
|
24
|
+
autoCompleteSuggestionType: 'telephone',
|
|
25
|
+
autoCapitalize: undefined
|
|
26
|
+
},
|
|
27
|
+
email: {
|
|
28
|
+
keyboardType: 'email',
|
|
29
|
+
keyboardReturnKeyType: 'done',
|
|
30
|
+
autoCompleteSuggestionType: 'email',
|
|
31
|
+
autoCapitalize: 'none'
|
|
32
|
+
},
|
|
33
|
+
url: {
|
|
34
|
+
keyboardType: 'url',
|
|
35
|
+
keyboardReturnKeyType: 'go',
|
|
36
|
+
autoCompleteSuggestionType: 'none',
|
|
37
|
+
autoCapitalize: 'none'
|
|
38
|
+
},
|
|
39
|
+
number: {
|
|
40
|
+
keyboardType: 'decimal',
|
|
41
|
+
keyboardReturnKeyType: 'done',
|
|
42
|
+
autoCompleteSuggestionType: 'none',
|
|
43
|
+
autoCapitalize: undefined
|
|
44
|
+
},
|
|
45
|
+
search: {
|
|
46
|
+
keyboardType: 'search',
|
|
47
|
+
keyboardReturnKeyType: 'search',
|
|
48
|
+
autoCompleteSuggestionType: 'none',
|
|
49
|
+
autoCapitalize: undefined
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var keyboardConfig = keyboardConfigMap[type];
|
|
53
|
+
keyboardAndAutocompleteProps.keyboardType = keyboardConfig.keyboardType;
|
|
54
|
+
keyboardAndAutocompleteProps.keyboardReturnKeyType = keyboardReturnKeyType !== null && keyboardReturnKeyType !== void 0 ? keyboardReturnKeyType : keyboardConfig.keyboardReturnKeyType;
|
|
55
|
+
keyboardAndAutocompleteProps.autoCompleteSuggestionType = autoCompleteSuggestionType !== null && autoCompleteSuggestionType !== void 0 ? autoCompleteSuggestionType : keyboardConfig.autoCompleteSuggestionType;
|
|
56
|
+
keyboardAndAutocompleteProps.autoCapitalize = keyboardConfig.autoCapitalize;
|
|
57
|
+
if (type === 'number') {
|
|
58
|
+
/* the default keyboardType:numeric shows alphanumeric keyboard on iOS but number pad on android. making it type:text and keyboardType:decimal fixes this on all platforms.
|
|
59
|
+
* source: https://css-tricks.com/everything-you-ever-wanted-to-know-about-keyboardType/#aa-decimal
|
|
60
|
+
*/
|
|
61
|
+
keyboardAndAutocompleteProps.type = 'text';
|
|
62
|
+
}
|
|
63
|
+
if (type === 'search') {
|
|
64
|
+
/* when input type:search is provided at that time browser adds a weird close button which collides with our clear button and then we have 2 clear buttons
|
|
65
|
+
* source: https://github.com/razorpay/blade/issues/857#issue-1457367160
|
|
66
|
+
*/
|
|
67
|
+
keyboardAndAutocompleteProps.type = 'text';
|
|
68
|
+
}
|
|
69
|
+
return keyboardAndAutocompleteProps;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export { getKeyboardAndAutocompleteProps };
|
|
73
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../../src/components/Input/BaseInput/utils.ts"],"sourcesContent":["import type { BaseInputProps } from './BaseInput';\n\ntype Type = Exclude<BaseInputProps['type'], 'password'>;\n\ntype TextInputKeyboardAndAutoComplete = Pick<\n BaseInputProps,\n 'keyboardType' | 'keyboardReturnKeyType' | 'autoCompleteSuggestionType' | 'autoCapitalize'\n> & {\n type: Type;\n};\n\nconst getKeyboardAndAutocompleteProps = ({\n type = 'text',\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n autoCapitalize,\n}: TextInputKeyboardAndAutoComplete): TextInputKeyboardAndAutoComplete => {\n const keyboardAndAutocompleteProps: TextInputKeyboardAndAutoComplete = {\n type,\n keyboardType: 'text',\n keyboardReturnKeyType: 'default',\n autoCompleteSuggestionType: 'none',\n autoCapitalize,\n };\n\n const keyboardConfigMap = {\n text: {\n keyboardType: 'text',\n keyboardReturnKeyType: 'default',\n autoCompleteSuggestionType: 'none',\n autoCapitalize: undefined,\n },\n telephone: {\n keyboardType: 'telephone',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'telephone',\n autoCapitalize: undefined,\n },\n email: {\n keyboardType: 'email',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'email',\n autoCapitalize: 'none',\n },\n url: {\n keyboardType: 'url',\n keyboardReturnKeyType: 'go',\n autoCompleteSuggestionType: 'none',\n autoCapitalize: 'none',\n },\n number: {\n keyboardType: 'decimal',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'none',\n autoCapitalize: undefined,\n },\n search: {\n keyboardType: 'search',\n keyboardReturnKeyType: 'search',\n autoCompleteSuggestionType: 'none',\n autoCapitalize: undefined,\n },\n } as const;\n\n const keyboardConfig = keyboardConfigMap[type];\n\n keyboardAndAutocompleteProps.keyboardType = keyboardConfig.keyboardType;\n\n keyboardAndAutocompleteProps.keyboardReturnKeyType =\n keyboardReturnKeyType ?? keyboardConfig.keyboardReturnKeyType;\n\n keyboardAndAutocompleteProps.autoCompleteSuggestionType =\n autoCompleteSuggestionType ?? keyboardConfig.autoCompleteSuggestionType;\n\n keyboardAndAutocompleteProps.autoCapitalize = keyboardConfig.autoCapitalize;\n\n if (type === 'number') {\n /* the default keyboardType:numeric shows alphanumeric keyboard on iOS but number pad on android. making it type:text and keyboardType:decimal fixes this on all platforms.\n * source: https://css-tricks.com/everything-you-ever-wanted-to-know-about-keyboardType/#aa-decimal\n */\n keyboardAndAutocompleteProps.type = 'text';\n }\n\n if (type === 'search') {\n /* when input type:search is provided at that time browser adds a weird close button which collides with our clear button and then we have 2 clear buttons\n * source: https://github.com/razorpay/blade/issues/857#issue-1457367160\n */\n keyboardAndAutocompleteProps.type = 'text';\n }\n\n return keyboardAndAutocompleteProps;\n};\n\nexport { getKeyboardAndAutocompleteProps };\n"],"names":["getKeyboardAndAutocompleteProps","_ref","_ref$type","type","keyboardReturnKeyType","autoCompleteSuggestionType","autoCapitalize","keyboardAndAutocompleteProps","keyboardType","keyboardConfigMap","text","undefined","telephone","email","url","number","search","keyboardConfig"],"mappings":"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"}
|
package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js
CHANGED
|
@@ -285,7 +285,7 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
|
|
|
285
285
|
onChange: props.isSelectInput ? undefined : props.onInputValueChange,
|
|
286
286
|
onKeyDown: props.onTriggerKeydown,
|
|
287
287
|
size: props.size,
|
|
288
|
-
|
|
288
|
+
trailingInteractionElement: isAutoCompleteInHeader ? null : /*#__PURE__*/jsx(InputChevronIcon, {
|
|
289
289
|
onClick: function onClick() {
|
|
290
290
|
if (!props.isDisabled) {
|
|
291
291
|
// Icon onClicks to the SelectInput itself
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport type { BaseInputProps } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps } from './types';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useFirstRender } from '~utils/useFirstRender';\n\nconst useControlledDropdownInput = (\n props: Pick<\n BaseDropdownInputTriggerProps,\n | 'onChange'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onInputValueChange'\n | 'syncInputValueWithSelection'\n | 'isSelectInput'\n >,\n): void => {\n const isFirstRender = useFirstRender();\n const {\n changeCallbackTriggerer,\n isControlled,\n options,\n selectedIndices,\n controlledValueIndices,\n setSelectedIndices,\n selectionType,\n setIsControlled,\n } = useDropdown();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n const selectValues = (valuesToSelect: string | string[]): void => {\n if (options.length > 0) {\n // we use empty `''` for clearing the input\n if (isEmpty(valuesToSelect)) {\n setSelectedIndices([]);\n } else if (typeof valuesToSelect === 'string') {\n // single select control\n const selectedItemIndex = options.findIndex((option) => option.value === valuesToSelect);\n if (selectedItemIndex >= 0) {\n setSelectedIndices([selectedItemIndex]);\n }\n } else {\n // multiselect control\n\n // Handles repeated values in user state\n const uniqueValues = Array.from(new Set(valuesToSelect));\n // Handle selectionType single with multiselect values\n const userValues = selectionType === 'single' ? [valuesToSelect?.[0]] : uniqueValues;\n\n const selectedItemIndices = userValues\n .map((optionValue) => options.findIndex((option) => option.value === optionValue))\n .filter((value) => value >= 0);\n\n setSelectedIndices(selectedItemIndices);\n }\n }\n };\n\n // Handles `defaultValue` prop\n React.useEffect(() => {\n if (options.length > 0 && props.defaultValue) {\n selectValues(props.defaultValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.length]);\n\n // Handles `value` prop\n React.useEffect(() => {\n if (options.length > 0 && props.value !== undefined) {\n if (!isControlled) {\n setIsControlled(true);\n }\n\n selectValues(props.value);\n\n // in single select AutoComplete, we have to set inputValue of autocomplete according to the new selection.\n if (selectionType === 'single' && !Array.isArray(props.value) && !props.isSelectInput) {\n props.syncInputValueWithSelection?.(props.value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, options]);\n\n // onChange behaviour\n React.useEffect(() => {\n // Ignore calling onChange on mount\n\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name,\n values: getValuesArrayFromIndices(),\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n};\n\nconst _BaseDropdownInputTrigger = (\n props: BaseDropdownInputTriggerProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n isOpen,\n activeTagIndex,\n setActiveTagIndex,\n displayValue,\n selectionType,\n dropdownTriggerer,\n dropdownBaseId,\n selectedIndices,\n triggererRef,\n triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\n options,\n removeOption,\n setChangeCallbackTriggerer,\n changeCallbackTriggerer,\n } = useDropdown();\n\n const dropdownTriggerPlaceholder = props.placeholder ?? 'Select Option';\n const isAutoCompleteInHeader = !props.isSelectInput && hasAutoCompleteInBottomSheetHeader;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (hasAutoCompleteInBottomSheetHeader) {\n // When AutoComplete is in bottomsheet header, we never want to show all tags in outer select input\n if (props.isSelectInput) {\n return false;\n }\n\n // ... And we always want to show all tags in inner AutoComplete\n return true;\n }\n\n return isOpen;\n }, [hasAutoCompleteInBottomSheetHeader, props.isSelectInput, isOpen]);\n\n useControlledDropdownInput({\n onChange: props.onChange,\n name: props.name,\n value: props.value,\n defaultValue: props.defaultValue,\n syncInputValueWithSelection: props.syncInputValueWithSelection,\n isSelectInput: props.isSelectInput,\n });\n\n const getValue = (): string | undefined => {\n let prefix = '';\n if (props.labelPosition === 'inside-input' && props.label) {\n prefix = `${props.label}: `;\n }\n\n if (props.isSelectInput) {\n if (selectionType === 'single') {\n return `${prefix}${displayValue}`;\n }\n\n // In multiselect, we return tags so no display value is required\n return undefined;\n }\n\n // In AutoComplete, input has a special value too\n return props.inputValue;\n };\n\n const getTags = React.useMemo(\n () => ({ size }: { size: NonNullable<BaseInputProps['size']> }) => {\n if (selectionType === 'single') {\n return undefined;\n }\n\n return getTagsGroup({\n size,\n tags: selectedIndices.map((selectedIndex) => options[selectedIndex]?.title),\n activeTagIndex,\n isDisabled: props.isDisabled,\n onDismiss: ({ tagIndex }) => {\n if (isTagDismissedRef.current) {\n isTagDismissedRef.current.value = true;\n }\n\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n\n removeOption(selectedIndices[tagIndex]);\n setChangeCallbackTriggerer(Number(changeCallbackTriggerer) + 1);\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options],\n );\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (!isReactNative()\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n triggererRef.current = node;\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }\n : null) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags({ size: props.size || 'medium' })}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n hasPopup={getActionListContainerRole(hasFooterAction, dropdownTriggerer)}\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={`${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n size={props.size}\n interactionElement={\n isAutoCompleteInHeader ? null : (\n <InputChevronIcon\n onClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n isDisabled={props.isDisabled}\n isOpen={isOpen}\n />\n )\n }\n />\n );\n};\n\nconst BaseDropdownInputTrigger = React.forwardRef(_BaseDropdownInputTrigger);\n\nexport { BaseDropdownInputTrigger };\n"],"names":["useControlledDropdownInput","props","isFirstRender","useFirstRender","_useDropdown","useDropdown","changeCallbackTriggerer","isControlled","options","selectedIndices","controlledValueIndices","setSelectedIndices","selectionType","setIsControlled","getValuesArrayFromIndices","indices","map","selectionIndex","value","selectValues","valuesToSelect","length","isEmpty","selectedItemIndex","findIndex","option","uniqueValues","Array","from","Set","userValues","selectedItemIndices","optionValue","filter","React","useEffect","defaultValue","undefined","isArray","isSelectInput","_props$syncInputValue","syncInputValueWithSelection","call","_props$onChange","onChange","name","values","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","concat","inputValue","getTags","useMemo","_ref","size","getTagsGroup","tags","selectedIndex","_options$selectedInde","title","isDisabled","onDismiss","_ref2","tagIndex","current","isReactNative","_triggererRef$current","focus","Number","_jsx","BaseInput","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","validationState","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","_props$onTriggerClick","onFocus","onBlur","_ref3","_props$onBlur","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","id","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","interactionElement","InputChevronIcon","_triggererRef$current2","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport type { BaseInputProps } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps } from './types';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useFirstRender } from '~utils/useFirstRender';\n\nconst useControlledDropdownInput = (\n props: Pick<\n BaseDropdownInputTriggerProps,\n | 'onChange'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onInputValueChange'\n | 'syncInputValueWithSelection'\n | 'isSelectInput'\n >,\n): void => {\n const isFirstRender = useFirstRender();\n const {\n changeCallbackTriggerer,\n isControlled,\n options,\n selectedIndices,\n controlledValueIndices,\n setSelectedIndices,\n selectionType,\n setIsControlled,\n } = useDropdown();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n const selectValues = (valuesToSelect: string | string[]): void => {\n if (options.length > 0) {\n // we use empty `''` for clearing the input\n if (isEmpty(valuesToSelect)) {\n setSelectedIndices([]);\n } else if (typeof valuesToSelect === 'string') {\n // single select control\n const selectedItemIndex = options.findIndex((option) => option.value === valuesToSelect);\n if (selectedItemIndex >= 0) {\n setSelectedIndices([selectedItemIndex]);\n }\n } else {\n // multiselect control\n\n // Handles repeated values in user state\n const uniqueValues = Array.from(new Set(valuesToSelect));\n // Handle selectionType single with multiselect values\n const userValues = selectionType === 'single' ? [valuesToSelect?.[0]] : uniqueValues;\n\n const selectedItemIndices = userValues\n .map((optionValue) => options.findIndex((option) => option.value === optionValue))\n .filter((value) => value >= 0);\n\n setSelectedIndices(selectedItemIndices);\n }\n }\n };\n\n // Handles `defaultValue` prop\n React.useEffect(() => {\n if (options.length > 0 && props.defaultValue) {\n selectValues(props.defaultValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.length]);\n\n // Handles `value` prop\n React.useEffect(() => {\n if (options.length > 0 && props.value !== undefined) {\n if (!isControlled) {\n setIsControlled(true);\n }\n\n selectValues(props.value);\n\n // in single select AutoComplete, we have to set inputValue of autocomplete according to the new selection.\n if (selectionType === 'single' && !Array.isArray(props.value) && !props.isSelectInput) {\n props.syncInputValueWithSelection?.(props.value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, options]);\n\n // onChange behaviour\n React.useEffect(() => {\n // Ignore calling onChange on mount\n\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name,\n values: getValuesArrayFromIndices(),\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n};\n\nconst _BaseDropdownInputTrigger = (\n props: BaseDropdownInputTriggerProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n isOpen,\n activeTagIndex,\n setActiveTagIndex,\n displayValue,\n selectionType,\n dropdownTriggerer,\n dropdownBaseId,\n selectedIndices,\n triggererRef,\n triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\n options,\n removeOption,\n setChangeCallbackTriggerer,\n changeCallbackTriggerer,\n } = useDropdown();\n\n const dropdownTriggerPlaceholder = props.placeholder ?? 'Select Option';\n const isAutoCompleteInHeader = !props.isSelectInput && hasAutoCompleteInBottomSheetHeader;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (hasAutoCompleteInBottomSheetHeader) {\n // When AutoComplete is in bottomsheet header, we never want to show all tags in outer select input\n if (props.isSelectInput) {\n return false;\n }\n\n // ... And we always want to show all tags in inner AutoComplete\n return true;\n }\n\n return isOpen;\n }, [hasAutoCompleteInBottomSheetHeader, props.isSelectInput, isOpen]);\n\n useControlledDropdownInput({\n onChange: props.onChange,\n name: props.name,\n value: props.value,\n defaultValue: props.defaultValue,\n syncInputValueWithSelection: props.syncInputValueWithSelection,\n isSelectInput: props.isSelectInput,\n });\n\n const getValue = (): string | undefined => {\n let prefix = '';\n if (props.labelPosition === 'inside-input' && props.label) {\n prefix = `${props.label}: `;\n }\n\n if (props.isSelectInput) {\n if (selectionType === 'single') {\n return `${prefix}${displayValue}`;\n }\n\n // In multiselect, we return tags so no display value is required\n return undefined;\n }\n\n // In AutoComplete, input has a special value too\n return props.inputValue;\n };\n\n const getTags = React.useMemo(\n () => ({ size }: { size: NonNullable<BaseInputProps['size']> }) => {\n if (selectionType === 'single') {\n return undefined;\n }\n\n return getTagsGroup({\n size,\n tags: selectedIndices.map((selectedIndex) => options[selectedIndex]?.title),\n activeTagIndex,\n isDisabled: props.isDisabled,\n onDismiss: ({ tagIndex }) => {\n if (isTagDismissedRef.current) {\n isTagDismissedRef.current.value = true;\n }\n\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n\n removeOption(selectedIndices[tagIndex]);\n setChangeCallbackTriggerer(Number(changeCallbackTriggerer) + 1);\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options],\n );\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (!isReactNative()\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n triggererRef.current = node;\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }\n : null) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags({ size: props.size || 'medium' })}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n hasPopup={getActionListContainerRole(hasFooterAction, dropdownTriggerer)}\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={`${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n size={props.size}\n trailingInteractionElement={\n isAutoCompleteInHeader ? null : (\n <InputChevronIcon\n onClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n isDisabled={props.isDisabled}\n isOpen={isOpen}\n />\n )\n }\n />\n );\n};\n\nconst BaseDropdownInputTrigger = React.forwardRef(_BaseDropdownInputTrigger);\n\nexport { BaseDropdownInputTrigger };\n"],"names":["useControlledDropdownInput","props","isFirstRender","useFirstRender","_useDropdown","useDropdown","changeCallbackTriggerer","isControlled","options","selectedIndices","controlledValueIndices","setSelectedIndices","selectionType","setIsControlled","getValuesArrayFromIndices","indices","map","selectionIndex","value","selectValues","valuesToSelect","length","isEmpty","selectedItemIndex","findIndex","option","uniqueValues","Array","from","Set","userValues","selectedItemIndices","optionValue","filter","React","useEffect","defaultValue","undefined","isArray","isSelectInput","_props$syncInputValue","syncInputValueWithSelection","call","_props$onChange","onChange","name","values","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","concat","inputValue","getTags","useMemo","_ref","size","getTagsGroup","tags","selectedIndex","_options$selectedInde","title","isDisabled","onDismiss","_ref2","tagIndex","current","isReactNative","_triggererRef$current","focus","Number","_jsx","BaseInput","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","validationState","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","_props$onTriggerClick","onFocus","onBlur","_ref3","_props$onBlur","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","id","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","trailingInteractionElement","InputChevronIcon","_triggererRef$current2","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
|
|
@@ -99,7 +99,7 @@ var _PasswordInput = function _PasswordInput(_ref, ref) {
|
|
|
99
99
|
hideLabelText: !Boolean(label),
|
|
100
100
|
labelPosition: labelPosition,
|
|
101
101
|
type: type,
|
|
102
|
-
|
|
102
|
+
trailingInteractionElement: revealButton,
|
|
103
103
|
trailingFooterSlot: trailingFooterSlot,
|
|
104
104
|
maxCharacters: maxCharacters,
|
|
105
105
|
validationState: validationState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordInput.js","sources":["../../../../../../../src/components/Input/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { EyeIcon, EyeOffIcon } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\nimport { IconButton } from '~components/Button/IconButton';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\n\ntype PasswordInputExtraProps = {\n /**\n * Shows a reveal button to toggle password visibility\n *\n * @default true\n */\n showRevealButton?: boolean;\n\n /**\n * Displays asterisk (`*`) when `isRequired` is enabled\n *\n * @default none\n */\n necessityIndicator?: Exclude<BaseInputProps['necessityIndicator'], 'optional'>;\n\n /**\n * Determines what autoComplete suggestion type to show. Defaults to using platform heuristics.\n *\n * It's not recommended to turn this off in favor of safe password practices.\n * Providing `password` or `newPassword` is more informative to the platform for browser autofill or password managers.\n *\n * **Note**: Using `newPassword` on iOS has some [known issue](https://github.com/facebook/react-native/issues/21911) on React Native\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: Extract<\n BaseInputProps['autoCompleteSuggestionType'],\n 'none' | 'password' | 'newPassword'\n >;\n};\n\ntype PasswordInputCommonProps = Pick<\n BaseInputProps,\n | 'label'\n | 'accessibilityLabel'\n | 'labelPosition'\n | 'maxCharacters'\n | 'validationState'\n | 'errorText'\n | 'successText'\n | 'helpText'\n | 'isDisabled'\n | 'defaultValue'\n | 'placeholder'\n | 'isRequired'\n | 'value'\n | 'onChange'\n | 'onBlur'\n | 'onSubmit'\n | 'onFocus'\n | 'name'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'autoCompleteSuggestionType'\n | 'testID'\n | 'size'\n> &\n PasswordInputExtraProps &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype PasswordInputPropsWithA11yLabel = {\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 PasswordInputPropsWithLabel = {\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\ntype PasswordInputProps = (PasswordInputPropsWithA11yLabel | PasswordInputPropsWithLabel) &\n PasswordInputCommonProps;\n\nconst _PasswordInput: React.ForwardRefRenderFunction<BladeElementRef, PasswordInputProps> = (\n {\n label,\n accessibilityLabel,\n labelPosition = 'top',\n showRevealButton = true,\n maxCharacters,\n validationState,\n errorText,\n successText,\n helpText,\n isDisabled = false,\n defaultValue,\n placeholder,\n isRequired = false,\n necessityIndicator = 'none',\n value,\n onChange,\n onFocus,\n onBlur,\n onSubmit,\n name,\n autoFocus = false,\n keyboardReturnKeyType = 'done',\n autoCompleteSuggestionType,\n testID,\n size = 'medium',\n ...styledProps\n },\n ref,\n) => {\n const [isRevealed, setIsRevealed] = React.useState(false);\n const isEnabled = !isDisabled;\n\n // If input is disabled reveal button shouldn't be present and input should be masked\n const isRevealedAndEnabled = isRevealed && isEnabled;\n\n const toggleIsRevealed = (): void => setIsRevealed((revealed) => !revealed);\n const iconAccessibilityLabel = isRevealedAndEnabled ? 'Hide password' : 'Show password';\n const type = isRevealedAndEnabled ? 'text' : 'password';\n\n const revealButtonIcon = isRevealedAndEnabled ? EyeOffIcon : EyeIcon;\n const revealButton =\n showRevealButton && !isDisabled ? (\n <IconButton\n size=\"medium\"\n icon={revealButtonIcon}\n onClick={toggleIsRevealed}\n accessibilityLabel={iconAccessibilityLabel}\n />\n ) : null;\n\n const trailingFooterSlot = (value?: string): React.ReactNode =>\n maxCharacters ? (\n <BaseBox marginTop=\"spacing.2\" marginRight=\"spacing.1\">\n <CharacterCounter currentCount={value?.length ?? 0} maxCount={maxCharacters} />\n </BaseBox>\n ) : null;\n\n return (\n <BaseInput\n ref={ref}\n componentName={MetaConstants.PasswordInput}\n id=\"password-field\"\n label={label as string}\n accessibilityLabel={accessibilityLabel}\n hideLabelText={!Boolean(label)}\n labelPosition={labelPosition}\n type={type}\n interactionElement={revealButton}\n trailingFooterSlot={trailingFooterSlot}\n maxCharacters={maxCharacters}\n validationState={validationState}\n errorText={errorText}\n successText={successText}\n helpText={helpText}\n isDisabled={isDisabled}\n defaultValue={defaultValue}\n placeholder={placeholder}\n isRequired={isRequired}\n necessityIndicator={necessityIndicator}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n onSubmit={onSubmit}\n onFocus={onFocus}\n name={name}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n keyboardReturnKeyType={keyboardReturnKeyType}\n autoCapitalize=\"none\"\n testID={testID}\n size={size}\n {...styledProps}\n />\n );\n};\n\n// nosemgrep\nconst PasswordInput = assignWithoutSideEffects(React.forwardRef(_PasswordInput), {\n displayName: 'PasswordInput',\n});\n\nexport type { PasswordInputProps };\nexport { PasswordInput };\n"],"names":["_PasswordInput","_ref","ref","label","accessibilityLabel","_ref$labelPosition","labelPosition","_ref$showRevealButton","showRevealButton","maxCharacters","validationState","errorText","successText","helpText","_ref$isDisabled","isDisabled","defaultValue","placeholder","_ref$isRequired","isRequired","_ref$necessityIndicat","necessityIndicator","value","onChange","onFocus","onBlur","onSubmit","name","_ref$autoFocus","autoFocus","_ref$keyboardReturnKe","keyboardReturnKeyType","autoCompleteSuggestionType","testID","_ref$size","size","styledProps","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","isRevealed","setIsRevealed","isEnabled","isRevealedAndEnabled","toggleIsRevealed","revealed","iconAccessibilityLabel","type","revealButtonIcon","EyeOffIcon","EyeIcon","revealButton","_jsx","IconButton","icon","onClick","trailingFooterSlot","_value$length","BaseBox","marginTop","marginRight","children","CharacterCounter","currentCount","length","maxCount","BaseInput","_objectSpread","componentName","MetaConstants","PasswordInput","id","hideLabelText","Boolean","interactionElement","autoCapitalize","assignWithoutSideEffects","forwardRef","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA4GA,IAAMA,cAAmF,GAAG,SAAtFA,cAAmFA,CAAAC,IAAA,EA6BvFC,GAAG,EACA;AAAA,EAAA,IA5BDC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,kBAAkB,GAAAH,IAAA,CAAlBG,kBAAkB;IAAAC,kBAAA,GAAAJ,IAAA,CAClBK,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IAAAE,qBAAA,GAAAN,IAAA,CACrBO,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IACvBE,aAAa,GAAAR,IAAA,CAAbQ,aAAa;IACbC,eAAe,GAAAT,IAAA,CAAfS,eAAe;IACfC,SAAS,GAAAV,IAAA,CAATU,SAAS;IACTC,WAAW,GAAAX,IAAA,CAAXW,WAAW;IACXC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;IAAAC,eAAA,GAAAb,IAAA,CACRc,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAClBE,YAAY,GAAAf,IAAA,CAAZe,YAAY;IACZC,WAAW,GAAAhB,IAAA,CAAXgB,WAAW;IAAAC,eAAA,GAAAjB,IAAA,CACXkB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAE,qBAAA,GAAAnB,IAAA,CAClBoB,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,qBAAA;IAC3BE,KAAK,GAAArB,IAAA,CAALqB,KAAK;IACLC,QAAQ,GAAAtB,IAAA,CAARsB,QAAQ;IACRC,OAAO,GAAAvB,IAAA,CAAPuB,OAAO;IACPC,MAAM,GAAAxB,IAAA,CAANwB,MAAM;IACNC,QAAQ,GAAAzB,IAAA,CAARyB,QAAQ;IACRC,IAAI,GAAA1B,IAAA,CAAJ0B,IAAI;IAAAC,cAAA,GAAA3B,IAAA,CACJ4B,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,qBAAA,GAAA7B,IAAA,CACjB8B,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,qBAAA;IAC9BE,0BAA0B,GAAA/B,IAAA,CAA1B+B,0BAA0B;IAC1BC,MAAM,GAAAhC,IAAA,CAANgC,MAAM;IAAAC,SAAA,GAAAjC,IAAA,CACNkC,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;AACZE,IAAAA,WAAW,GAAAC,wBAAA,CAAApC,IAAA,EAAAqC,SAAA,CAAA,CAAA;AAIhB,EAAA,IAAAC,eAAA,GAAoCC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAAlDK,IAAAA,UAAU,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;EAChC,IAAMI,SAAS,GAAG,CAAC/B,UAAU,CAAA;;AAE7B;AACA,EAAA,IAAMgC,oBAAoB,GAAGH,UAAU,IAAIE,SAAS,CAAA;AAEpD,EAAA,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;IAAA,OAAeH,aAAa,CAAC,UAACI,QAAQ,EAAA;AAAA,MAAA,OAAK,CAACA,QAAQ,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,CAAA;AAC3E,EAAA,IAAMC,sBAAsB,GAAGH,oBAAoB,GAAG,eAAe,GAAG,eAAe,CAAA;AACvF,EAAA,IAAMI,IAAI,GAAGJ,oBAAoB,GAAG,MAAM,GAAG,UAAU,CAAA;AAEvD,EAAA,IAAMK,gBAAgB,GAAGL,oBAAoB,GAAGM,UAAU,GAAGC,OAAO,CAAA;EACpE,IAAMC,YAAY,GAChB/C,gBAAgB,IAAI,CAACO,UAAU,gBAC7ByC,GAAA,CAACC,UAAU,EAAA;AACTtB,IAAAA,IAAI,EAAC,QAAQ;AACbuB,IAAAA,IAAI,EAAEN,gBAAiB;AACvBO,IAAAA,OAAO,EAAEX,gBAAiB;AAC1B5C,IAAAA,kBAAkB,EAAE8C,sBAAAA;GACrB,CAAC,GACA,IAAI,CAAA;AAEV,EAAA,IAAMU,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAItC,KAAc,EAAA;AAAA,IAAA,IAAAuC,aAAA,CAAA;AAAA,IAAA,OACxCpD,aAAa,gBACX+C,GAAA,CAACM,OAAO,EAAA;AAACC,MAAAA,SAAS,EAAC,WAAW;AAACC,MAAAA,WAAW,EAAC,WAAW;MAAAC,QAAA,eACpDT,GAAA,CAACU,gBAAgB,EAAA;AAACC,QAAAA,YAAY,EAAAN,CAAAA,aAAA,GAAEvC,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAE8C,MAAM,MAAAP,IAAAA,IAAAA,aAAA,KAAAA,KAAAA,CAAAA,GAAAA,aAAA,GAAI,CAAE;AAACQ,QAAAA,QAAQ,EAAE5D,aAAAA;OAAgB,CAAA;KACvE,CAAC,GACR,IAAI,CAAA;AAAA,GAAA,CAAA;AAEV,EAAA,oBACE+C,GAAA,CAACc,SAAS,EAAAC,aAAA,CAAA;AACRrE,IAAAA,GAAG,EAAEA,GAAI;IACTsE,aAAa,EAAEC,aAAa,CAACC,aAAc;AAC3CC,IAAAA,EAAE,EAAC,gBAAgB;AACnBxE,IAAAA,KAAK,EAAEA,KAAgB;AACvBC,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCwE,IAAAA,aAAa,EAAE,CAACC,OAAO,CAAC1E,KAAK,CAAE;AAC/BG,IAAAA,aAAa,EAAEA,aAAc;AAC7B6C,IAAAA,IAAI,EAAEA,IAAK;AACX2B,IAAAA,kBAAkB,EAAEvB,YAAa;AACjCK,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCnD,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBE,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,WAAW,EAAEA,WAAY;AACzBE,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,QAAQ,EAAEA,QAAS;AACnBE,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,QAAQ,EAAEA,QAAS;AACnBF,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,IAAI,EAAEA,IAAAA;AACN;AAAA;AACAE,IAAAA,SAAS,EAAEA,SAAU;AACrBG,IAAAA,0BAA0B,EAAEA,0BAA2B;AACvDD,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CgD,IAAAA,cAAc,EAAC,MAAM;AACrB9C,IAAAA,MAAM,EAAEA,MAAO;AACfE,IAAAA,IAAI,EAAEA,IAAAA;GACFC,EAAAA,WAAW,CAChB,CAAC,CAAA;AAEN,CAAC,CAAA;;AAED;AACMsC,IAAAA,aAAa,gBAAGM,wBAAwB,eAACxC,cAAK,CAACyC,UAAU,CAACjF,cAAc,CAAC,EAAE;AAC/EkF,EAAAA,WAAW,EAAE,eAAA;AACf,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"PasswordInput.js","sources":["../../../../../../../src/components/Input/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import React from 'react';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { EyeIcon, EyeOffIcon } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\nimport { IconButton } from '~components/Button/IconButton';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport type { BladeElementRef } from '~utils/types';\n\ntype PasswordInputExtraProps = {\n /**\n * Shows a reveal button to toggle password visibility\n *\n * @default true\n */\n showRevealButton?: boolean;\n\n /**\n * Displays asterisk (`*`) when `isRequired` is enabled\n *\n * @default none\n */\n necessityIndicator?: Exclude<BaseInputProps['necessityIndicator'], 'optional'>;\n\n /**\n * Determines what autoComplete suggestion type to show. Defaults to using platform heuristics.\n *\n * It's not recommended to turn this off in favor of safe password practices.\n * Providing `password` or `newPassword` is more informative to the platform for browser autofill or password managers.\n *\n * **Note**: Using `newPassword` on iOS has some [known issue](https://github.com/facebook/react-native/issues/21911) on React Native\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: Extract<\n BaseInputProps['autoCompleteSuggestionType'],\n 'none' | 'password' | 'newPassword'\n >;\n};\n\ntype PasswordInputCommonProps = Pick<\n BaseInputProps,\n | 'label'\n | 'accessibilityLabel'\n | 'labelPosition'\n | 'maxCharacters'\n | 'validationState'\n | 'errorText'\n | 'successText'\n | 'helpText'\n | 'isDisabled'\n | 'defaultValue'\n | 'placeholder'\n | 'isRequired'\n | 'value'\n | 'onChange'\n | 'onBlur'\n | 'onSubmit'\n | 'onFocus'\n | 'name'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'autoCompleteSuggestionType'\n | 'testID'\n | 'size'\n> &\n PasswordInputExtraProps &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype PasswordInputPropsWithA11yLabel = {\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 PasswordInputPropsWithLabel = {\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\ntype PasswordInputProps = (PasswordInputPropsWithA11yLabel | PasswordInputPropsWithLabel) &\n PasswordInputCommonProps;\n\nconst _PasswordInput: React.ForwardRefRenderFunction<BladeElementRef, PasswordInputProps> = (\n {\n label,\n accessibilityLabel,\n labelPosition = 'top',\n showRevealButton = true,\n maxCharacters,\n validationState,\n errorText,\n successText,\n helpText,\n isDisabled = false,\n defaultValue,\n placeholder,\n isRequired = false,\n necessityIndicator = 'none',\n value,\n onChange,\n onFocus,\n onBlur,\n onSubmit,\n name,\n autoFocus = false,\n keyboardReturnKeyType = 'done',\n autoCompleteSuggestionType,\n testID,\n size = 'medium',\n ...styledProps\n },\n ref,\n) => {\n const [isRevealed, setIsRevealed] = React.useState(false);\n const isEnabled = !isDisabled;\n\n // If input is disabled reveal button shouldn't be present and input should be masked\n const isRevealedAndEnabled = isRevealed && isEnabled;\n\n const toggleIsRevealed = (): void => setIsRevealed((revealed) => !revealed);\n const iconAccessibilityLabel = isRevealedAndEnabled ? 'Hide password' : 'Show password';\n const type = isRevealedAndEnabled ? 'text' : 'password';\n\n const revealButtonIcon = isRevealedAndEnabled ? EyeOffIcon : EyeIcon;\n const revealButton =\n showRevealButton && !isDisabled ? (\n <IconButton\n size=\"medium\"\n icon={revealButtonIcon}\n onClick={toggleIsRevealed}\n accessibilityLabel={iconAccessibilityLabel}\n />\n ) : null;\n\n const trailingFooterSlot = (value?: string): React.ReactNode =>\n maxCharacters ? (\n <BaseBox marginTop=\"spacing.2\" marginRight=\"spacing.1\">\n <CharacterCounter currentCount={value?.length ?? 0} maxCount={maxCharacters} />\n </BaseBox>\n ) : null;\n\n return (\n <BaseInput\n ref={ref}\n componentName={MetaConstants.PasswordInput}\n id=\"password-field\"\n label={label as string}\n accessibilityLabel={accessibilityLabel}\n hideLabelText={!Boolean(label)}\n labelPosition={labelPosition}\n type={type}\n trailingInteractionElement={revealButton}\n trailingFooterSlot={trailingFooterSlot}\n maxCharacters={maxCharacters}\n validationState={validationState}\n errorText={errorText}\n successText={successText}\n helpText={helpText}\n isDisabled={isDisabled}\n defaultValue={defaultValue}\n placeholder={placeholder}\n isRequired={isRequired}\n necessityIndicator={necessityIndicator}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n onSubmit={onSubmit}\n onFocus={onFocus}\n name={name}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n keyboardReturnKeyType={keyboardReturnKeyType}\n autoCapitalize=\"none\"\n testID={testID}\n size={size}\n {...styledProps}\n />\n );\n};\n\n// nosemgrep\nconst PasswordInput = assignWithoutSideEffects(React.forwardRef(_PasswordInput), {\n displayName: 'PasswordInput',\n});\n\nexport type { PasswordInputProps };\nexport { PasswordInput };\n"],"names":["_PasswordInput","_ref","ref","label","accessibilityLabel","_ref$labelPosition","labelPosition","_ref$showRevealButton","showRevealButton","maxCharacters","validationState","errorText","successText","helpText","_ref$isDisabled","isDisabled","defaultValue","placeholder","_ref$isRequired","isRequired","_ref$necessityIndicat","necessityIndicator","value","onChange","onFocus","onBlur","onSubmit","name","_ref$autoFocus","autoFocus","_ref$keyboardReturnKe","keyboardReturnKeyType","autoCompleteSuggestionType","testID","_ref$size","size","styledProps","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","isRevealed","setIsRevealed","isEnabled","isRevealedAndEnabled","toggleIsRevealed","revealed","iconAccessibilityLabel","type","revealButtonIcon","EyeOffIcon","EyeIcon","revealButton","_jsx","IconButton","icon","onClick","trailingFooterSlot","_value$length","BaseBox","marginTop","marginRight","children","CharacterCounter","currentCount","length","maxCount","BaseInput","_objectSpread","componentName","MetaConstants","PasswordInput","id","hideLabelText","Boolean","trailingInteractionElement","autoCapitalize","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
|