@razorpay/blade 12.37.0 → 12.39.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/Accordion/AccordionItem.js +1 -1
- package/build/lib/native/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/native/components/Alert/Alert.js +2 -1
- package/build/lib/native/components/Alert/Alert.js.map +1 -1
- package/build/lib/native/components/Card/Card.js +1 -1
- package/build/lib/native/components/Card/Card.js.map +1 -1
- package/build/lib/native/components/Card/CardContext.js +2 -2
- package/build/lib/native/components/Card/CardContext.js.map +1 -1
- package/build/lib/native/components/Card/CardFooter.js +2 -1
- package/build/lib/native/components/Card/CardFooter.js.map +1 -1
- package/build/lib/native/components/Card/CardHeader.js +3 -3
- package/build/lib/native/components/Card/CardHeader.js.map +1 -1
- package/build/lib/native/components/Chip/Chip.js +1 -1
- package/build/lib/native/components/Chip/Chip.js.map +1 -1
- package/build/lib/native/components/Form/FormLabel.js +1 -1
- package/build/lib/native/components/Form/FormLabel.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/OTPInput/OTPInput.js +1 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.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/SearchInput/SearchInput.js +1 -1
- package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
- 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 +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/List/ListItem.js +1 -1
- package/build/lib/native/components/List/ListItem.js.map +1 -1
- package/build/lib/native/components/QuickFilters/QuickFilter.js +1 -1
- package/build/lib/native/components/QuickFilters/QuickFilter.js.map +1 -1
- package/build/lib/native/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js +4 -0
- package/build/lib/native/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js.map +1 -0
- package/build/lib/web/development/components/Accordion/AccordionButton.web.js +5 -7
- package/build/lib/web/development/components/Accordion/AccordionButton.web.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionItem.js +7 -5
- package/build/lib/web/development/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/web/development/components/Alert/Alert.js +2 -0
- package/build/lib/web/development/components/Alert/Alert.js.map +1 -1
- package/build/lib/web/development/components/Avatar/AvatarButton.js +3 -0
- package/build/lib/web/development/components/Avatar/AvatarButton.js.map +1 -1
- package/build/lib/web/development/components/Card/Card.js +4 -1
- package/build/lib/web/development/components/Card/Card.js.map +1 -1
- package/build/lib/web/development/components/Card/CardContext.js +11 -6
- package/build/lib/web/development/components/Card/CardContext.js.map +1 -1
- package/build/lib/web/development/components/Card/CardFooter.js +3 -0
- package/build/lib/web/development/components/Card/CardFooter.js.map +1 -1
- package/build/lib/web/development/components/Card/CardHeader.js +38 -44
- package/build/lib/web/development/components/Card/CardHeader.js.map +1 -1
- package/build/lib/web/development/components/Chip/Chip.js +5 -5
- package/build/lib/web/development/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +6 -2
- package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/Calendar.web.js +4 -2
- package/build/lib/web/development/components/DatePicker/Calendar.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js +4 -0
- package/build/lib/web/development/components/DatePicker/CalendarFooter.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DateInput.web.js +10 -4
- package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js +1 -0
- package/build/lib/web/development/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +2 -1
- package/build/lib/web/development/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/FileUploadItem.js +3 -0
- package/build/lib/web/development/components/FileUpload/FileUploadItem.js.map +1 -1
- package/build/lib/web/development/components/Form/FormLabel.js +24 -4
- package/build/lib/web/development/components/Form/FormLabel.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +6 -2
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +5 -1
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +5 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +5 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +5 -1
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextArea/TextArea.js +5 -1
- package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +5 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/List/ListItem.js +1 -1
- package/build/lib/web/development/components/List/ListItem.js.map +1 -1
- package/build/lib/web/development/components/Modal/Modal.web.js +6 -7
- package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
- package/build/lib/web/development/components/Preview/Preview.web.js +8 -7
- package/build/lib/web/development/components/Preview/Preview.web.js.map +1 -1
- package/build/lib/web/development/components/QuickFilters/QuickFilter.js +9 -7
- package/build/lib/web/development/components/QuickFilters/QuickFilter.js.map +1 -1
- package/build/lib/web/development/components/SpotlightPopoverTour/TourFooter.web.js +12 -2
- package/build/lib/web/development/components/SpotlightPopoverTour/TourFooter.web.js.map +1 -1
- package/build/lib/web/development/components/Table/Table.web.js +6 -3
- package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableBody.web.js +5 -3
- package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableEditableCell.web.js +11 -8
- package/build/lib/web/development/components/Table/TableEditableCell.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableHeader.web.js +4 -2
- package/build/lib/web/development/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TablePagination.web.js +12 -6
- package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableToolbar.web.js +5 -8
- package/build/lib/web/development/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/development/components/Toast/Toast.web.js +2 -0
- package/build/lib/web/development/components/Toast/Toast.web.js.map +1 -1
- package/build/lib/web/development/utils/makeAnalyticsAttribute/index.js +1 -0
- package/build/lib/web/development/utils/makeAnalyticsAttribute/index.js.map +1 -1
- package/build/lib/web/development/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js +32 -0
- package/build/lib/web/development/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js.map +1 -0
- package/build/lib/web/production/components/Accordion/AccordionButton.web.js +5 -7
- package/build/lib/web/production/components/Accordion/AccordionButton.web.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionItem.js +7 -5
- package/build/lib/web/production/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/web/production/components/Alert/Alert.js +2 -0
- package/build/lib/web/production/components/Alert/Alert.js.map +1 -1
- package/build/lib/web/production/components/Avatar/AvatarButton.js +3 -0
- package/build/lib/web/production/components/Avatar/AvatarButton.js.map +1 -1
- package/build/lib/web/production/components/Card/Card.js +4 -1
- package/build/lib/web/production/components/Card/Card.js.map +1 -1
- package/build/lib/web/production/components/Card/CardContext.js +11 -6
- package/build/lib/web/production/components/Card/CardContext.js.map +1 -1
- package/build/lib/web/production/components/Card/CardFooter.js +3 -0
- package/build/lib/web/production/components/Card/CardFooter.js.map +1 -1
- package/build/lib/web/production/components/Card/CardHeader.js +38 -44
- package/build/lib/web/production/components/Card/CardHeader.js.map +1 -1
- package/build/lib/web/production/components/Chip/Chip.js +5 -5
- package/build/lib/web/production/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +6 -2
- package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/Calendar.web.js +4 -2
- package/build/lib/web/production/components/DatePicker/Calendar.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js +4 -0
- package/build/lib/web/production/components/DatePicker/CalendarFooter.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DateInput.web.js +10 -4
- package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js +1 -0
- package/build/lib/web/production/components/DatePicker/QuickSelection/PresetSideBar.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js +2 -1
- package/build/lib/web/production/components/DatePicker/QuickSelection/QuickSelectionItem.web.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/FileUploadItem.js +3 -0
- package/build/lib/web/production/components/FileUpload/FileUploadItem.js.map +1 -1
- package/build/lib/web/production/components/Form/FormLabel.js +24 -4
- package/build/lib/web/production/components/Form/FormLabel.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +6 -2
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +5 -1
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +5 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +5 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +5 -1
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextArea/TextArea.js +5 -1
- package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +5 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/List/ListItem.js +1 -1
- package/build/lib/web/production/components/List/ListItem.js.map +1 -1
- package/build/lib/web/production/components/Modal/Modal.web.js +6 -7
- package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
- package/build/lib/web/production/components/Preview/Preview.web.js +8 -7
- package/build/lib/web/production/components/Preview/Preview.web.js.map +1 -1
- package/build/lib/web/production/components/QuickFilters/QuickFilter.js +9 -7
- package/build/lib/web/production/components/QuickFilters/QuickFilter.js.map +1 -1
- package/build/lib/web/production/components/SpotlightPopoverTour/TourFooter.web.js +12 -2
- package/build/lib/web/production/components/SpotlightPopoverTour/TourFooter.web.js.map +1 -1
- package/build/lib/web/production/components/Table/Table.web.js +6 -3
- package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableBody.web.js +5 -3
- package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableEditableCell.web.js +11 -8
- package/build/lib/web/production/components/Table/TableEditableCell.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableHeader.web.js +4 -2
- package/build/lib/web/production/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TablePagination.web.js +12 -6
- package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableToolbar.web.js +5 -8
- package/build/lib/web/production/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/production/components/Toast/Toast.web.js +2 -0
- package/build/lib/web/production/components/Toast/Toast.web.js.map +1 -1
- package/build/lib/web/production/utils/makeAnalyticsAttribute/index.js +1 -0
- package/build/lib/web/production/utils/makeAnalyticsAttribute/index.js.map +1 -1
- package/build/lib/web/production/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js +32 -0
- package/build/lib/web/production/utils/makeAnalyticsAttribute/makeAnalyticsConstants.js.map +1 -0
- package/build/types/components/index.d.ts +44 -11
- package/build/types/components/index.native.d.ts +40 -9
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ import '../Button/IconButton/index.js';
|
|
|
9
9
|
import '../ProgressBar/index.js';
|
|
10
10
|
import isUndefined from '../../utils/lodashButBetter/isUndefined.js';
|
|
11
11
|
import '../Link/BaseLink/index.js';
|
|
12
|
+
import '../../utils/makeAnalyticsAttribute/index.js';
|
|
12
13
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
13
14
|
import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
|
|
14
15
|
import { Text } from '../Typography/Text/Text.js';
|
|
@@ -17,6 +18,7 @@ import { IconButton } from '../Button/IconButton/IconButton.js';
|
|
|
17
18
|
import CloseIcon from '../Icons/CloseIcon/CloseIcon.js';
|
|
18
19
|
import BaseLink from '../Link/BaseLink/BaseLink.js';
|
|
19
20
|
import RefreshIcon from '../Icons/RefreshIcon/RefreshIcon.js';
|
|
21
|
+
import { MAKE_ANALYTICS_CONSTANTS } from '../../utils/makeAnalyticsAttribute/makeAnalyticsConstants.js';
|
|
20
22
|
import EyeIcon from '../Icons/EyeIcon/EyeIcon.js';
|
|
21
23
|
import { Divider } from '../Divider/Divider.js';
|
|
22
24
|
import TrashIcon from '../Icons/TrashIcon/TrashIcon.js';
|
|
@@ -112,6 +114,7 @@ var FileUploadItem = /*#__PURE__*/memo(function (_ref) {
|
|
|
112
114
|
file: file
|
|
113
115
|
});
|
|
114
116
|
},
|
|
117
|
+
"data-analytics-name": MAKE_ANALYTICS_CONSTANTS.FILE_UPLOAD.REUPLOAD_BUTTON,
|
|
115
118
|
children: "Re-upload"
|
|
116
119
|
})
|
|
117
120
|
}) : /*#__PURE__*/jsx(BaseBox, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadItem.js","sources":["../../../../../../src/components/FileUpload/FileUploadItem.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { StyledFileUploadItemWrapper } from './StyledFileUploadItemWrapper';\nimport type { FileUploadItemProps } from './types';\nimport { FileUploadItemIcon } from './FileUploadItemIcon';\nimport { TrashIcon, EyeIcon, CloseIcon, CheckCircleIcon, RefreshIcon } from '~components/Icons';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { Divider } from '~components/Divider';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ProgressBar } from '~components/ProgressBar';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport { BaseLink } from '~components/Link/BaseLink';\n\nconst FileUploadItem = memo(\n ({\n file,\n onPreview,\n onRemove,\n onReupload,\n onDismiss,\n size: containerSize,\n }: FileUploadItemProps): React.ReactElement => {\n const { name, size, uploadPercent, errorText, status } = file;\n const isUploading = status === 'uploading';\n const sizeInKB = size / 1024;\n const sizeInMB = sizeInKB / 1024;\n const showSizeInKB = sizeInKB < 1024;\n\n return (\n <StyledFileUploadItemWrapper\n size={containerSize ?? 'medium'}\n status={status ?? 'success'}\n borderRadius=\"medium\"\n borderWidth=\"thin\"\n >\n <BaseBox width=\"100%\" display=\"flex\" flexDirection=\"column\">\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n margin={containerSize === 'large' ? 'spacing.4' : 'spacing.3'}\n >\n <BaseBox marginRight=\"spacing.3\">\n <FileUploadItemIcon fileName={name} uploadStatus={status} />\n </BaseBox>\n <BaseBox flexGrow={1}>\n <BaseBox alignItems=\"center\" display=\"flex\">\n <BaseBox alignItems=\"center\" maxWidth=\"70%\" display=\"flex\" marginRight=\"spacing.3\">\n <Text\n size=\"medium\"\n weight=\"medium\"\n color=\"surface.text.gray.subtle\"\n truncateAfterLines={1}\n >\n {name}\n </Text>\n </BaseBox>\n {status === 'success' && (\n <CheckCircleIcon\n size=\"medium\"\n marginRight=\"spacing.2\"\n color=\"interactive.icon.positive.normal\"\n />\n )}\n </BaseBox>\n <Text\n size=\"small\"\n weight=\"regular\"\n color={\n status === 'error' ? 'feedback.text.negative.intense' : 'surface.text.gray.muted'\n }\n >\n {errorText ??\n `${(showSizeInKB ? sizeInKB : sizeInMB).toFixed(2)} ${\n showSizeInKB ? 'KB' : 'MB'\n } ${isUploading && uploadPercent ? `(${uploadPercent}%)` : ''}`}\n </Text>\n </BaseBox>\n {status === 'uploading' ? (\n <BaseBox display=\"flex\" alignItems=\"center\">\n <IconButton\n accessibilityLabel=\"Remove File\"\n icon={CloseIcon}\n onClick={() => onDismiss?.({ file })}\n />\n </BaseBox>\n ) : status === 'error' ? (\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\">\n <BaseLink\n marginX=\"spacing.1\"\n variant=\"button\"\n icon={RefreshIcon}\n color=\"negative\"\n size=\"small\"\n onClick={() => {\n onReupload?.({ file });\n }}\n >\n Re-upload\n </BaseLink>\n </BaseBox>\n ) : (\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\">\n {onPreview ? (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n padding=\"spacing.0\"\n gap=\"spacing.3\"\n >\n <IconButton\n accessibilityLabel=\"Preview File\"\n icon={EyeIcon}\n onClick={() => onPreview?.({ file })}\n />\n <Divider orientation=\"vertical\" thickness=\"thinner\" variant=\"normal\" />\n <IconButton\n accessibilityLabel=\"Remove File\"\n icon={TrashIcon}\n onClick={() => onRemove?.({ file })}\n />\n </BaseBox>\n ) : (\n <IconButton\n accessibilityLabel=\"Remove File\"\n icon={TrashIcon}\n onClick={() => onRemove?.({ file })}\n />\n )}\n </BaseBox>\n )}\n </BaseBox>\n {isUploading && (\n <BaseBox width=\"100%\" position=\"absolute\" bottom=\"spacing.0\">\n <ProgressBar\n left=\"spacing.0\"\n showPercentage={false}\n value={uploadPercent ?? 0}\n isIndeterminate={isUndefined(uploadPercent)}\n />\n </BaseBox>\n )}\n </BaseBox>\n </StyledFileUploadItemWrapper>\n );\n },\n);\n\nexport { FileUploadItem };\n"],"names":["FileUploadItem","memo","_ref","file","onPreview","onRemove","onReupload","onDismiss","containerSize","size","name","uploadPercent","errorText","status","isUploading","sizeInKB","sizeInMB","showSizeInKB","_jsx","StyledFileUploadItemWrapper","borderRadius","borderWidth","children","_jsxs","BaseBox","width","display","flexDirection","margin","marginRight","FileUploadItemIcon","fileName","uploadStatus","flexGrow","alignItems","maxWidth","Text","weight","color","truncateAfterLines","CheckCircleIcon","concat","toFixed","IconButton","accessibilityLabel","icon","CloseIcon","onClick","BaseLink","marginX","variant","RefreshIcon","padding","gap","EyeIcon","Divider","orientation","thickness","TrashIcon","position","bottom","ProgressBar","left","showPercentage","value","isIndeterminate","isUndefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUploadItem.js","sources":["../../../../../../src/components/FileUpload/FileUploadItem.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { StyledFileUploadItemWrapper } from './StyledFileUploadItemWrapper';\nimport type { FileUploadItemProps } from './types';\nimport { FileUploadItemIcon } from './FileUploadItemIcon';\nimport { TrashIcon, EyeIcon, CloseIcon, CheckCircleIcon, RefreshIcon } from '~components/Icons';\nimport { BaseBox } from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { Divider } from '~components/Divider';\nimport { IconButton } from '~components/Button/IconButton';\nimport { ProgressBar } from '~components/ProgressBar';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute';\n\nconst FileUploadItem = memo(\n ({\n file,\n onPreview,\n onRemove,\n onReupload,\n onDismiss,\n size: containerSize,\n }: FileUploadItemProps): React.ReactElement => {\n const { name, size, uploadPercent, errorText, status } = file;\n const isUploading = status === 'uploading';\n const sizeInKB = size / 1024;\n const sizeInMB = sizeInKB / 1024;\n const showSizeInKB = sizeInKB < 1024;\n\n return (\n <StyledFileUploadItemWrapper\n size={containerSize ?? 'medium'}\n status={status ?? 'success'}\n borderRadius=\"medium\"\n borderWidth=\"thin\"\n >\n <BaseBox width=\"100%\" display=\"flex\" flexDirection=\"column\">\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n margin={containerSize === 'large' ? 'spacing.4' : 'spacing.3'}\n >\n <BaseBox marginRight=\"spacing.3\">\n <FileUploadItemIcon fileName={name} uploadStatus={status} />\n </BaseBox>\n <BaseBox flexGrow={1}>\n <BaseBox alignItems=\"center\" display=\"flex\">\n <BaseBox alignItems=\"center\" maxWidth=\"70%\" display=\"flex\" marginRight=\"spacing.3\">\n <Text\n size=\"medium\"\n weight=\"medium\"\n color=\"surface.text.gray.subtle\"\n truncateAfterLines={1}\n >\n {name}\n </Text>\n </BaseBox>\n {status === 'success' && (\n <CheckCircleIcon\n size=\"medium\"\n marginRight=\"spacing.2\"\n color=\"interactive.icon.positive.normal\"\n />\n )}\n </BaseBox>\n <Text\n size=\"small\"\n weight=\"regular\"\n color={\n status === 'error' ? 'feedback.text.negative.intense' : 'surface.text.gray.muted'\n }\n >\n {errorText ??\n `${(showSizeInKB ? sizeInKB : sizeInMB).toFixed(2)} ${\n showSizeInKB ? 'KB' : 'MB'\n } ${isUploading && uploadPercent ? `(${uploadPercent}%)` : ''}`}\n </Text>\n </BaseBox>\n {status === 'uploading' ? (\n <BaseBox display=\"flex\" alignItems=\"center\">\n <IconButton\n accessibilityLabel=\"Remove File\"\n icon={CloseIcon}\n onClick={() => onDismiss?.({ file })}\n />\n </BaseBox>\n ) : status === 'error' ? (\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\">\n <BaseLink\n marginX=\"spacing.1\"\n variant=\"button\"\n icon={RefreshIcon}\n color=\"negative\"\n size=\"small\"\n onClick={() => {\n onReupload?.({ file });\n }}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.FILE_UPLOAD.REUPLOAD_BUTTON}\n >\n Re-upload\n </BaseLink>\n </BaseBox>\n ) : (\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\">\n {onPreview ? (\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n padding=\"spacing.0\"\n gap=\"spacing.3\"\n >\n <IconButton\n accessibilityLabel=\"Preview File\"\n icon={EyeIcon}\n onClick={() => onPreview?.({ file })}\n />\n <Divider orientation=\"vertical\" thickness=\"thinner\" variant=\"normal\" />\n <IconButton\n accessibilityLabel=\"Remove File\"\n icon={TrashIcon}\n onClick={() => onRemove?.({ file })}\n />\n </BaseBox>\n ) : (\n <IconButton\n accessibilityLabel=\"Remove File\"\n icon={TrashIcon}\n onClick={() => onRemove?.({ file })}\n />\n )}\n </BaseBox>\n )}\n </BaseBox>\n {isUploading && (\n <BaseBox width=\"100%\" position=\"absolute\" bottom=\"spacing.0\">\n <ProgressBar\n left=\"spacing.0\"\n showPercentage={false}\n value={uploadPercent ?? 0}\n isIndeterminate={isUndefined(uploadPercent)}\n />\n </BaseBox>\n )}\n </BaseBox>\n </StyledFileUploadItemWrapper>\n );\n },\n);\n\nexport { FileUploadItem };\n"],"names":["FileUploadItem","memo","_ref","file","onPreview","onRemove","onReupload","onDismiss","containerSize","size","name","uploadPercent","errorText","status","isUploading","sizeInKB","sizeInMB","showSizeInKB","_jsx","StyledFileUploadItemWrapper","borderRadius","borderWidth","children","_jsxs","BaseBox","width","display","flexDirection","margin","marginRight","FileUploadItemIcon","fileName","uploadStatus","flexGrow","alignItems","maxWidth","Text","weight","color","truncateAfterLines","CheckCircleIcon","concat","toFixed","IconButton","accessibilityLabel","icon","CloseIcon","onClick","BaseLink","marginX","variant","RefreshIcon","MAKE_ANALYTICS_CONSTANTS","FILE_UPLOAD","REUPLOAD_BUTTON","padding","gap","EyeIcon","Divider","orientation","thickness","TrashIcon","position","bottom","ProgressBar","left","showPercentage","value","isIndeterminate","isUndefined"],"mappings":"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"}
|
|
@@ -37,7 +37,9 @@ var FormLabel = function FormLabel(_ref) {
|
|
|
37
37
|
id = _ref.id,
|
|
38
38
|
htmlFor = _ref.htmlFor,
|
|
39
39
|
_ref$size = _ref.size,
|
|
40
|
-
size$1 = _ref$size === void 0 ? 'medium' : _ref$size
|
|
40
|
+
size$1 = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
41
|
+
labelSuffix = _ref.labelSuffix,
|
|
42
|
+
labelTrailing = _ref.labelTrailing;
|
|
41
43
|
var _useTheme = useTheme(),
|
|
42
44
|
theme = _useTheme.theme;
|
|
43
45
|
var _useBreakpoint = useBreakpoint({
|
|
@@ -101,7 +103,7 @@ var FormLabel = function FormLabel(_ref) {
|
|
|
101
103
|
}
|
|
102
104
|
var Component = as;
|
|
103
105
|
// only set 120px label when device is desktop
|
|
104
|
-
var width = isLabelLeftPositioned && isDesktop ? makeSize(labelWidth[size$1]) : '
|
|
106
|
+
var width = isLabelLeftPositioned && isDesktop ? makeSize(labelWidth[size$1]) : '100%';
|
|
105
107
|
return /*#__PURE__*/jsx(Component, _objectSpread(_objectSpread({
|
|
106
108
|
htmlFor: htmlFor,
|
|
107
109
|
style: {
|
|
@@ -113,9 +115,27 @@ var FormLabel = function FormLabel(_ref) {
|
|
|
113
115
|
}, metaAttribute({
|
|
114
116
|
name: MetaConstants.FormLabel
|
|
115
117
|
})), {}, {
|
|
116
|
-
children: /*#__PURE__*/
|
|
118
|
+
children: /*#__PURE__*/jsxs(BaseBox, {
|
|
119
|
+
width: "100%",
|
|
120
|
+
display: "flex",
|
|
121
|
+
flexDirection: isLabelLeftPositioned ? 'column' : 'row',
|
|
122
|
+
alignItems: isLabelLeftPositioned ? 'flex-start' : 'center',
|
|
117
123
|
marginBottom: isLabelLeftPositioned ? 'spacing.0' : labelMarginBottom[size$1],
|
|
118
|
-
children:
|
|
124
|
+
children: [/*#__PURE__*/jsxs(BaseBox, {
|
|
125
|
+
display: "flex",
|
|
126
|
+
flexDirection: "row",
|
|
127
|
+
alignItems: "center",
|
|
128
|
+
gap: "spacing.2",
|
|
129
|
+
children: [/*#__PURE__*/jsx(BaseBox, {
|
|
130
|
+
children: textNode
|
|
131
|
+
}), labelSuffix ? /*#__PURE__*/jsx(BaseBox, {
|
|
132
|
+
display: "flex",
|
|
133
|
+
children: labelSuffix
|
|
134
|
+
}) : null]
|
|
135
|
+
}), labelTrailing ? /*#__PURE__*/jsx(BaseBox, {
|
|
136
|
+
marginLeft: isLabelLeftPositioned ? 'spacing.0' : 'auto',
|
|
137
|
+
children: labelTrailing
|
|
138
|
+
}) : null]
|
|
119
139
|
})
|
|
120
140
|
}));
|
|
121
141
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormLabel.js","sources":["../../../../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["import React from 'react';\nimport {\n labelLeftMarginRight,\n labelMarginBottom,\n labelOptionalIndicatorTextSize,\n labelTextSize,\n labelWidth,\n} from './formTokens';\nimport { VisuallyHidden } from '~components/VisuallyHidden';\nimport { Text } from '~components/Typography';\nimport { getPlatformType, makeSize, useBreakpoint } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\nimport { size as sizeToken } from '~tokens/global';\nimport getIn from '~utils/lodashButBetter/get';\n\ntype CommonProps = {\n as: 'span' | 'label';\n position?: 'top' | 'left';\n necessityIndicator?: 'required' | 'optional' | 'none';\n accessibilityText?: string;\n children: string | undefined;\n id?: string;\n /**\n * Sets the size of the label\n * @default medium\n */\n size?: 'small' | 'medium' | 'large';\n};\n\ntype LabelProps = CommonProps & {\n htmlFor: string;\n as: 'label';\n};\n\ntype SpanProps = CommonProps & {\n as: 'span';\n htmlFor?: undefined;\n};\n\ntype FormLabelProps = LabelProps | SpanProps;\n\nexport type FormInputLabelProps = {\n /**\n * Label to be shown for the input field\n */\n label?: string;\n /**\n * Desktop only prop. Default value on mobile will be `top`\n */\n labelPosition?: 'left' | 'top';\n /**\n * Displays `(optional)` when `optional` is passed or `*` when `required` is passed\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n};\n\nconst FormLabel = ({\n as = 'span',\n position = 'top',\n necessityIndicator = 'none',\n accessibilityText,\n children,\n id,\n htmlFor,\n size = 'medium',\n}: FormLabelProps): React.ReactElement => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isDesktop = matchedDeviceType === 'desktop';\n const isReactNative = getPlatformType() === 'react-native';\n\n let necessityLabel: React.ReactNode = null;\n\n const isLabelLeftPositioned = position === 'left' && isDesktop;\n\n if (necessityIndicator === 'optional') {\n necessityLabel = (\n <Text\n variant=\"caption\"\n size={labelOptionalIndicatorTextSize[size]}\n color=\"surface.text.gray.muted\"\n >\n (optional)\n </Text>\n );\n }\n if (necessityIndicator === 'required') {\n necessityLabel = (\n <Text\n variant=\"body\"\n size={isLabelLeftPositioned ? 'medium' : 'small'}\n color=\"feedback.text.negative.intense\"\n alignSelf=\"flex-start\"\n >\n *\n </Text>\n );\n }\n\n const computedAccessibilityNode = (\n <VisuallyHidden>\n {necessityIndicator !== 'none' && <Text>{necessityIndicator}</Text>}\n <Text>{accessibilityText}</Text>\n </VisuallyHidden>\n );\n\n const textNode = (\n <BaseBox\n gap={necessityIndicator === 'optional' ? 'spacing.2' : 'spacing.0'}\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n // flexWrap=\"wrap\"\n maxHeight={makeSpace(sizeToken[36])}\n >\n <Text\n variant=\"body\"\n size={labelTextSize[isLabelLeftPositioned ? 'left' : 'top'][size]}\n color={isLabelLeftPositioned ? 'surface.text.gray.subtle' : 'surface.text.gray.muted'}\n truncateAfterLines={2}\n weight=\"semibold\"\n wordBreak={isLabelLeftPositioned ? 'break-word' : undefined}\n >\n {children}\n </Text>\n {computedAccessibilityNode}\n {/* TODO: Hide from screen readers to prevent double announcement */}\n {necessityLabel}\n </BaseBox>\n );\n\n // What harm can it do?\n if (isReactNative) {\n return (\n <BaseBox marginRight=\"spacing.5\" marginBottom=\"spacing.2\">\n {textNode}\n </BaseBox>\n );\n }\n\n const Component = as;\n // only set 120px label when device is desktop\n const width = isLabelLeftPositioned && isDesktop ? makeSize(labelWidth[size]) : 'auto';\n\n return (\n <Component\n htmlFor={htmlFor}\n style={{\n width,\n flexShrink: 0,\n marginRight: isLabelLeftPositioned\n ? makeSpace(getIn(theme, labelLeftMarginRight[size]))\n : makeSpace(getIn(theme, 'spacing.0')),\n }}\n id={id}\n {...metaAttribute({ name: MetaConstants.FormLabel })}\n >\n <BaseBox marginBottom={isLabelLeftPositioned ? 'spacing.0' : labelMarginBottom[size]}>\n {textNode}\n </BaseBox>\n </Component>\n );\n};\n\nexport { FormLabel };\n"],"names":["FormLabel","_ref","_ref$as","as","_ref$position","position","_ref$necessityIndicat","necessityIndicator","accessibilityText","children","id","htmlFor","_ref$size","size","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isDesktop","isReactNative","getPlatformType","necessityLabel","isLabelLeftPositioned","_jsx","Text","variant","labelOptionalIndicatorTextSize","color","alignSelf","computedAccessibilityNode","_jsxs","VisuallyHidden","textNode","BaseBox","gap","display","flexDirection","alignItems","maxHeight","makeSpace","sizeToken","labelTextSize","truncateAfterLines","weight","wordBreak","undefined","marginRight","marginBottom","Component","width","makeSize","labelWidth","_objectSpread","style","flexShrink","getIn","labelLeftMarginRight","metaAttribute","name","MetaConstants","labelMarginBottom"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAS2B;AAAA,EAAA,IAAAC,OAAA,GAAAD,IAAA,CARxCE,EAAE;AAAFA,IAAAA,EAAE,GAAAD,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;IAAAE,aAAA,GAAAH,IAAA,CACXI,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,qBAAA,GAAAL,IAAA,CAChBM,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,qBAAA;IAC3BE,iBAAiB,GAAAP,IAAA,CAAjBO,iBAAiB;IACjBC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,EAAE,GAAAT,IAAA,CAAFS,EAAE;IACFC,OAAO,GAAAV,IAAA,CAAPU,OAAO;IAAAC,SAAA,GAAAX,IAAA,CACPY,IAAI;AAAJA,IAAAA,MAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA,CAAA;AAEf,EAAA,IAAAE,SAAA,GAAkBC,QAAQ,EAAE;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK,CAAA;EACb,IAAAC,cAAA,GAA8BC,aAAa,CAAC;MAAEC,WAAW,EAAEH,KAAK,CAACG,WAAAA;AAAY,KAAC,CAAC;IAAvEC,iBAAiB,GAAAH,cAAA,CAAjBG,iBAAiB,CAAA;AACzB,EAAA,IAAMC,SAAS,GAAGD,iBAAiB,KAAK,SAAS,CAAA;AACjD,EAAA,IAAME,aAAa,GAAGC,eAAe,EAAE,KAAK,cAAc,CAAA;EAE1D,IAAIC,cAA+B,GAAG,IAAI,CAAA;AAE1C,EAAA,IAAMC,qBAAqB,GAAGpB,QAAQ,KAAK,MAAM,IAAIgB,SAAS,CAAA;EAE9D,IAAId,kBAAkB,KAAK,UAAU,EAAE;IACrCiB,cAAc,gBACZE,GAAA,CAACC,IAAI,EAAA;AACHC,MAAAA,OAAO,EAAC,SAAS;AACjBf,MAAAA,IAAI,EAAEgB,8BAA8B,CAAChB,MAAI,CAAE;AAC3CiB,MAAAA,KAAK,EAAC,yBAAyB;AAAArB,MAAAA,QAAA,EAChC,YAAA;AAED,KAAM,CACP,CAAA;AACH,GAAA;EACA,IAAIF,kBAAkB,KAAK,UAAU,EAAE;IACrCiB,cAAc,gBACZE,GAAA,CAACC,IAAI,EAAA;AACHC,MAAAA,OAAO,EAAC,MAAM;AACdf,MAAAA,IAAI,EAAEY,qBAAqB,GAAG,QAAQ,GAAG,OAAQ;AACjDK,MAAAA,KAAK,EAAC,gCAAgC;AACtCC,MAAAA,SAAS,EAAC,YAAY;AAAAtB,MAAAA,QAAA,EACvB,GAAA;AAED,KAAM,CACP,CAAA;AACH,GAAA;AAEA,EAAA,IAAMuB,yBAAyB,gBAC7BC,IAAA,CAACC,cAAc,EAAA;AAAAzB,IAAAA,QAAA,GACZF,kBAAkB,KAAK,MAAM,iBAAImB,GAAA,CAACC,IAAI,EAAA;AAAAlB,MAAAA,QAAA,EAAEF,kBAAAA;AAAkB,KAAO,CAAC,eACnEmB,GAAA,CAACC,IAAI,EAAA;AAAAlB,MAAAA,QAAA,EAAED,iBAAAA;AAAiB,KAAO,CAAC,CAAA;AAAA,GAClB,CACjB,CAAA;AAED,EAAA,IAAM2B,QAAQ,gBACZF,IAAA,CAACG,OAAO,EAAA;AACNC,IAAAA,GAAG,EAAE9B,kBAAkB,KAAK,UAAU,GAAG,WAAW,GAAG,WAAY;AACnE+B,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,aAAa,EAAC,KAAK;AACnBC,IAAAA,UAAU,EAAC,QAAA;AACX;AAAA;AACAC,IAAAA,SAAS,EAAEC,SAAS,CAACC,IAAS,CAAC,EAAE,CAAC,CAAE;IAAAlC,QAAA,EAAA,cAEpCiB,GAAA,CAACC,IAAI,EAAA;AACHC,MAAAA,OAAO,EAAC,MAAM;MACdf,IAAI,EAAE+B,aAAa,CAACnB,qBAAqB,GAAG,MAAM,GAAG,KAAK,CAAC,CAACZ,MAAI,CAAE;AAClEiB,MAAAA,KAAK,EAAEL,qBAAqB,GAAG,0BAA0B,GAAG,yBAA0B;AACtFoB,MAAAA,kBAAkB,EAAE,CAAE;AACtBC,MAAAA,MAAM,EAAC,UAAU;AACjBC,MAAAA,SAAS,EAAEtB,qBAAqB,GAAG,YAAY,GAAGuB,SAAU;AAAAvC,MAAAA,QAAA,EAE3DA,QAAAA;AAAQ,KACL,CAAC,EACNuB,yBAAyB,EAEzBR,cAAc,CAAA;AAAA,GACR,CACV,CAAA;;AAED;AACA,EAAA,IAAIF,aAAa,EAAE;IACjB,oBACEI,GAAA,CAACU,OAAO,EAAA;AAACa,MAAAA,WAAW,EAAC,WAAW;AAACC,MAAAA,YAAY,EAAC,WAAW;AAAAzC,MAAAA,QAAA,EACtD0B,QAAAA;AAAQ,KACF,CAAC,CAAA;AAEd,GAAA;EAEA,IAAMgB,SAAS,GAAGhD,EAAE,CAAA;AACpB;AACA,EAAA,IAAMiD,KAAK,GAAG3B,qBAAqB,IAAIJ,SAAS,GAAGgC,QAAQ,CAACC,UAAU,CAACzC,MAAI,CAAC,CAAC,GAAG,MAAM,CAAA;AAEtF,EAAA,oBACEa,GAAA,CAACyB,SAAS,EAAAI,aAAA,CAAAA,aAAA,CAAA;AACR5C,IAAAA,OAAO,EAAEA,OAAQ;AACjB6C,IAAAA,KAAK,EAAE;AACLJ,MAAAA,KAAK,EAALA,KAAK;AACLK,MAAAA,UAAU,EAAE,CAAC;MACbR,WAAW,EAAExB,qBAAqB,GAC9BiB,SAAS,CAACgB,KAAK,CAAC1C,KAAK,EAAE2C,oBAAoB,CAAC9C,MAAI,CAAC,CAAC,CAAC,GACnD6B,SAAS,CAACgB,KAAK,CAAC1C,KAAK,EAAE,WAAW,CAAC,CAAA;KACvC;AACFN,IAAAA,EAAE,EAAEA,EAAAA;AAAG,GAAA,EACHkD,aAAa,CAAC;IAAEC,IAAI,EAAEC,aAAa,CAAC9D,SAAAA;AAAU,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;IAAAS,QAAA,eAEpDiB,GAAA,CAACU,OAAO,EAAA;MAACc,YAAY,EAAEzB,qBAAqB,GAAG,WAAW,GAAGsC,iBAAiB,CAAClD,MAAI,CAAE;AAAAJ,MAAAA,QAAA,EAClF0B,QAAAA;KACM,CAAA;AAAC,GAAA,CACD,CAAC,CAAA;AAEhB;;;;"}
|
|
1
|
+
{"version":3,"file":"FormLabel.js","sources":["../../../../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["import React from 'react';\nimport {\n labelLeftMarginRight,\n labelMarginBottom,\n labelOptionalIndicatorTextSize,\n labelTextSize,\n labelWidth,\n} from './formTokens';\nimport { VisuallyHidden } from '~components/VisuallyHidden';\nimport { Text } from '~components/Typography';\nimport { getPlatformType, makeSize, useBreakpoint } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { useTheme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\nimport { size as sizeToken } from '~tokens/global';\nimport getIn from '~utils/lodashButBetter/get';\n\ntype CommonProps = {\n as: 'span' | 'label';\n position?: 'top' | 'left';\n necessityIndicator?: 'required' | 'optional' | 'none';\n accessibilityText?: string;\n children: string | undefined;\n id?: string;\n /**\n * Sets the size of the label\n * @default medium\n */\n size?: 'small' | 'medium' | 'large';\n labelSuffix?: React.ReactNode;\n labelTrailing?: React.ReactNode;\n};\n\ntype LabelProps = CommonProps & {\n htmlFor: string;\n as: 'label';\n};\n\ntype SpanProps = CommonProps & {\n as: 'span';\n htmlFor?: undefined;\n};\n\ntype FormLabelProps = LabelProps | SpanProps;\n\nexport type FormInputLabelProps = {\n /**\n * Label to be shown for the input field\n */\n label?: string;\n /**\n * Desktop only prop. Default value on mobile will be `top`\n */\n labelPosition?: 'left' | 'top';\n /**\n * Displays `(optional)` when `optional` is passed or `*` when `required` is passed\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n\n /**\n * Suffix element to be shown for the input field\n *\n * @example\n * ```jsx\n * labelSuffix={\n * <Tooltip content=\"This is a tooltip\" placement=\"right\">\n * <TooltipInteractiveWrapper>\n * <InfoIcon size=\"small\" color=\"surface.icon.gray.subtle\" />\n * </TooltipInteractiveWrapper>\n * </Tooltip>\n * }\n * ```\n */\n labelSuffix?: React.ReactNode;\n\n /**\n * Trailing element to be shown for the input field\n */\n labelTrailing?: React.ReactNode;\n};\n\nconst FormLabel = ({\n as = 'span',\n position = 'top',\n necessityIndicator = 'none',\n accessibilityText,\n children,\n id,\n htmlFor,\n size = 'medium',\n labelSuffix,\n labelTrailing,\n}: FormLabelProps): React.ReactElement => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isDesktop = matchedDeviceType === 'desktop';\n const isReactNative = getPlatformType() === 'react-native';\n\n let necessityLabel: React.ReactNode = null;\n\n const isLabelLeftPositioned = position === 'left' && isDesktop;\n\n if (necessityIndicator === 'optional') {\n necessityLabel = (\n <Text\n variant=\"caption\"\n size={labelOptionalIndicatorTextSize[size]}\n color=\"surface.text.gray.muted\"\n >\n (optional)\n </Text>\n );\n }\n if (necessityIndicator === 'required') {\n necessityLabel = (\n <Text\n variant=\"body\"\n size={isLabelLeftPositioned ? 'medium' : 'small'}\n color=\"feedback.text.negative.intense\"\n alignSelf=\"flex-start\"\n >\n *\n </Text>\n );\n }\n\n const computedAccessibilityNode = (\n <VisuallyHidden>\n {necessityIndicator !== 'none' && <Text>{necessityIndicator}</Text>}\n <Text>{accessibilityText}</Text>\n </VisuallyHidden>\n );\n\n const textNode = (\n <BaseBox\n gap={necessityIndicator === 'optional' ? 'spacing.2' : 'spacing.0'}\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n // flexWrap=\"wrap\"\n maxHeight={makeSpace(sizeToken[36])}\n >\n <Text\n variant=\"body\"\n size={labelTextSize[isLabelLeftPositioned ? 'left' : 'top'][size]}\n color={isLabelLeftPositioned ? 'surface.text.gray.subtle' : 'surface.text.gray.muted'}\n truncateAfterLines={2}\n weight=\"semibold\"\n wordBreak={isLabelLeftPositioned ? 'break-word' : undefined}\n >\n {children}\n </Text>\n {computedAccessibilityNode}\n {/* TODO: Hide from screen readers to prevent double announcement */}\n {necessityLabel}\n </BaseBox>\n );\n\n // What harm can it do?\n if (isReactNative) {\n return (\n <BaseBox marginRight=\"spacing.5\" marginBottom=\"spacing.2\">\n {textNode}\n </BaseBox>\n );\n }\n\n const Component = as;\n // only set 120px label when device is desktop\n const width = isLabelLeftPositioned && isDesktop ? makeSize(labelWidth[size]) : '100%';\n\n return (\n <Component\n htmlFor={htmlFor}\n style={{\n width,\n flexShrink: 0,\n marginRight: isLabelLeftPositioned\n ? makeSpace(getIn(theme, labelLeftMarginRight[size]))\n : makeSpace(getIn(theme, 'spacing.0')),\n }}\n id={id}\n {...metaAttribute({ name: MetaConstants.FormLabel })}\n >\n <BaseBox\n width=\"100%\"\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n alignItems={isLabelLeftPositioned ? 'flex-start' : 'center'}\n marginBottom={isLabelLeftPositioned ? 'spacing.0' : labelMarginBottom[size]}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" alignItems=\"center\" gap=\"spacing.2\">\n <BaseBox>{textNode}</BaseBox>\n {labelSuffix ? <BaseBox display=\"flex\">{labelSuffix}</BaseBox> : null}\n </BaseBox>\n {labelTrailing ? (\n <BaseBox marginLeft={isLabelLeftPositioned ? 'spacing.0' : 'auto'}>\n {labelTrailing}\n </BaseBox>\n ) : null}\n </BaseBox>\n </Component>\n );\n};\n\nexport { FormLabel };\n"],"names":["FormLabel","_ref","_ref$as","as","_ref$position","position","_ref$necessityIndicat","necessityIndicator","accessibilityText","children","id","htmlFor","_ref$size","size","labelSuffix","labelTrailing","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isDesktop","isReactNative","getPlatformType","necessityLabel","isLabelLeftPositioned","_jsx","Text","variant","labelOptionalIndicatorTextSize","color","alignSelf","computedAccessibilityNode","_jsxs","VisuallyHidden","textNode","BaseBox","gap","display","flexDirection","alignItems","maxHeight","makeSpace","sizeToken","labelTextSize","truncateAfterLines","weight","wordBreak","undefined","marginRight","marginBottom","Component","width","makeSize","labelWidth","_objectSpread","style","flexShrink","getIn","labelLeftMarginRight","metaAttribute","name","MetaConstants","labelMarginBottom","marginLeft"],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ import { makeSize } from '../../../utils/makeSize/makeSize.js';
|
|
|
48
48
|
import { FormHint } from '../../Form/FormHint.js';
|
|
49
49
|
import { assignWithoutSideEffects } from '../../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
50
50
|
|
|
51
|
-
var _excluded = ["as", "label", "labelPosition", "placeholder", "type", "defaultValue", "tags", "showAllTags", "activeTagIndex", "setActiveTagIndex", "name", "value", "onFocus", "onChange", "onInput", "onBlur", "onSubmit", "onClick", "onKeyDown", "isDisabled", "necessityIndicator", "validationState", "errorText", "helpText", "successText", "isRequired", "leadingIcon", "prefix", "trailingInteractionElement", "onTrailingInteractionElementClick", "leadingInteractionElement", "suffix", "trailingIcon", "maxCharacters", "textAlign", "autoFocus", "keyboardReturnKeyType", "keyboardType", "autoCompleteSuggestionType", "trailingHeaderSlot", "trailingFooterSlot", "numberOfLines", "id", "componentName", "accessibilityLabel", "labelId", "activeDescendant", "hideLabelText", "hideFormHint", "hasPopup", "popupId", "isPopupExpanded", "maxTagRows", "shouldIgnoreBlurAnimation", "setShouldIgnoreBlurAnimation", "autoCapitalize", "setInputWrapperRef", "testID", "isDropdownTrigger", "isLabelInsideInput", "size", "trailingButton", "valueComponentType", "isTableInputCell", "showHintsAsTooltip", "_motionMeta", "role", "tabIndex", "leadingDropDown", "trailingDropDown"];
|
|
51
|
+
var _excluded = ["as", "label", "labelPosition", "placeholder", "type", "defaultValue", "tags", "showAllTags", "activeTagIndex", "setActiveTagIndex", "name", "value", "onFocus", "onChange", "onInput", "onBlur", "onSubmit", "onClick", "onKeyDown", "isDisabled", "necessityIndicator", "validationState", "errorText", "helpText", "successText", "isRequired", "leadingIcon", "prefix", "trailingInteractionElement", "onTrailingInteractionElementClick", "leadingInteractionElement", "suffix", "trailingIcon", "maxCharacters", "textAlign", "autoFocus", "keyboardReturnKeyType", "keyboardType", "autoCompleteSuggestionType", "trailingHeaderSlot", "trailingFooterSlot", "numberOfLines", "id", "componentName", "accessibilityLabel", "labelId", "activeDescendant", "hideLabelText", "hideFormHint", "hasPopup", "popupId", "isPopupExpanded", "maxTagRows", "shouldIgnoreBlurAnimation", "setShouldIgnoreBlurAnimation", "autoCapitalize", "setInputWrapperRef", "testID", "isDropdownTrigger", "isLabelInsideInput", "size", "trailingButton", "valueComponentType", "isTableInputCell", "showHintsAsTooltip", "_motionMeta", "role", "tabIndex", "leadingDropDown", "trailingDropDown", "labelSuffix", "labelTrailing"];
|
|
52
52
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
53
53
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
54
54
|
var autoCompleteSuggestionTypeValues = ['none', 'on', 'name', 'email', 'username', 'password', 'newPassword', 'oneTimeCode', 'telephone', 'postalCode', 'countryName', 'creditCardNumber', 'creditCardCSC', 'creditCardExpiry', 'creditCardExpiryMonth', 'creditCardExpiryYear'];
|
|
@@ -384,6 +384,8 @@ var _BaseInput = function _BaseInput(_ref12, ref) {
|
|
|
384
384
|
tabIndex = _ref12.tabIndex,
|
|
385
385
|
leadingDropDown = _ref12.leadingDropDown,
|
|
386
386
|
trailingDropDown = _ref12.trailingDropDown,
|
|
387
|
+
labelSuffix = _ref12.labelSuffix,
|
|
388
|
+
labelTrailing = _ref12.labelTrailing,
|
|
387
389
|
rest = _objectWithoutProperties(_ref12, _excluded);
|
|
388
390
|
var _useTheme = useTheme(),
|
|
389
391
|
theme = _useTheme.theme;
|
|
@@ -494,7 +496,7 @@ var _BaseInput = function _BaseInput(_ref12, ref) {
|
|
|
494
496
|
display: "flex",
|
|
495
497
|
flexDirection: isLabelLeftPositioned ? 'column' : 'row',
|
|
496
498
|
justifyContent: "space-between",
|
|
497
|
-
alignSelf: isTextArea ? 'flex-start' : undefined,
|
|
499
|
+
alignSelf: isTextArea && isLabelLeftPositioned ? 'flex-start' : undefined,
|
|
498
500
|
marginY: isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0',
|
|
499
501
|
children: [/*#__PURE__*/jsx(FormLabel, {
|
|
500
502
|
as: "label",
|
|
@@ -503,6 +505,8 @@ var _BaseInput = function _BaseInput(_ref12, ref) {
|
|
|
503
505
|
id: labelId,
|
|
504
506
|
htmlFor: inputId,
|
|
505
507
|
size: _size,
|
|
508
|
+
labelSuffix: labelSuffix,
|
|
509
|
+
labelTrailing: labelTrailing,
|
|
506
510
|
children: label
|
|
507
511
|
}), trailingHeaderSlot === null || trailingHeaderSlot === void 0 ? void 0 : trailingHeaderSlot(value !== null && value !== void 0 ? value : inputValue)]
|
|
508
512
|
}), /*#__PURE__*/jsx(FocusRingWrapper, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInput.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { BaseInputTagSlot } from './BaseInputTagSlot';\nimport type { InputWrapperRef } from './types';\nimport { baseInputBorderBackgroundMotion, formHintLeftLabelMarginLeft } from './baseInputTokens';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '~components/Form';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport {\n castWebType,\n getPlatformType,\n isReactNative,\n makeBorderSize,\n makeMotionTime,\n useBreakpoint,\n} from '~utils';\nimport type { Platform } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~utils/useInteraction';\nimport type { ActionStates } from '~utils/useInteraction';\nimport type {\n FormInputHandleOnClickEvent,\n FormInputHandleOnKeyDownEvent,\n} from '~components/Form/FormTypes';\nimport type {\n BladeElementRef,\n ContainerElementType,\n DataAnalyticsAttribute,\n TestID,\n} from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AriaAttributes } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport { announce } from '~components/LiveAnnouncer/LiveAnnouncer';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { LinkProps } from '~components/Link';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport getIn from '~utils/lodashButBetter/get';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport type { MotionMetaProp } from '~components/BaseMotion';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { useInputGroupContext } from '~components/InputGroup/InputGroupContext';\n\ntype CommonAutoCompleteSuggestionTypes =\n | 'none'\n | 'name'\n | 'email'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'telephone'\n | 'postalCode'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardCSC'\n | 'creditCardExpiry'\n | 'creditCardExpiryMonth'\n | 'creditCardExpiryYear';\n\ntype WebAutoCompleteSuggestionType = CommonAutoCompleteSuggestionTypes | 'on';\n\ntype BaseInputCommonProps = FormInputLabelProps &\n DataAnalyticsAttribute &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input, textarea or button\n */\n as?: 'input' | 'textarea' | 'button';\n /**\n * ID that will be used for accessibility\n */\n id: string;\n /**\n * Placeholder text to be displayed inside the input field\n */\n placeholder?: string;\n /**\n * Type of Input Field to be rendered.\n *\n * @default text\n */\n type?: 'text' | 'telephone' | 'email' | 'url' | 'number' | 'search' | 'password';\n /**\n * Used to set the default value of input field when it's uncontrolled\n */\n defaultValue?: string;\n /**\n * The name of the input field.\n *\n * Useful in form submissions\n */\n name?: string;\n /**\n * The callback function to be invoked when the input field gets focus\n */\n onFocus?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field changes\n */\n onChange?: FormInputOnEvent;\n /**\n * The callback function to be invoked when input is clicked\n */\n onClick?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field has any input\n */\n onInput?: FormInputOnEvent;\n /**\n * The callback function to be invoked whenever there is a keyDown event\n */\n onKeyDown?: FormInputHandleOnKeyDownEvent;\n /**\n * The callback function to be invoked when the the input field loses focus\n *\n * For React Native this will call `onEndEditing` event since we want to get the last value of the input field\n */\n onBlur?: FormInputOnEvent;\n /**\n * Ignores the blur event animation (Used in Select to ignore blur animation when item in option is clicked)\n */\n shouldIgnoreBlurAnimation?: boolean;\n /**\n * sets boolean that ignores the blur animations on baseinput\n */\n setShouldIgnoreBlurAnimation?: (shouldIgnoreBlurAnimation: boolean) => void;\n /**\n * Used to turn the input field to controlled so user can control the value\n */\n value?: string;\n /**\n * Used to disable the input field\n */\n isDisabled?: boolean;\n /**\n * If true, the input is marked as required, and `required` attribute will be added\n */\n isRequired?: boolean;\n /**\n * Icon to be shown at the start of the input field\n */\n leadingIcon?: IconComponent;\n /**\n * Prefix symbol to be displayed at the beginning of the input field. If leadingIcon is provided it'll be placed after it\n */\n prefix?: string;\n /**\n * Element to be rendered before suffix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a loader or they could render a clear button\n */\n trailingInteractionElement?: ReactNode;\n /**\n * Callback to be invoked when the TrailingInteractionElement is clicked\n */\n onTrailingInteractionElementClick?: () => void;\n /**\n * Element to be rendered before prefix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a country selector or button\n */\n leadingInteractionElement?: ReactNode;\n /**\n * Leading DropDown to be rendered at Prefix slot\n */\n leadingDropDown?: ReactNode;\n /**\n * Trailing DropDown to be rendered at Suffix slot\n */\n trailingDropDown?: ReactNode;\n /**\n * Suffix symbol to be displayed at the end of the input field. If trailingIcon is provided it'll be placed before it\n */\n suffix?: string;\n /**\n * Icon to be displayed at the end of the input field\n */\n trailingIcon?: IconComponent;\n /**\n * Displays the character counter under the input field\n */\n maxCharacters?: number;\n /**\n * alignment of the text inside input field\n */\n textAlign?: 'left' | 'center' | 'right';\n /**\n * If true, focuses the input field on load\n *\n * **Note:**\n * Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments.\n * When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n */\n autoFocus?: boolean;\n /**\n * Hints the platform to display an appropriate virtual keyboard\n *\n * **Native:** Passes as is the `keyboardType` attribute\n *\n * **Web:** Passes the value to the `inputMode` attribute\n */\n keyboardType?: 'text' | 'search' | 'telephone' | 'email' | 'url' | 'decimal';\n /**\n * determines what return key to show on the keyboard of mobile devices/virtual keyboard\n * **Note**: Few values are platform dependent and might not render on all the platforms\n *\n * `default` is only available on native. it'll be mapped to `enter` for web\n * `previous` is only available on native android\n */\n keyboardReturnKeyType?: 'default' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send';\n /**\n * Element to be rendered on the trailing slot of input field label\n */\n trailingHeaderSlot?: (value?: string) => ReactNode;\n /**\n * Element to be rendered on the trailing slot of input field footer\n */\n trailingFooterSlot?: (value?: string) => ReactNode;\n /**\n * Sets the textarea's number of lines\n */\n numberOfLines?: 1 | 2 | 3 | 4 | 5;\n /**\n * Sets the accessibility label for the input\n */\n accessibilityLabel?: string;\n /**\n * Sets the id of the label\n *\n * (Useful when assigning one label to multiple elements using aria-labelledby)\n */\n labelId?: string;\n /**\n * Can be used in select to set the id of the active descendant from the listbox\n */\n activeDescendant?: string;\n /**\n * Hides the label text\n */\n hideLabelText?: boolean;\n /**\n * Hides the form hint text\n */\n hideFormHint?: boolean;\n /**\n * componentName prop sets the data-blade-component attribute name\n * for internal metric collection purposes\n */\n componentName?: string;\n /**\n * whether the input has a popup\n */\n hasPopup?: AriaAttributes['hasPopup'];\n /**\n * id of the popup\n */\n popupId?: string;\n /**\n * true if popup is in expanded state\n */\n isPopupExpanded?: boolean;\n setInputWrapperRef?: (node: ContainerElementType) => void;\n /**\n * sets the autocapitalize behavior for the input\n */\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n\n /**\n * constraints the height of input to given number rows\n *\n * When set to expandable, input takes 1 row in the begining and expands to take 3 when active\n *\n * @default 'single'\n */\n maxTagRows?: 'single' | 'multiple' | 'expandable';\n\n /**\n * A slot for adding tags to input\n */\n tags?: React.ReactElement[] | null;\n\n /**\n * Disables stripping of tags and shows all tags\n */\n showAllTags?: boolean;\n\n /**\n * State variable of active tag index\n */\n activeTagIndex?: number;\n\n /**\n * Is this input SelectInput or AutoComplete\n */\n isDropdownTrigger?: boolean;\n\n /**\n * Is the label expected to be rendered inside input?\n * Used in AutoComplete and Select when label can't exist outside\n *\n */\n isLabelInsideInput?: boolean;\n\n /**\n * State setter for active tag index\n */\n setActiveTagIndex?: (activeTagIndex: number) => void;\n /**\n * Sets the size of the input field\n * @default medium\n */\n size?: 'medium' | 'large';\n /**\n * Link button to be rendered at the end of the input field.\n * **Note:** `size` of the Link will be set to the same size as the input field, `isDisabled` will follow Input's `isDisabled`, & `variant` will be set to `button`.\n * Example:\n * ```tsx\n * trailingButton={<Link onClick={handleClick}>Apply</Link>}\n * ```\n */\n trailingButton?: React.ReactElement<LinkProps>;\n /**\n * Whether to use Text or Heading component for Input text\n * @default text\n **/\n valueComponentType?: 'text' | 'heading';\n /**\n * Whether to render the input as a table cell\n * @default true\n **/\n isTableInputCell?: boolean;\n /**\n * Hides the form hints and shows them as tooltip of trailing\n */\n showHintsAsTooltip?: boolean;\n\n role?: AriaAttributes['role'];\n\n /**\n * Tab Index of the input field\n *\n * @default undefined\n */\n tabIndex?: number;\n } & TestID &\n Platform.Select<{\n native: {\n /**\n * The callback function to be invoked when the value of the input field is submitted.\n */\n onSubmit?: FormInputOnEvent;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: CommonAutoCompleteSuggestionTypes;\n };\n web: {\n /**\n * This is a react-native only prop and has no effect on web.\n */\n onSubmit?: undefined;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: WebAutoCompleteSuggestionType;\n };\n }> &\n StyledPropsBlade &\n MotionMetaProp;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype BaseInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype BaseInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\nexport type BaseInputProps = (BaseInputPropsWithA11yLabel | BaseInputPropsWithLabel) &\n BaseInputCommonProps;\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'on',\n 'name',\n 'email',\n 'username',\n 'password',\n 'newPassword',\n 'oneTimeCode',\n 'telephone',\n 'postalCode',\n 'countryName',\n 'creditCardNumber',\n 'creditCardCSC',\n 'creditCardExpiry',\n 'creditCardExpiryMonth',\n 'creditCardExpiryYear',\n];\n\ntype OnInputKeydownTagHandlerType = (key: string | undefined) => void;\nconst useTags = (\n tags: BaseInputProps['tags'],\n activeTagIndex: number,\n setActiveTagIndex?: (activeTagIndex: number) => void,\n): {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n visibleTagsCountRef: React.MutableRefObject<number>;\n} => {\n const visibleTagsCountRef = React.useRef<number>(0);\n\n React.useEffect(() => {\n if (tags && activeTagIndex >= 0 && activeTagIndex < tags.length) {\n const tagTitle = tags[activeTagIndex]?.props?.children;\n if (tagTitle) {\n announce(`Close ${tagTitle} Tag`);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTagIndex, tags?.length]);\n\n const onTagLeft = (): void => {\n if (activeTagIndex < 0) {\n setActiveTagIndex?.(visibleTagsCountRef.current - 1);\n }\n\n if (activeTagIndex > 0) {\n setActiveTagIndex?.(activeTagIndex - 1);\n }\n };\n\n const onTagRight = (): void => {\n if (activeTagIndex < visibleTagsCountRef.current - 1) {\n setActiveTagIndex?.(activeTagIndex + 1);\n }\n };\n\n const onTagRemove = (): void => {\n if (activeTagIndex >= 0 && activeTagIndex < visibleTagsCountRef.current && tags) {\n tags[activeTagIndex].props.onDismiss({ tagIndex: activeTagIndex });\n }\n };\n\n const onInputKeydownTagHandler: OnInputKeydownTagHandlerType = (key) => {\n if (tags && tags.length > 0) {\n if (key === 'ArrowRight') {\n onTagRight();\n }\n\n if (key === 'ArrowLeft') {\n onTagLeft();\n }\n\n if (key === 'Backspace') {\n onTagRemove();\n }\n }\n };\n\n return {\n onInputKeydownTagHandler,\n visibleTagsCountRef,\n };\n};\n\nconst useInput = ({\n value,\n defaultValue,\n onClick,\n onFocus,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n}: Pick<\n BaseInputProps,\n | 'value'\n | 'defaultValue'\n | 'onFocus'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'onClick'\n | 'onSubmit'\n> & {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n}): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnClick: FormInputHandleOnClickEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnSubmit: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (__DEV__) {\n if (value && defaultValue) {\n throwBladeError({\n message: `Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n moduleName: 'Input',\n });\n }\n }\n\n const [inputValue, setInputValue] = React.useState(defaultValue ?? value);\n\n const handleOnFocus: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onFocus?.({\n name,\n value: _value,\n });\n },\n [onFocus],\n );\n\n const handleOnClick: FormInputHandleOnClickEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.currentTarget.value ?? '';\n }\n\n onClick?.({\n name,\n value: _value,\n });\n },\n [onClick],\n );\n\n const handleOnSubmit: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n //@ts-ignore need to ignore this since it will throw a TS error for web but not for native\n onSubmit?.({\n name,\n value: _value,\n });\n }\n },\n [onSubmit],\n );\n\n const handleOnBlur: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onBlur?.({\n name,\n value: _value,\n });\n },\n [onBlur],\n );\n\n const handleOnChange: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onChange?.({\n name,\n value: _value,\n });\n setInputValue(_value);\n },\n [onChange],\n );\n\n const handleOnInput: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onInput?.({\n name,\n value: _value,\n });\n },\n [onInput],\n );\n\n const handleOnKeyDown: FormInputHandleOnKeyDownEvent = React.useCallback(\n ({ name, key, code, event }) => {\n onInputKeydownTagHandler(key);\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnClick,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n };\n};\n\nexport const getHintType = ({\n validationState,\n hasHelpText,\n}: {\n validationState: BaseInputProps['validationState'];\n hasHelpText: boolean;\n}): FormHintProps['type'] => {\n if (validationState === 'error') {\n return 'error';\n }\n\n if (validationState === 'success') {\n return 'success';\n }\n\n if (hasHelpText) {\n return 'help';\n }\n\n return 'help';\n};\n\nconst getDescribedByElementId = ({\n validationState,\n hasErrorText,\n hasSuccessText,\n hasHelpText,\n errorTextId,\n successTextId,\n helpTextId,\n}: {\n validationState: BaseInputProps['validationState'];\n hasErrorText: boolean;\n hasSuccessText: boolean;\n hasHelpText: boolean;\n errorTextId: string;\n successTextId: string;\n helpTextId: string;\n}): string => {\n if (validationState === 'error' && hasErrorText) {\n return errorTextId;\n }\n\n if (validationState === 'success' && hasSuccessText) {\n return successTextId;\n }\n\n if (hasHelpText) {\n return helpTextId;\n }\n\n return '';\n};\n\nconst FocusRingWrapper = styled(BaseBox)<{\n currentInteraction: ActionStates;\n isTableInputCell: NonNullable<BaseInputProps['isTableInputCell']>;\n className: string;\n}>(({ theme, currentInteraction, isTableInputCell }) => ({\n borderRadius: makeBorderSize(\n isTableInputCell ? theme.border.radius.none : theme.border.radius.medium,\n ),\n width: '100%',\n '&:focus-within': !isTableInputCell\n ? {\n ...getFocusRingStyles({\n theme,\n }),\n transitionDuration: castWebType(\n makeMotionTime(\n getIn(\n theme.motion.duration,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .duration,\n ),\n ),\n ),\n transitionTimingFunction: castWebType(\n theme.motion.easing[\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .easing\n ],\n ),\n }\n : {},\n}));\n\nconst _BaseInput: React.ForwardRefRenderFunction<BladeElementRef, BaseInputProps> = (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n tags,\n showAllTags = false,\n activeTagIndex = -1,\n setActiveTagIndex,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onSubmit,\n onClick,\n onKeyDown,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n onTrailingInteractionElementClick,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n maxCharacters,\n textAlign,\n autoFocus,\n keyboardReturnKeyType,\n keyboardType,\n autoCompleteSuggestionType,\n trailingHeaderSlot,\n trailingFooterSlot,\n numberOfLines,\n id,\n componentName,\n accessibilityLabel,\n labelId,\n activeDescendant,\n hideLabelText,\n hideFormHint,\n hasPopup,\n popupId,\n isPopupExpanded,\n maxTagRows,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n autoCapitalize,\n setInputWrapperRef,\n testID,\n isDropdownTrigger,\n isLabelInsideInput,\n size = 'medium',\n trailingButton,\n valueComponentType = 'text',\n isTableInputCell = false,\n showHintsAsTooltip = false,\n _motionMeta,\n role,\n tabIndex,\n leadingDropDown,\n trailingDropDown,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const inputRef = React.useRef<BladeElementRef>(null);\n const mergedInputRef = useMergeRefs(ref, inputRef);\n const inputWrapperRef: InputWrapperRef = React.useRef(null);\n const { onInputKeydownTagHandler, visibleTagsCountRef } = useTags(\n tags,\n activeTagIndex,\n setActiveTagIndex,\n );\n const [showAllTagsWithAnimation, setShowAllTagsWithAnimation] = React.useState(false);\n const isReactNative = getPlatformType() === 'react-native';\n const defaultRole = hasPopup ? 'combobox' : undefined;\n\n const inputGroupProps = useInputGroupContext();\n const { isInsideInputGroup } = inputGroupProps;\n const _isDisabled = inputGroupProps.isDisabled ?? isDisabled;\n const _size = inputGroupProps.size ?? size;\n\n React.useEffect(() => {\n if (showAllTags) {\n setShowAllTagsWithAnimation(true);\n } else if (maxTagRows !== 'expandable') {\n setShowAllTagsWithAnimation(false);\n }\n }, [showAllTags, maxTagRows]);\n\n const {\n handleOnFocus,\n handleOnChange,\n handleOnClick,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onClick,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n });\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId(id);\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n const { currentInteraction, setCurrentInteraction } = useInteraction();\n const _isRequired = isRequired || necessityIndicator === 'required';\n\n const accessibilityProps = makeAccessible({\n required: Boolean(_isRequired),\n disabled: Boolean(_isDisabled),\n invalid: Boolean(validationState === 'error'),\n describedBy: getDescribedByElementId({\n validationState,\n hasErrorText: Boolean(errorText),\n hasSuccessText: Boolean(successText),\n hasHelpText: Boolean(helpText),\n errorTextId,\n successTextId,\n helpTextId,\n }),\n label: accessibilityLabel,\n hasPopup,\n expanded: hasPopup ? isPopupExpanded : undefined,\n controls: hasPopup ? popupId : undefined,\n role: role ?? defaultRole,\n activeDescendant,\n });\n\n const willRenderHintText =\n Boolean(helpText) ||\n (validationState === 'success' && Boolean(successText)) ||\n (validationState === 'error' && Boolean(errorText));\n\n if (__DEV__) {\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throwBladeError({\n message: `Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n moduleName: 'Input',\n });\n }\n }\n\n const isTextArea = as === 'textarea';\n return (\n <BaseBox\n ref={getOuterMotionRef({ _motionMeta, ref })}\n {...metaAttribute({ name: componentName, testID })}\n {...getStyledProps(rest)}\n >\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {/* If the input is in an input group, we don't want to render the label */}\n {!hideLabelText && !isLabelInsideInput && label && !isInsideInputGroup && (\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginY={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n htmlFor={inputId}\n size={_size}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(value ?? inputValue)}\n </BaseBox>\n )}\n <FocusRingWrapper\n currentInteraction={currentInteraction}\n isTableInputCell={isTableInputCell}\n className=\"focus-ring-wrapper\"\n >\n <BaseInputWrapper\n isDropdownTrigger={isDropdownTrigger}\n isTextArea={isTextArea}\n isDisabled={_isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n showAllTags={showAllTags}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n ref={(refNode) => {\n if (refNode) {\n setInputWrapperRef?.(refNode);\n inputWrapperRef.current = refNode;\n }\n }}\n maxTagRows={maxTagRows}\n size={_size}\n numberOfLines={numberOfLines}\n onClick={() => {\n if (!isReactNative) {\n inputRef.current?.focus();\n }\n }}\n isTableInputCell={isTableInputCell}\n >\n <BaseInputVisuals\n size={_size}\n leadingIcon={leadingIcon}\n prefix={prefix}\n isDisabled={_isDisabled}\n leadingInteractionElement={leadingInteractionElement}\n leadingDropDown={leadingDropDown}\n />\n <BaseInputTagSlot\n renderAs={as}\n tags={tags}\n isDisabled={_isDisabled}\n showAllTags={showAllTagsWithAnimation}\n setFocusOnInput={() => {\n const innerRef = getInnerMotionRef({ _motionMeta, ref });\n if (innerRef && !isReactNative && 'current' in innerRef) {\n innerRef.current?.focus();\n }\n }}\n labelPrefix={isLabelInsideInput ? label : undefined}\n isDropdownTrigger={isDropdownTrigger}\n visibleTagsCountRef={visibleTagsCountRef}\n handleOnInputClick={(e) => {\n handleOnClick({ name, value: isReactNative ? value : e });\n }}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n maxTagRows={maxTagRows}\n inputWrapperRef={inputWrapperRef}\n size={_size}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea}\n hasLeadingDropDown={Boolean(leadingDropDown)}\n >\n <StyledBaseInput\n as={as}\n id={inputId}\n ref={getInnerMotionRef({ _motionMeta, ref: mergedInputRef as any }) as never}\n name={name}\n type={type}\n defaultValue={defaultValue}\n value={value}\n placeholder={placeholder}\n isDisabled={_isDisabled}\n validationState={validationState}\n isRequired={_isRequired}\n handleOnFocus={handleOnFocus}\n handleOnChange={handleOnChange}\n handleOnBlur={handleOnBlur}\n handleOnSubmit={handleOnSubmit}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n handleOnClick={handleOnClick}\n leadingIcon={leadingIcon}\n prefix={prefix}\n trailingInteractionElement={trailingInteractionElement}\n leadingInteractionElement={leadingInteractionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n maxCharacters={maxCharacters}\n textAlign={textAlign}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n keyboardReturnKeyType={keyboardReturnKeyType}\n keyboardType={keyboardType}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n accessibilityProps={accessibilityProps}\n currentInteraction={currentInteraction}\n setCurrentInteraction={setCurrentInteraction}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea || maxTagRows === 'multiple' || maxTagRows === 'expandable'}\n hasPopup={hasPopup}\n hasTags={!!(tags && tags.length > 0)}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n autoCapitalize={autoCapitalize}\n isDropdownTrigger={isDropdownTrigger}\n $size={_size}\n valueComponentType={valueComponentType}\n isTableInputCell={isTableInputCell}\n tabIndex={tabIndex}\n hasLeadingDropdown={Boolean(leadingDropDown)}\n {...metaAttribute({ name: MetaConstants.StyledBaseInput })}\n {...makeAnalyticsAttribute(rest)}\n />\n </BaseInputTagSlot>\n <BaseInputVisuals\n trailingInteractionElement={trailingInteractionElement}\n onTrailingInteractionElementClick={onTrailingInteractionElementClick}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={_isDisabled}\n validationState={validationState}\n trailingButton={trailingButton}\n size={_size}\n errorText={errorText}\n successText={successText}\n showHintsAsTooltip={showHintsAsTooltip}\n trailingDropDown={trailingDropDown}\n />\n </BaseInputWrapper>\n </FocusRingWrapper>\n </BaseBox>\n {/* If the input is in an input group, we don't want to render the hint text */}\n {hideFormHint || showHintsAsTooltip || isInsideInputGroup ? null : (\n <BaseBox\n marginLeft={makeSize(\n isLabelLeftPositioned && !hideLabelText ? formHintLeftLabelMarginLeft[_size] : 0,\n )}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={willRenderHintText ? 'space-between' : 'flex-end'}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n size={_size}\n />\n {trailingFooterSlot?.(value ?? inputValue)}\n </BaseBox>\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst BaseInputWithRef = React.forwardRef(_BaseInput);\nconst BaseInput = assignWithoutSideEffects(BaseInputWithRef, { displayName: 'BaseInput' });\n\nexport { BaseInput };\n"],"names":["autoCompleteSuggestionTypeValues","useTags","tags","activeTagIndex","setActiveTagIndex","visibleTagsCountRef","React","useRef","useEffect","length","_tags$activeTagIndex","_tags$activeTagIndex$","tagTitle","props","children","announce","concat","onTagLeft","current","onTagRight","onTagRemove","onDismiss","tagIndex","onInputKeydownTagHandler","key","useInput","_ref","value","defaultValue","onClick","onFocus","onChange","onBlur","onSubmit","onInput","onKeyDown","throwBladeError","message","moduleName","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","handleOnFocus","useCallback","_ref2","name","_value","getPlatformType","_value$target$value","target","handleOnClick","_ref3","_value$currentTarget$","currentTarget","handleOnSubmit","_ref4","_value$target$value2","isReactNative","handleOnBlur","_ref5","_value$target$value3","handleOnChange","_ref6","_value$target$value4","handleOnInput","_ref7","_value$target$value5","handleOnKeyDown","_ref8","code","event","getHintType","_ref9","validationState","hasHelpText","getDescribedByElementId","_ref10","hasErrorText","hasSuccessText","errorTextId","successTextId","helpTextId","FocusRingWrapper","styled","BaseBox","withConfig","displayName","componentId","_ref11","theme","currentInteraction","isTableInputCell","borderRadius","makeBorderSize","border","radius","none","medium","width","_objectSpread","getFocusRingStyles","transitionDuration","castWebType","makeMotionTime","getIn","motion","duration","baseInputBorderBackgroundMotion","transitionTimingFunction","easing","_BaseInput","_ref12","ref","_inputGroupProps$isDi","_inputGroupProps$size","_ref12$as","as","label","_ref12$labelPosition","labelPosition","placeholder","_ref12$type","type","_ref12$showAllTags","showAllTags","_ref12$activeTagIndex","isDisabled","necessityIndicator","errorText","helpText","successText","isRequired","leadingIcon","prefix","trailingInteractionElement","onTrailingInteractionElementClick","leadingInteractionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","_ref12$size","size","trailingButton","_ref12$valueComponent","valueComponentType","_ref12$isTableInputCe","_ref12$showHintsAsToo","showHintsAsTooltip","_motionMeta","role","tabIndex","leadingDropDown","trailingDropDown","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","inputRef","mergedInputRef","useMergeRefs","inputWrapperRef","_useTags","_React$useState3","_React$useState4","showAllTagsWithAnimation","setShowAllTagsWithAnimation","defaultRole","undefined","inputGroupProps","useInputGroupContext","isInsideInputGroup","_isDisabled","_size","_useInput","_useFormId","useFormId","inputId","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","_useInteraction","useInteraction","setCurrentInteraction","_isRequired","accessibilityProps","makeAccessible","required","Boolean","disabled","invalid","describedBy","expanded","controls","willRenderHintText","includes","join","isTextArea","_jsxs","getOuterMotionRef","metaAttribute","getStyledProps","display","flexDirection","justifyContent","alignItems","position","alignSelf","marginY","_jsx","FormLabel","htmlFor","className","BaseInputWrapper","refNode","_inputRef$current","focus","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","innerRef","getInnerMotionRef","_innerRef$current","labelPrefix","handleOnInputClick","e","hasLeadingDropDown","StyledBaseInput","hasTags","$size","hasLeadingDropdown","MetaConstants","makeAnalyticsAttribute","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseInput.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInput.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { BaseInputTagSlot } from './BaseInputTagSlot';\nimport type { InputWrapperRef } from './types';\nimport { baseInputBorderBackgroundMotion, formHintLeftLabelMarginLeft } from './baseInputTokens';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '~components/Form';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport {\n castWebType,\n getPlatformType,\n isReactNative,\n makeBorderSize,\n makeMotionTime,\n useBreakpoint,\n} from '~utils';\nimport type { Platform } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~utils/useInteraction';\nimport type { ActionStates } from '~utils/useInteraction';\nimport type {\n FormInputHandleOnClickEvent,\n FormInputHandleOnKeyDownEvent,\n} from '~components/Form/FormTypes';\nimport type {\n BladeElementRef,\n ContainerElementType,\n DataAnalyticsAttribute,\n TestID,\n} from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AriaAttributes } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport { announce } from '~components/LiveAnnouncer/LiveAnnouncer';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { LinkProps } from '~components/Link';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport getIn from '~utils/lodashButBetter/get';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport type { MotionMetaProp } from '~components/BaseMotion';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { useInputGroupContext } from '~components/InputGroup/InputGroupContext';\n\ntype CommonAutoCompleteSuggestionTypes =\n | 'none'\n | 'name'\n | 'email'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'telephone'\n | 'postalCode'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardCSC'\n | 'creditCardExpiry'\n | 'creditCardExpiryMonth'\n | 'creditCardExpiryYear';\n\ntype WebAutoCompleteSuggestionType = CommonAutoCompleteSuggestionTypes | 'on';\n\ntype BaseInputCommonProps = FormInputLabelProps &\n DataAnalyticsAttribute &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input, textarea or button\n */\n as?: 'input' | 'textarea' | 'button';\n /**\n * ID that will be used for accessibility\n */\n id: string;\n /**\n * Placeholder text to be displayed inside the input field\n */\n placeholder?: string;\n /**\n * Type of Input Field to be rendered.\n *\n * @default text\n */\n type?: 'text' | 'telephone' | 'email' | 'url' | 'number' | 'search' | 'password';\n /**\n * Used to set the default value of input field when it's uncontrolled\n */\n defaultValue?: string;\n /**\n * The name of the input field.\n *\n * Useful in form submissions\n */\n name?: string;\n /**\n * The callback function to be invoked when the input field gets focus\n */\n onFocus?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field changes\n */\n onChange?: FormInputOnEvent;\n /**\n * The callback function to be invoked when input is clicked\n */\n onClick?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field has any input\n */\n onInput?: FormInputOnEvent;\n /**\n * The callback function to be invoked whenever there is a keyDown event\n */\n onKeyDown?: FormInputHandleOnKeyDownEvent;\n /**\n * The callback function to be invoked when the the input field loses focus\n *\n * For React Native this will call `onEndEditing` event since we want to get the last value of the input field\n */\n onBlur?: FormInputOnEvent;\n /**\n * Ignores the blur event animation (Used in Select to ignore blur animation when item in option is clicked)\n */\n shouldIgnoreBlurAnimation?: boolean;\n /**\n * sets boolean that ignores the blur animations on baseinput\n */\n setShouldIgnoreBlurAnimation?: (shouldIgnoreBlurAnimation: boolean) => void;\n /**\n * Used to turn the input field to controlled so user can control the value\n */\n value?: string;\n /**\n * Used to disable the input field\n */\n isDisabled?: boolean;\n /**\n * If true, the input is marked as required, and `required` attribute will be added\n */\n isRequired?: boolean;\n /**\n * Icon to be shown at the start of the input field\n */\n leadingIcon?: IconComponent;\n /**\n * Prefix symbol to be displayed at the beginning of the input field. If leadingIcon is provided it'll be placed after it\n */\n prefix?: string;\n /**\n * Element to be rendered before suffix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a loader or they could render a clear button\n */\n trailingInteractionElement?: ReactNode;\n /**\n * Callback to be invoked when the TrailingInteractionElement is clicked\n */\n onTrailingInteractionElementClick?: () => void;\n /**\n * Element to be rendered before prefix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a country selector or button\n */\n leadingInteractionElement?: ReactNode;\n /**\n * Leading DropDown to be rendered at Prefix slot\n */\n leadingDropDown?: ReactNode;\n /**\n * Trailing DropDown to be rendered at Suffix slot\n */\n trailingDropDown?: ReactNode;\n /**\n * Suffix symbol to be displayed at the end of the input field. If trailingIcon is provided it'll be placed before it\n */\n suffix?: string;\n /**\n * Icon to be displayed at the end of the input field\n */\n trailingIcon?: IconComponent;\n /**\n * Displays the character counter under the input field\n */\n maxCharacters?: number;\n /**\n * alignment of the text inside input field\n */\n textAlign?: 'left' | 'center' | 'right';\n /**\n * If true, focuses the input field on load\n *\n * **Note:**\n * Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments.\n * When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n */\n autoFocus?: boolean;\n /**\n * Hints the platform to display an appropriate virtual keyboard\n *\n * **Native:** Passes as is the `keyboardType` attribute\n *\n * **Web:** Passes the value to the `inputMode` attribute\n */\n keyboardType?: 'text' | 'search' | 'telephone' | 'email' | 'url' | 'decimal';\n /**\n * determines what return key to show on the keyboard of mobile devices/virtual keyboard\n * **Note**: Few values are platform dependent and might not render on all the platforms\n *\n * `default` is only available on native. it'll be mapped to `enter` for web\n * `previous` is only available on native android\n */\n keyboardReturnKeyType?: 'default' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send';\n /**\n * Element to be rendered on the trailing slot of input field label\n */\n trailingHeaderSlot?: (value?: string) => ReactNode;\n /**\n * Element to be rendered on the trailing slot of input field footer\n */\n trailingFooterSlot?: (value?: string) => ReactNode;\n /**\n * Sets the textarea's number of lines\n */\n numberOfLines?: 1 | 2 | 3 | 4 | 5;\n /**\n * Sets the accessibility label for the input\n */\n accessibilityLabel?: string;\n /**\n * Sets the id of the label\n *\n * (Useful when assigning one label to multiple elements using aria-labelledby)\n */\n labelId?: string;\n /**\n * Can be used in select to set the id of the active descendant from the listbox\n */\n activeDescendant?: string;\n /**\n * Hides the label text\n */\n hideLabelText?: boolean;\n /**\n * Hides the form hint text\n */\n hideFormHint?: boolean;\n /**\n * componentName prop sets the data-blade-component attribute name\n * for internal metric collection purposes\n */\n componentName?: string;\n /**\n * whether the input has a popup\n */\n hasPopup?: AriaAttributes['hasPopup'];\n /**\n * id of the popup\n */\n popupId?: string;\n /**\n * true if popup is in expanded state\n */\n isPopupExpanded?: boolean;\n setInputWrapperRef?: (node: ContainerElementType) => void;\n /**\n * sets the autocapitalize behavior for the input\n */\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n\n /**\n * constraints the height of input to given number rows\n *\n * When set to expandable, input takes 1 row in the begining and expands to take 3 when active\n *\n * @default 'single'\n */\n maxTagRows?: 'single' | 'multiple' | 'expandable';\n\n /**\n * A slot for adding tags to input\n */\n tags?: React.ReactElement[] | null;\n\n /**\n * Disables stripping of tags and shows all tags\n */\n showAllTags?: boolean;\n\n /**\n * State variable of active tag index\n */\n activeTagIndex?: number;\n\n /**\n * Is this input SelectInput or AutoComplete\n */\n isDropdownTrigger?: boolean;\n\n /**\n * Is the label expected to be rendered inside input?\n * Used in AutoComplete and Select when label can't exist outside\n *\n */\n isLabelInsideInput?: boolean;\n\n /**\n * State setter for active tag index\n */\n setActiveTagIndex?: (activeTagIndex: number) => void;\n /**\n * Sets the size of the input field\n * @default medium\n */\n size?: 'medium' | 'large';\n /**\n * Link button to be rendered at the end of the input field.\n * **Note:** `size` of the Link will be set to the same size as the input field, `isDisabled` will follow Input's `isDisabled`, & `variant` will be set to `button`.\n * Example:\n * ```tsx\n * trailingButton={<Link onClick={handleClick}>Apply</Link>}\n * ```\n */\n trailingButton?: React.ReactElement<LinkProps>;\n /**\n * Whether to use Text or Heading component for Input text\n * @default text\n **/\n valueComponentType?: 'text' | 'heading';\n /**\n * Whether to render the input as a table cell\n * @default true\n **/\n isTableInputCell?: boolean;\n /**\n * Hides the form hints and shows them as tooltip of trailing\n */\n showHintsAsTooltip?: boolean;\n\n role?: AriaAttributes['role'];\n\n /**\n * Tab Index of the input field\n *\n * @default undefined\n */\n tabIndex?: number;\n } & TestID &\n Platform.Select<{\n native: {\n /**\n * The callback function to be invoked when the value of the input field is submitted.\n */\n onSubmit?: FormInputOnEvent;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: CommonAutoCompleteSuggestionTypes;\n };\n web: {\n /**\n * This is a react-native only prop and has no effect on web.\n */\n onSubmit?: undefined;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: WebAutoCompleteSuggestionType;\n };\n }> &\n StyledPropsBlade &\n MotionMetaProp;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype BaseInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype BaseInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\nexport type BaseInputProps = (BaseInputPropsWithA11yLabel | BaseInputPropsWithLabel) &\n BaseInputCommonProps;\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'on',\n 'name',\n 'email',\n 'username',\n 'password',\n 'newPassword',\n 'oneTimeCode',\n 'telephone',\n 'postalCode',\n 'countryName',\n 'creditCardNumber',\n 'creditCardCSC',\n 'creditCardExpiry',\n 'creditCardExpiryMonth',\n 'creditCardExpiryYear',\n];\n\ntype OnInputKeydownTagHandlerType = (key: string | undefined) => void;\nconst useTags = (\n tags: BaseInputProps['tags'],\n activeTagIndex: number,\n setActiveTagIndex?: (activeTagIndex: number) => void,\n): {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n visibleTagsCountRef: React.MutableRefObject<number>;\n} => {\n const visibleTagsCountRef = React.useRef<number>(0);\n\n React.useEffect(() => {\n if (tags && activeTagIndex >= 0 && activeTagIndex < tags.length) {\n const tagTitle = tags[activeTagIndex]?.props?.children;\n if (tagTitle) {\n announce(`Close ${tagTitle} Tag`);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTagIndex, tags?.length]);\n\n const onTagLeft = (): void => {\n if (activeTagIndex < 0) {\n setActiveTagIndex?.(visibleTagsCountRef.current - 1);\n }\n\n if (activeTagIndex > 0) {\n setActiveTagIndex?.(activeTagIndex - 1);\n }\n };\n\n const onTagRight = (): void => {\n if (activeTagIndex < visibleTagsCountRef.current - 1) {\n setActiveTagIndex?.(activeTagIndex + 1);\n }\n };\n\n const onTagRemove = (): void => {\n if (activeTagIndex >= 0 && activeTagIndex < visibleTagsCountRef.current && tags) {\n tags[activeTagIndex].props.onDismiss({ tagIndex: activeTagIndex });\n }\n };\n\n const onInputKeydownTagHandler: OnInputKeydownTagHandlerType = (key) => {\n if (tags && tags.length > 0) {\n if (key === 'ArrowRight') {\n onTagRight();\n }\n\n if (key === 'ArrowLeft') {\n onTagLeft();\n }\n\n if (key === 'Backspace') {\n onTagRemove();\n }\n }\n };\n\n return {\n onInputKeydownTagHandler,\n visibleTagsCountRef,\n };\n};\n\nconst useInput = ({\n value,\n defaultValue,\n onClick,\n onFocus,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n}: Pick<\n BaseInputProps,\n | 'value'\n | 'defaultValue'\n | 'onFocus'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'onClick'\n | 'onSubmit'\n> & {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n}): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnClick: FormInputHandleOnClickEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnSubmit: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (__DEV__) {\n if (value && defaultValue) {\n throwBladeError({\n message: `Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n moduleName: 'Input',\n });\n }\n }\n\n const [inputValue, setInputValue] = React.useState(defaultValue ?? value);\n\n const handleOnFocus: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onFocus?.({\n name,\n value: _value,\n });\n },\n [onFocus],\n );\n\n const handleOnClick: FormInputHandleOnClickEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.currentTarget.value ?? '';\n }\n\n onClick?.({\n name,\n value: _value,\n });\n },\n [onClick],\n );\n\n const handleOnSubmit: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n //@ts-ignore need to ignore this since it will throw a TS error for web but not for native\n onSubmit?.({\n name,\n value: _value,\n });\n }\n },\n [onSubmit],\n );\n\n const handleOnBlur: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onBlur?.({\n name,\n value: _value,\n });\n },\n [onBlur],\n );\n\n const handleOnChange: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onChange?.({\n name,\n value: _value,\n });\n setInputValue(_value);\n },\n [onChange],\n );\n\n const handleOnInput: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onInput?.({\n name,\n value: _value,\n });\n },\n [onInput],\n );\n\n const handleOnKeyDown: FormInputHandleOnKeyDownEvent = React.useCallback(\n ({ name, key, code, event }) => {\n onInputKeydownTagHandler(key);\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnClick,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n };\n};\n\nexport const getHintType = ({\n validationState,\n hasHelpText,\n}: {\n validationState: BaseInputProps['validationState'];\n hasHelpText: boolean;\n}): FormHintProps['type'] => {\n if (validationState === 'error') {\n return 'error';\n }\n\n if (validationState === 'success') {\n return 'success';\n }\n\n if (hasHelpText) {\n return 'help';\n }\n\n return 'help';\n};\n\nconst getDescribedByElementId = ({\n validationState,\n hasErrorText,\n hasSuccessText,\n hasHelpText,\n errorTextId,\n successTextId,\n helpTextId,\n}: {\n validationState: BaseInputProps['validationState'];\n hasErrorText: boolean;\n hasSuccessText: boolean;\n hasHelpText: boolean;\n errorTextId: string;\n successTextId: string;\n helpTextId: string;\n}): string => {\n if (validationState === 'error' && hasErrorText) {\n return errorTextId;\n }\n\n if (validationState === 'success' && hasSuccessText) {\n return successTextId;\n }\n\n if (hasHelpText) {\n return helpTextId;\n }\n\n return '';\n};\n\nconst FocusRingWrapper = styled(BaseBox)<{\n currentInteraction: ActionStates;\n isTableInputCell: NonNullable<BaseInputProps['isTableInputCell']>;\n className: string;\n}>(({ theme, currentInteraction, isTableInputCell }) => ({\n borderRadius: makeBorderSize(\n isTableInputCell ? theme.border.radius.none : theme.border.radius.medium,\n ),\n width: '100%',\n '&:focus-within': !isTableInputCell\n ? {\n ...getFocusRingStyles({\n theme,\n }),\n transitionDuration: castWebType(\n makeMotionTime(\n getIn(\n theme.motion.duration,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .duration,\n ),\n ),\n ),\n transitionTimingFunction: castWebType(\n theme.motion.easing[\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .easing\n ],\n ),\n }\n : {},\n}));\n\nconst _BaseInput: React.ForwardRefRenderFunction<BladeElementRef, BaseInputProps> = (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n tags,\n showAllTags = false,\n activeTagIndex = -1,\n setActiveTagIndex,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onSubmit,\n onClick,\n onKeyDown,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n onTrailingInteractionElementClick,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n maxCharacters,\n textAlign,\n autoFocus,\n keyboardReturnKeyType,\n keyboardType,\n autoCompleteSuggestionType,\n trailingHeaderSlot,\n trailingFooterSlot,\n numberOfLines,\n id,\n componentName,\n accessibilityLabel,\n labelId,\n activeDescendant,\n hideLabelText,\n hideFormHint,\n hasPopup,\n popupId,\n isPopupExpanded,\n maxTagRows,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n autoCapitalize,\n setInputWrapperRef,\n testID,\n isDropdownTrigger,\n isLabelInsideInput,\n size = 'medium',\n trailingButton,\n valueComponentType = 'text',\n isTableInputCell = false,\n showHintsAsTooltip = false,\n _motionMeta,\n role,\n tabIndex,\n leadingDropDown,\n trailingDropDown,\n labelSuffix,\n labelTrailing,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const inputRef = React.useRef<BladeElementRef>(null);\n const mergedInputRef = useMergeRefs(ref, inputRef);\n const inputWrapperRef: InputWrapperRef = React.useRef(null);\n const { onInputKeydownTagHandler, visibleTagsCountRef } = useTags(\n tags,\n activeTagIndex,\n setActiveTagIndex,\n );\n const [showAllTagsWithAnimation, setShowAllTagsWithAnimation] = React.useState(false);\n const isReactNative = getPlatformType() === 'react-native';\n const defaultRole = hasPopup ? 'combobox' : undefined;\n\n const inputGroupProps = useInputGroupContext();\n const { isInsideInputGroup } = inputGroupProps;\n const _isDisabled = inputGroupProps.isDisabled ?? isDisabled;\n const _size = inputGroupProps.size ?? size;\n\n React.useEffect(() => {\n if (showAllTags) {\n setShowAllTagsWithAnimation(true);\n } else if (maxTagRows !== 'expandable') {\n setShowAllTagsWithAnimation(false);\n }\n }, [showAllTags, maxTagRows]);\n\n const {\n handleOnFocus,\n handleOnChange,\n handleOnClick,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onClick,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n });\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId(id);\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n const { currentInteraction, setCurrentInteraction } = useInteraction();\n const _isRequired = isRequired || necessityIndicator === 'required';\n\n const accessibilityProps = makeAccessible({\n required: Boolean(_isRequired),\n disabled: Boolean(_isDisabled),\n invalid: Boolean(validationState === 'error'),\n describedBy: getDescribedByElementId({\n validationState,\n hasErrorText: Boolean(errorText),\n hasSuccessText: Boolean(successText),\n hasHelpText: Boolean(helpText),\n errorTextId,\n successTextId,\n helpTextId,\n }),\n label: accessibilityLabel,\n hasPopup,\n expanded: hasPopup ? isPopupExpanded : undefined,\n controls: hasPopup ? popupId : undefined,\n role: role ?? defaultRole,\n activeDescendant,\n });\n\n const willRenderHintText =\n Boolean(helpText) ||\n (validationState === 'success' && Boolean(successText)) ||\n (validationState === 'error' && Boolean(errorText));\n\n if (__DEV__) {\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throwBladeError({\n message: `Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n moduleName: 'Input',\n });\n }\n }\n\n const isTextArea = as === 'textarea';\n return (\n <BaseBox\n ref={getOuterMotionRef({ _motionMeta, ref })}\n {...metaAttribute({ name: componentName, testID })}\n {...getStyledProps(rest)}\n >\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {/* If the input is in an input group, we don't want to render the label */}\n {!hideLabelText && !isLabelInsideInput && label && !isInsideInputGroup && (\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea && isLabelLeftPositioned ? 'flex-start' : undefined}\n marginY={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n htmlFor={inputId}\n size={_size}\n labelSuffix={labelSuffix}\n labelTrailing={labelTrailing}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(value ?? inputValue)}\n </BaseBox>\n )}\n <FocusRingWrapper\n currentInteraction={currentInteraction}\n isTableInputCell={isTableInputCell}\n className=\"focus-ring-wrapper\"\n >\n <BaseInputWrapper\n isDropdownTrigger={isDropdownTrigger}\n isTextArea={isTextArea}\n isDisabled={_isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n showAllTags={showAllTags}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n ref={(refNode) => {\n if (refNode) {\n setInputWrapperRef?.(refNode);\n inputWrapperRef.current = refNode;\n }\n }}\n maxTagRows={maxTagRows}\n size={_size}\n numberOfLines={numberOfLines}\n onClick={() => {\n if (!isReactNative) {\n inputRef.current?.focus();\n }\n }}\n isTableInputCell={isTableInputCell}\n >\n <BaseInputVisuals\n size={_size}\n leadingIcon={leadingIcon}\n prefix={prefix}\n isDisabled={_isDisabled}\n leadingInteractionElement={leadingInteractionElement}\n leadingDropDown={leadingDropDown}\n />\n <BaseInputTagSlot\n renderAs={as}\n tags={tags}\n isDisabled={_isDisabled}\n showAllTags={showAllTagsWithAnimation}\n setFocusOnInput={() => {\n const innerRef = getInnerMotionRef({ _motionMeta, ref });\n if (innerRef && !isReactNative && 'current' in innerRef) {\n innerRef.current?.focus();\n }\n }}\n labelPrefix={isLabelInsideInput ? label : undefined}\n isDropdownTrigger={isDropdownTrigger}\n visibleTagsCountRef={visibleTagsCountRef}\n handleOnInputClick={(e) => {\n handleOnClick({ name, value: isReactNative ? value : e });\n }}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n maxTagRows={maxTagRows}\n inputWrapperRef={inputWrapperRef}\n size={_size}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea}\n hasLeadingDropDown={Boolean(leadingDropDown)}\n >\n <StyledBaseInput\n as={as}\n id={inputId}\n ref={getInnerMotionRef({ _motionMeta, ref: mergedInputRef as any }) as never}\n name={name}\n type={type}\n defaultValue={defaultValue}\n value={value}\n placeholder={placeholder}\n isDisabled={_isDisabled}\n validationState={validationState}\n isRequired={_isRequired}\n handleOnFocus={handleOnFocus}\n handleOnChange={handleOnChange}\n handleOnBlur={handleOnBlur}\n handleOnSubmit={handleOnSubmit}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n handleOnClick={handleOnClick}\n leadingIcon={leadingIcon}\n prefix={prefix}\n trailingInteractionElement={trailingInteractionElement}\n leadingInteractionElement={leadingInteractionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n maxCharacters={maxCharacters}\n textAlign={textAlign}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n keyboardReturnKeyType={keyboardReturnKeyType}\n keyboardType={keyboardType}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n accessibilityProps={accessibilityProps}\n currentInteraction={currentInteraction}\n setCurrentInteraction={setCurrentInteraction}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea || maxTagRows === 'multiple' || maxTagRows === 'expandable'}\n hasPopup={hasPopup}\n hasTags={!!(tags && tags.length > 0)}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n autoCapitalize={autoCapitalize}\n isDropdownTrigger={isDropdownTrigger}\n $size={_size}\n valueComponentType={valueComponentType}\n isTableInputCell={isTableInputCell}\n tabIndex={tabIndex}\n hasLeadingDropdown={Boolean(leadingDropDown)}\n {...metaAttribute({ name: MetaConstants.StyledBaseInput })}\n {...makeAnalyticsAttribute(rest)}\n />\n </BaseInputTagSlot>\n <BaseInputVisuals\n trailingInteractionElement={trailingInteractionElement}\n onTrailingInteractionElementClick={onTrailingInteractionElementClick}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={_isDisabled}\n validationState={validationState}\n trailingButton={trailingButton}\n size={_size}\n errorText={errorText}\n successText={successText}\n showHintsAsTooltip={showHintsAsTooltip}\n trailingDropDown={trailingDropDown}\n />\n </BaseInputWrapper>\n </FocusRingWrapper>\n </BaseBox>\n {/* If the input is in an input group, we don't want to render the hint text */}\n {hideFormHint || showHintsAsTooltip || isInsideInputGroup ? null : (\n <BaseBox\n marginLeft={makeSize(\n isLabelLeftPositioned && !hideLabelText ? formHintLeftLabelMarginLeft[_size] : 0,\n )}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={willRenderHintText ? 'space-between' : 'flex-end'}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n size={_size}\n />\n {trailingFooterSlot?.(value ?? inputValue)}\n </BaseBox>\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst BaseInputWithRef = React.forwardRef(_BaseInput);\nconst BaseInput = assignWithoutSideEffects(BaseInputWithRef, { displayName: 'BaseInput' });\n\nexport { BaseInput };\n"],"names":["autoCompleteSuggestionTypeValues","useTags","tags","activeTagIndex","setActiveTagIndex","visibleTagsCountRef","React","useRef","useEffect","length","_tags$activeTagIndex","_tags$activeTagIndex$","tagTitle","props","children","announce","concat","onTagLeft","current","onTagRight","onTagRemove","onDismiss","tagIndex","onInputKeydownTagHandler","key","useInput","_ref","value","defaultValue","onClick","onFocus","onChange","onBlur","onSubmit","onInput","onKeyDown","throwBladeError","message","moduleName","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","handleOnFocus","useCallback","_ref2","name","_value","getPlatformType","_value$target$value","target","handleOnClick","_ref3","_value$currentTarget$","currentTarget","handleOnSubmit","_ref4","_value$target$value2","isReactNative","handleOnBlur","_ref5","_value$target$value3","handleOnChange","_ref6","_value$target$value4","handleOnInput","_ref7","_value$target$value5","handleOnKeyDown","_ref8","code","event","getHintType","_ref9","validationState","hasHelpText","getDescribedByElementId","_ref10","hasErrorText","hasSuccessText","errorTextId","successTextId","helpTextId","FocusRingWrapper","styled","BaseBox","withConfig","displayName","componentId","_ref11","theme","currentInteraction","isTableInputCell","borderRadius","makeBorderSize","border","radius","none","medium","width","_objectSpread","getFocusRingStyles","transitionDuration","castWebType","makeMotionTime","getIn","motion","duration","baseInputBorderBackgroundMotion","transitionTimingFunction","easing","_BaseInput","_ref12","ref","_inputGroupProps$isDi","_inputGroupProps$size","_ref12$as","as","label","_ref12$labelPosition","labelPosition","placeholder","_ref12$type","type","_ref12$showAllTags","showAllTags","_ref12$activeTagIndex","isDisabled","necessityIndicator","errorText","helpText","successText","isRequired","leadingIcon","prefix","trailingInteractionElement","onTrailingInteractionElementClick","leadingInteractionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","_ref12$size","size","trailingButton","_ref12$valueComponent","valueComponentType","_ref12$isTableInputCe","_ref12$showHintsAsToo","showHintsAsTooltip","_motionMeta","role","tabIndex","leadingDropDown","trailingDropDown","labelSuffix","labelTrailing","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","inputRef","mergedInputRef","useMergeRefs","inputWrapperRef","_useTags","_React$useState3","_React$useState4","showAllTagsWithAnimation","setShowAllTagsWithAnimation","defaultRole","undefined","inputGroupProps","useInputGroupContext","isInsideInputGroup","_isDisabled","_size","_useInput","_useFormId","useFormId","inputId","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","_useInteraction","useInteraction","setCurrentInteraction","_isRequired","accessibilityProps","makeAccessible","required","Boolean","disabled","invalid","describedBy","expanded","controls","willRenderHintText","includes","join","isTextArea","_jsxs","getOuterMotionRef","metaAttribute","getStyledProps","display","flexDirection","justifyContent","alignItems","position","alignSelf","marginY","_jsx","FormLabel","htmlFor","className","BaseInputWrapper","refNode","_inputRef$current","focus","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","innerRef","getInnerMotionRef","_innerRef$current","labelPrefix","handleOnInputClick","e","hasLeadingDropDown","StyledBaseInput","hasTags","$size","hasLeadingDropdown","MetaConstants","makeAnalyticsAttribute","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects"],"mappings":"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"}
|
|
@@ -249,7 +249,7 @@ var BaseInputVisuals = function BaseInputVisuals(_ref9) {
|
|
|
249
249
|
size: textSize[size],
|
|
250
250
|
variant: "body",
|
|
251
251
|
weight: "regular",
|
|
252
|
-
color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.
|
|
252
|
+
color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.muted',
|
|
253
253
|
children: prefix
|
|
254
254
|
})
|
|
255
255
|
})) : null, leadingDropDown ? /*#__PURE__*/jsx(BaseBox, {
|