@razorpay/blade 11.8.1 → 11.9.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/Checkbox/Checkbox.js +4 -3
- package/build/lib/native/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js +1 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/native/components/Checkbox/CheckboxIcon/CheckboxIcon.js +1 -1
- package/build/lib/native/components/Checkbox/CheckboxIcon/CheckboxIcon.js.map +1 -1
- package/build/lib/native/components/Checkbox/checkboxTokens.js +1 -1
- package/build/lib/native/components/Checkbox/checkboxTokens.js.map +1 -1
- package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js +2 -1
- package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/native/components/Form/FormHint.js +2 -1
- package/build/lib/native/components/Form/FormHint.js.map +1 -1
- package/build/lib/native/components/Form/FormLabel.js +3 -1
- package/build/lib/native/components/Form/FormLabel.js.map +1 -1
- package/build/lib/native/components/Form/Selector/SelectorSupportText.js +1 -1
- package/build/lib/native/components/Form/Selector/SelectorSupportText.js.map +1 -1
- package/build/lib/native/components/Form/Selector/SelectorTitle.js.map +1 -1
- package/build/lib/native/components/Form/formTokens.js +8 -0
- package/build/lib/native/components/Form/formTokens.js.map +1 -0
- package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js +5 -3
- package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js +8 -2
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js +2 -2
- package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +4 -2
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputWrapper.js +2 -3
- package/build/lib/native/components/Input/BaseInput/BaseInputWrapper.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +2 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +6 -3
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +8 -0
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -0
- package/build/lib/native/components/Input/BaseInput/getBaseInputBorderStyles.native.js +4 -0
- package/build/lib/native/components/Input/BaseInput/getBaseInputBorderStyles.native.js.map +1 -0
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/native/components/Input/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/TextArea/TextArea.js +2 -1
- package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js +2 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/Radio/Radio.js +4 -3
- package/build/lib/native/components/Radio/Radio.js.map +1 -1
- package/build/lib/native/components/Radio/RadioGroup/RadioGroup.js +1 -1
- package/build/lib/native/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/native/components/Radio/radioTokens.js +1 -1
- package/build/lib/native/components/Radio/radioTokens.js.map +1 -1
- package/build/lib/native/components/Tag/Tag.js +1 -1
- package/build/lib/native/components/Tag/Tag.js.map +1 -1
- package/build/lib/native/components/Tag/getTagsGroup.js +1 -1
- package/build/lib/native/components/Tag/getTagsGroup.js.map +1 -1
- package/build/lib/native/components/Typography/Heading/Heading.js +2 -2
- package/build/lib/native/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/native/components/Typography/Heading/getHeadingStyles.js +7 -0
- package/build/lib/native/components/Typography/Heading/getHeadingStyles.js.map +1 -0
- package/build/lib/native/components/Typography/Text/Text.js +1 -1
- package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/native/components/index.js +1 -1
- package/build/lib/native/tokens/global/size.js +1 -1
- package/build/lib/native/tokens/global/size.js.map +1 -1
- package/build/lib/native/utils/getFocusRingStyles/getFocusRingStyles.native.js.map +1 -1
- package/build/lib/web/development/components/ButtonGroup/StyledButtonGroup.js +7 -12
- package/build/lib/web/development/components/ButtonGroup/StyledButtonGroup.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/Checkbox.js +17 -3
- package/build/lib/web/development/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/CheckboxGroup.js +2 -0
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/CheckboxIcon/CheckboxIcon.js +4 -0
- package/build/lib/web/development/components/Checkbox/CheckboxIcon/CheckboxIcon.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/checkboxTokens.js +12 -4
- package/build/lib/web/development/components/Checkbox/checkboxTokens.js.map +1 -1
- package/build/lib/web/development/components/Form/CharacterCounter/CharacterCounter.js +5 -1
- package/build/lib/web/development/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/web/development/components/Form/FormHint.js +34 -17
- package/build/lib/web/development/components/Form/FormHint.js.map +1 -1
- package/build/lib/web/development/components/Form/FormLabel.js +10 -7
- package/build/lib/web/development/components/Form/FormLabel.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorSupportText.js +8 -2
- package/build/lib/web/development/components/Form/Selector/SelectorSupportText.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorTitle.js.map +1 -1
- package/build/lib/web/development/components/Form/formTokens.js +53 -0
- package/build/lib/web/development/components/Form/formTokens.js.map +1 -0
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +23 -37
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +200 -155
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js +4 -3
- package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +101 -34
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputWrapper.js +3 -7
- package/build/lib/web/development/components/Input/BaseInput/BaseInputWrapper.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +14 -5
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +119 -67
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +88 -0
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -0
- package/build/lib/web/development/components/Input/BaseInput/getBaseInputBorderStyles.web.js +23 -0
- package/build/lib/web/development/components/Input/BaseInput/getBaseInputBorderStyles.web.js.map +1 -0
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +11 -6
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +9 -3
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +5 -2
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextArea/TextArea.js +7 -3
- package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +17 -6
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Radio/Radio.js +10 -3
- package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/development/components/Radio/RadioGroup/RadioGroup.js +2 -0
- package/build/lib/web/development/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/web/development/components/Radio/radioTokens.js +13 -4
- package/build/lib/web/development/components/Radio/radioTokens.js.map +1 -1
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js +4 -1
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/development/components/Tag/Tag.js +2 -2
- package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/development/components/Tag/getTagsGroup.js +4 -1
- package/build/lib/web/development/components/Tag/getTagsGroup.js.map +1 -1
- package/build/lib/web/development/components/Typography/Heading/Heading.js +3 -3
- package/build/lib/web/development/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/web/development/components/Typography/Heading/getHeadingStyles.js +22 -0
- package/build/lib/web/development/components/Typography/Heading/getHeadingStyles.js.map +1 -0
- package/build/lib/web/development/components/Typography/Heading/index.js +1 -1
- package/build/lib/web/development/components/Typography/Text/Text.js +8 -3
- package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/development/components/index.js +1 -1
- package/build/lib/web/development/tokens/global/size.js +2 -0
- package/build/lib/web/development/tokens/global/size.js.map +1 -1
- package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -0
- package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
- package/build/lib/web/production/components/ButtonGroup/StyledButtonGroup.js +7 -12
- package/build/lib/web/production/components/ButtonGroup/StyledButtonGroup.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/Checkbox.js +17 -3
- package/build/lib/web/production/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/CheckboxGroup.js +2 -0
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/CheckboxIcon/CheckboxIcon.js +4 -0
- package/build/lib/web/production/components/Checkbox/CheckboxIcon/CheckboxIcon.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/checkboxTokens.js +12 -4
- package/build/lib/web/production/components/Checkbox/checkboxTokens.js.map +1 -1
- package/build/lib/web/production/components/Form/CharacterCounter/CharacterCounter.js +5 -1
- package/build/lib/web/production/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/web/production/components/Form/FormHint.js +34 -17
- package/build/lib/web/production/components/Form/FormHint.js.map +1 -1
- package/build/lib/web/production/components/Form/FormLabel.js +10 -7
- package/build/lib/web/production/components/Form/FormLabel.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorSupportText.js +8 -2
- package/build/lib/web/production/components/Form/Selector/SelectorSupportText.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorTitle.js.map +1 -1
- package/build/lib/web/production/components/Form/formTokens.js +53 -0
- package/build/lib/web/production/components/Form/formTokens.js.map +1 -0
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +23 -37
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +200 -155
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js +4 -3
- package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +101 -34
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputWrapper.js +3 -7
- package/build/lib/web/production/components/Input/BaseInput/BaseInputWrapper.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +14 -5
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +119 -67
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +88 -0
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -0
- package/build/lib/web/production/components/Input/BaseInput/getBaseInputBorderStyles.web.js +23 -0
- package/build/lib/web/production/components/Input/BaseInput/getBaseInputBorderStyles.web.js.map +1 -0
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +11 -6
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +9 -3
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +5 -2
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextArea/TextArea.js +7 -3
- package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +17 -6
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Radio/Radio.js +10 -3
- package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/production/components/Radio/RadioGroup/RadioGroup.js +2 -0
- package/build/lib/web/production/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/web/production/components/Radio/radioTokens.js +13 -4
- package/build/lib/web/production/components/Radio/radioTokens.js.map +1 -1
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js +4 -1
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/production/components/Tag/Tag.js +2 -2
- package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/production/components/Tag/getTagsGroup.js +4 -1
- package/build/lib/web/production/components/Tag/getTagsGroup.js.map +1 -1
- package/build/lib/web/production/components/Typography/Heading/Heading.js +3 -3
- package/build/lib/web/production/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/web/production/components/Typography/Heading/getHeadingStyles.js +22 -0
- package/build/lib/web/production/components/Typography/Heading/getHeadingStyles.js.map +1 -0
- package/build/lib/web/production/components/Typography/Heading/index.js +1 -1
- package/build/lib/web/production/components/Typography/Text/Text.js +8 -3
- package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/production/components/index.js +1 -1
- package/build/lib/web/production/tokens/global/size.js +2 -0
- package/build/lib/web/production/tokens/global/size.js.map +1 -1
- package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -0
- package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
- package/build/types/components/index.d.ts +36 -15
- package/build/types/components/index.native.d.ts +36 -15
- package/build/types/tokens/index.d.ts +2 -0
- package/build/types/tokens/index.native.d.ts +2 -0
- package/package.json +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputAnimatedBorder.native.js +0 -16
- package/build/lib/native/components/Input/BaseInput/BaseInputAnimatedBorder.native.js.map +0 -1
- package/build/lib/native/components/Input/BaseInput/baseInputConfig.js +0 -8
- package/build/lib/native/components/Input/BaseInput/baseInputConfig.js.map +0 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputAnimatedBorder.web.js +0 -43
- package/build/lib/web/development/components/Input/BaseInput/BaseInputAnimatedBorder.web.js.map +0 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputConfig.js +0 -26
- package/build/lib/web/development/components/Input/BaseInput/baseInputConfig.js.map +0 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputAnimatedBorder.web.js +0 -43
- package/build/lib/web/production/components/Input/BaseInput/BaseInputAnimatedBorder.web.js.map +0 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputConfig.js +0 -26
- package/build/lib/web/production/components/Input/BaseInput/baseInputConfig.js.map +0 -1
|
@@ -1,98 +1,124 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import { getInputVisualsToBeRendered } from './BaseInputVisuals.js';
|
|
3
|
-
import {
|
|
3
|
+
import { getBaseInputBorderStyles } from './getBaseInputBorderStyles.web.js';
|
|
4
|
+
import { baseInputBackgroundColor, baseInputBorderColor, baseInputBorderWidth, baseInputPaddingTokens, baseInputHeight, baseInputWrapperMaxHeight } from './baseInputTokens.js';
|
|
4
5
|
import getTextStyles from '../../Typography/Text/getTextStyles.js';
|
|
5
6
|
import '../../../utils/makeSpace/index.js';
|
|
6
7
|
import '../../../utils/makeBorderSize/index.js';
|
|
7
8
|
import '../../../utils/index.js';
|
|
9
|
+
import getIn from '../../../utils/lodashButBetter/get.js';
|
|
10
|
+
import getHeadingStyles from '../../Typography/Heading/getHeadingStyles.js';
|
|
8
11
|
import { makeBorderSize } from '../../../utils/makeBorderSize/makeBorderSize.js';
|
|
9
12
|
import { getPlatformType } from '../../../utils/getPlatformType/getPlatformType.js';
|
|
10
13
|
import { makeSpace } from '../../../utils/makeSpace/makeSpace.js';
|
|
11
14
|
|
|
12
15
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
-
var
|
|
15
|
-
var
|
|
17
|
+
var getBaseInputState = function getBaseInputState(_ref) {
|
|
18
|
+
var isFocused = _ref.isFocused,
|
|
16
19
|
isHovered = _ref.isHovered,
|
|
17
|
-
|
|
18
|
-
isDisabled = _ref.isDisabled,
|
|
19
|
-
validationState = _ref.validationState,
|
|
20
|
-
isTextArea = _ref.isTextArea,
|
|
21
|
-
isDropdownTrigger = _ref.isDropdownTrigger;
|
|
22
|
-
// normal state
|
|
23
|
-
var backgroundColor = theme.colors.interactive.background.gray["default"];
|
|
24
|
-
var borderBottomColor = theme.colors.interactive.background.gray.highlighted;
|
|
25
|
-
|
|
26
|
-
// hoverState
|
|
27
|
-
if (isHovered) {
|
|
28
|
-
backgroundColor = theme.colors.interactive.background.gray.highlighted;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// focused state
|
|
32
|
-
if (isFocused) {
|
|
33
|
-
backgroundColor = theme.colors.interactive.background.primary.faded;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// disabled state
|
|
20
|
+
isDisabled = _ref.isDisabled;
|
|
37
21
|
if (isDisabled) {
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
return 'disabled';
|
|
23
|
+
} else if (isFocused) {
|
|
24
|
+
return 'focused';
|
|
25
|
+
} else if (isHovered) {
|
|
26
|
+
return 'hovered';
|
|
27
|
+
} else {
|
|
28
|
+
return 'default';
|
|
40
29
|
}
|
|
41
|
-
|
|
42
|
-
|
|
30
|
+
};
|
|
31
|
+
var getInputBackgroundAndBorderStyles = function getInputBackgroundAndBorderStyles(_ref2) {
|
|
32
|
+
var theme = _ref2.theme,
|
|
33
|
+
isHovered = _ref2.isHovered,
|
|
34
|
+
isFocused = _ref2.isFocused,
|
|
35
|
+
isDisabled = _ref2.isDisabled,
|
|
36
|
+
validationState = _ref2.validationState,
|
|
37
|
+
isTextArea = _ref2.isTextArea,
|
|
38
|
+
isDropdownTrigger = _ref2.isDropdownTrigger;
|
|
39
|
+
// normal state
|
|
40
|
+
var backgroundColor = getIn(theme.colors, baseInputBackgroundColor["default"]);
|
|
41
|
+
var borderColor = getIn(theme.colors, baseInputBorderColor["default"]);
|
|
42
|
+
var borderWidth = getIn(theme.border.width, baseInputBorderWidth["default"]);
|
|
43
|
+
var baseInputState = getBaseInputState({
|
|
44
|
+
isFocused: isFocused,
|
|
45
|
+
isHovered: isHovered,
|
|
46
|
+
isDisabled: isDisabled
|
|
47
|
+
});
|
|
48
|
+
backgroundColor = getIn(theme.colors, baseInputBackgroundColor[baseInputState]);
|
|
49
|
+
borderColor = getIn(theme.colors, baseInputBorderColor[baseInputState]);
|
|
50
|
+
borderWidth = getIn(theme.border.width, baseInputBorderWidth[baseInputState]);
|
|
43
51
|
if (validationState === 'error') {
|
|
44
|
-
|
|
45
|
-
|
|
52
|
+
borderColor = getIn(theme.colors, baseInputBorderColor.error);
|
|
53
|
+
borderWidth = getIn(theme.border.width, baseInputBorderWidth.error);
|
|
46
54
|
} else if (validationState === 'success') {
|
|
47
|
-
|
|
48
|
-
|
|
55
|
+
borderColor = getIn(theme.colors, baseInputBorderColor.success);
|
|
56
|
+
borderWidth = getIn(theme.border.width, baseInputBorderWidth.success);
|
|
49
57
|
}
|
|
50
|
-
return {
|
|
58
|
+
return _objectSpread({
|
|
51
59
|
backgroundColor: backgroundColor,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
borderTopRightRadius: makeBorderSize(theme.border.radius.small),
|
|
55
|
-
borderBottomWidth: makeBorderSize(theme.border.width.thin),
|
|
56
|
-
borderBottomStyle: 'solid',
|
|
60
|
+
borderRadius: makeBorderSize(theme.border.radius.medium),
|
|
61
|
+
borderStyle: 'solid',
|
|
57
62
|
display: 'flex',
|
|
58
63
|
flexDirection: 'row',
|
|
59
64
|
width: '100%',
|
|
60
65
|
alignItems: isTextArea ? 'flex-start' : undefined,
|
|
61
66
|
position: 'relative',
|
|
62
|
-
height: isDropdownTrigger ? 'auto' : undefined
|
|
63
|
-
|
|
67
|
+
height: isDropdownTrigger ? 'auto' : undefined,
|
|
68
|
+
border: 'none'
|
|
69
|
+
}, getBaseInputBorderStyles({
|
|
70
|
+
theme: theme,
|
|
71
|
+
borderColor: borderColor,
|
|
72
|
+
borderWidth: borderWidth,
|
|
73
|
+
isFocused: isFocused
|
|
74
|
+
}));
|
|
64
75
|
};
|
|
65
|
-
var getLeftPadding = function getLeftPadding(
|
|
66
|
-
var theme =
|
|
67
|
-
isDropdownTrigger =
|
|
68
|
-
hasLeadingIcon =
|
|
69
|
-
hasPrefix =
|
|
76
|
+
var getLeftPadding = function getLeftPadding(_ref3) {
|
|
77
|
+
var theme = _ref3.theme,
|
|
78
|
+
isDropdownTrigger = _ref3.isDropdownTrigger,
|
|
79
|
+
hasLeadingIcon = _ref3.hasLeadingIcon,
|
|
80
|
+
hasPrefix = _ref3.hasPrefix,
|
|
81
|
+
size = _ref3.size;
|
|
70
82
|
if (isDropdownTrigger) {
|
|
71
83
|
return theme.spacing[0];
|
|
72
84
|
}
|
|
73
85
|
if (hasLeadingIcon || hasPrefix) {
|
|
74
86
|
return theme.spacing[3];
|
|
75
87
|
}
|
|
76
|
-
return theme.spacing[
|
|
88
|
+
return theme.spacing[baseInputPaddingTokens.left[size]];
|
|
77
89
|
};
|
|
78
|
-
var
|
|
79
|
-
var theme =
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
var getRightPadding = function getRightPadding(_ref4) {
|
|
91
|
+
var theme = _ref4.theme,
|
|
92
|
+
hasInteractionElement = _ref4.hasInteractionElement,
|
|
93
|
+
hasSuffix = _ref4.hasSuffix,
|
|
94
|
+
hasTrailingIcon = _ref4.hasTrailingIcon,
|
|
95
|
+
size = _ref4.size;
|
|
96
|
+
if (hasInteractionElement || hasSuffix || hasTrailingIcon) {
|
|
97
|
+
return theme.spacing[3];
|
|
98
|
+
}
|
|
99
|
+
return theme.spacing[baseInputPaddingTokens.right[size]];
|
|
100
|
+
};
|
|
101
|
+
var getBaseInputStyles = function getBaseInputStyles(_ref5) {
|
|
102
|
+
var theme = _ref5.theme,
|
|
103
|
+
isDisabled = _ref5.isDisabled,
|
|
104
|
+
leadingIcon = _ref5.leadingIcon,
|
|
105
|
+
prefix = _ref5.prefix,
|
|
106
|
+
interactionElement = _ref5.interactionElement,
|
|
107
|
+
suffix = _ref5.suffix,
|
|
108
|
+
trailingIcon = _ref5.trailingIcon,
|
|
109
|
+
textAlign = _ref5.textAlign,
|
|
110
|
+
isTextArea = _ref5.isTextArea,
|
|
111
|
+
hasTags = _ref5.hasTags,
|
|
112
|
+
isDropdownTrigger = _ref5.isDropdownTrigger,
|
|
113
|
+
size = _ref5.size,
|
|
114
|
+
valueComponentType = _ref5.valueComponentType;
|
|
90
115
|
var _getInputVisualsToBeR = getInputVisualsToBeRendered({
|
|
91
116
|
leadingIcon: leadingIcon,
|
|
92
117
|
prefix: prefix,
|
|
93
118
|
interactionElement: interactionElement,
|
|
94
119
|
suffix: suffix,
|
|
95
|
-
trailingIcon: trailingIcon
|
|
120
|
+
trailingIcon: trailingIcon,
|
|
121
|
+
size: size
|
|
96
122
|
}),
|
|
97
123
|
hasLeadingIcon = _getInputVisualsToBeR.hasLeadingIcon,
|
|
98
124
|
hasPrefix = _getInputVisualsToBeR.hasPrefix,
|
|
@@ -101,8 +127,13 @@ var getBaseInputStyles = function getBaseInputStyles(_ref3) {
|
|
|
101
127
|
hasTrailingIcon = _getInputVisualsToBeR.hasTrailingIcon;
|
|
102
128
|
var isDropdownWithTags = isDropdownTrigger && hasTags;
|
|
103
129
|
var isReactNative = getPlatformType() === 'react-native';
|
|
104
|
-
return _objectSpread(_objectSpread({},
|
|
105
|
-
size:
|
|
130
|
+
return _objectSpread(_objectSpread({}, valueComponentType === 'heading' ? getHeadingStyles({
|
|
131
|
+
size: size,
|
|
132
|
+
weight: 'regular',
|
|
133
|
+
color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',
|
|
134
|
+
theme: theme
|
|
135
|
+
}) : getTextStyles({
|
|
136
|
+
size: size,
|
|
106
137
|
variant: 'body',
|
|
107
138
|
weight: 'regular',
|
|
108
139
|
color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',
|
|
@@ -111,23 +142,44 @@ var getBaseInputStyles = function getBaseInputStyles(_ref3) {
|
|
|
111
142
|
// take the full available width of parent container for input field
|
|
112
143
|
flex: 1,
|
|
113
144
|
backgroundColor: 'transparent',
|
|
114
|
-
paddingTop: makeSpace(theme.spacing[
|
|
115
|
-
paddingBottom: makeSpace(theme.spacing[
|
|
145
|
+
paddingTop: makeSpace(theme.spacing[baseInputPaddingTokens.top[size]]),
|
|
146
|
+
paddingBottom: makeSpace(theme.spacing[baseInputPaddingTokens.bottom[size]]),
|
|
116
147
|
paddingLeft: makeSpace(getLeftPadding({
|
|
117
148
|
theme: theme,
|
|
118
149
|
isDropdownTrigger: isDropdownTrigger,
|
|
119
150
|
hasLeadingIcon: hasLeadingIcon,
|
|
120
|
-
hasPrefix: hasPrefix
|
|
151
|
+
hasPrefix: hasPrefix,
|
|
152
|
+
size: size
|
|
121
153
|
})),
|
|
122
|
-
paddingRight:
|
|
154
|
+
paddingRight: getRightPadding({
|
|
155
|
+
theme: theme,
|
|
156
|
+
hasInteractionElement: hasInteractionElement,
|
|
157
|
+
hasSuffix: hasSuffix,
|
|
158
|
+
hasTrailingIcon: hasTrailingIcon,
|
|
159
|
+
size: size
|
|
160
|
+
}),
|
|
123
161
|
textAlign: textAlign,
|
|
124
162
|
width: '100%',
|
|
125
|
-
height: isTextArea || isDropdownWithTags ? undefined : makeSpace(
|
|
126
|
-
minHeight: isDropdownWithTags ? undefined : makeSpace(
|
|
163
|
+
height: isTextArea || isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),
|
|
164
|
+
minHeight: isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size])
|
|
127
165
|
}, isReactNative ? {} : {
|
|
128
166
|
resize: 'none'
|
|
129
167
|
});
|
|
130
168
|
};
|
|
169
|
+
var getAnimatedBaseInputWrapperMaxHeight = function getAnimatedBaseInputWrapperMaxHeight(_ref6) {
|
|
170
|
+
var maxTagRows = _ref6.maxTagRows,
|
|
171
|
+
showAllTags = _ref6.showAllTags,
|
|
172
|
+
size = _ref6.size;
|
|
173
|
+
if (maxTagRows === 'single') {
|
|
174
|
+
return baseInputHeight[size];
|
|
175
|
+
}
|
|
176
|
+
if (maxTagRows === 'multiple') {
|
|
177
|
+
return baseInputWrapperMaxHeight[size];
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// In expandable, max-height depends on the state
|
|
181
|
+
return showAllTags ? baseInputWrapperMaxHeight[size] : baseInputHeight[size];
|
|
182
|
+
};
|
|
131
183
|
|
|
132
|
-
export { getBaseInputStyles, getInputBackgroundAndBorderStyles };
|
|
184
|
+
export { getAnimatedBaseInputWrapperMaxHeight, getBaseInputState, getBaseInputStyles, getInputBackgroundAndBorderStyles };
|
|
133
185
|
//# sourceMappingURL=baseInputStyles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseInputStyles.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport { BASEINPUT_DEFAULT_HEIGHT } from './baseInputConfig';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport { getPlatformType } from '~utils';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'interactionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n | 'isDropdownTrigger'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n isTextArea?: boolean;\n hasTags?: boolean;\n theme: Theme;\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n isTextArea,\n isDropdownTrigger,\n}: Pick<\n GetInputStyles,\n | 'theme'\n | 'isFocused'\n | 'isDisabled'\n | 'validationState'\n | 'isHovered'\n | 'isTextArea'\n | 'isDropdownTrigger'\n>): CSSObject => {\n // normal state\n let backgroundColor = theme.colors.interactive.background.gray.default;\n let borderBottomColor = theme.colors.interactive.background.gray.highlighted;\n\n // hoverState\n if (isHovered) {\n backgroundColor = theme.colors.interactive.background.gray.highlighted;\n }\n\n // focused state\n if (isFocused) {\n backgroundColor = theme.colors.interactive.background.primary.faded;\n }\n\n // disabled state\n if (isDisabled) {\n backgroundColor = theme.colors.interactive.background.gray.disabled;\n borderBottomColor = 'transparent';\n }\n\n // validation state\n if (validationState === 'error') {\n backgroundColor = theme.colors.interactive.background.negative.faded;\n borderBottomColor = theme.colors.interactive.background.negative.default;\n } else if (validationState === 'success') {\n backgroundColor = theme.colors.interactive.background.positive.faded;\n borderBottomColor = theme.colors.interactive.background.positive.default;\n }\n\n return {\n backgroundColor,\n borderBottomColor,\n borderTopLeftRadius: makeBorderSize(theme.border.radius.small),\n borderTopRightRadius: makeBorderSize(theme.border.radius.small),\n borderBottomWidth: makeBorderSize(theme.border.width.thin),\n borderBottomStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n alignItems: isTextArea ? 'flex-start' : undefined,\n position: 'relative',\n height: isDropdownTrigger ? 'auto' : undefined,\n };\n};\n\nconst getLeftPadding = ({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n}: {\n theme: Theme;\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n isDropdownTrigger: GetInputStyles['isDropdownTrigger'];\n}): number => {\n if (isDropdownTrigger) {\n return theme.spacing[0];\n }\n\n if (hasLeadingIcon || hasPrefix) {\n return theme.spacing[3];\n }\n\n return theme.spacing[4];\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n textAlign,\n isTextArea,\n hasTags,\n isDropdownTrigger,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n });\n\n const isDropdownWithTags = isDropdownTrigger && hasTags;\n const isReactNative = getPlatformType() === 'react-native';\n\n return {\n ...getTextStyles({\n size: 'medium',\n variant: 'body',\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n }),\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: 'transparent',\n paddingTop: makeSpace(theme.spacing[3]),\n paddingBottom: makeSpace(theme.spacing[3]),\n paddingLeft: makeSpace(getLeftPadding({ theme, isDropdownTrigger, hasLeadingIcon, hasPrefix })),\n paddingRight:\n hasInteractionElement || hasSuffix || hasTrailingIcon\n ? makeSpace(theme.spacing[3])\n : makeSpace(theme.spacing[4]),\n textAlign,\n width: '100%',\n height: isTextArea || isDropdownWithTags ? undefined : makeSpace(BASEINPUT_DEFAULT_HEIGHT),\n minHeight: isDropdownWithTags ? undefined : makeSpace(BASEINPUT_DEFAULT_HEIGHT),\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n"],"names":["getInputBackgroundAndBorderStyles","_ref","theme","isHovered","isFocused","isDisabled","validationState","isTextArea","isDropdownTrigger","backgroundColor","colors","interactive","background","gray","borderBottomColor","highlighted","primary","faded","disabled","negative","positive","borderTopLeftRadius","makeBorderSize","border","radius","small","borderTopRightRadius","borderBottomWidth","width","thin","borderBottomStyle","display","flexDirection","alignItems","undefined","position","height","getLeftPadding","_ref2","hasLeadingIcon","hasPrefix","spacing","getBaseInputStyles","_ref3","leadingIcon","prefix","interactionElement","suffix","trailingIcon","textAlign","hasTags","_getInputVisualsToBeR","getInputVisualsToBeRendered","hasInteractionElement","hasSuffix","hasTrailingIcon","isDropdownWithTags","isReactNative","getPlatformType","_objectSpread","getTextStyles","size","variant","weight","color","flex","paddingTop","makeSpace","paddingBottom","paddingLeft","paddingRight","BASEINPUT_DEFAULT_HEIGHT","minHeight","resize"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseInputStyles.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport { getBaseInputBorderStyles } from './getBaseInputBorderStyles';\nimport {\n baseInputBackgroundColor,\n baseInputBorderColor,\n baseInputBorderWidth,\n baseInputHeight,\n baseInputPaddingTokens,\n baseInputWrapperMaxHeight,\n} from './baseInputTokens';\nimport type { BaseInputWrapperProps } from './types';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport { getPlatformType } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport getHeadingStyles from '~components/Typography/Heading/getHeadingStyles';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'interactionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n | 'isDropdownTrigger'\n | 'valueComponentType'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n isTextArea?: boolean;\n hasTags?: boolean;\n theme: Theme;\n size: NonNullable<BaseInputProps['size']>;\n};\n\nexport const getBaseInputState = ({\n isFocused,\n isHovered,\n isDisabled,\n}: {\n isFocused?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n}): 'focused' | 'hovered' | 'disabled' | 'default' => {\n if (isDisabled) {\n return 'disabled';\n } else if (isFocused) {\n return 'focused';\n } else if (isHovered) {\n return 'hovered';\n } else {\n return 'default';\n }\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n isTextArea,\n isDropdownTrigger,\n}: Pick<\n GetInputStyles,\n | 'theme'\n | 'isFocused'\n | 'isDisabled'\n | 'validationState'\n | 'isHovered'\n | 'isTextArea'\n | 'isDropdownTrigger'\n>): CSSObject => {\n // normal state\n let backgroundColor = getIn(theme.colors, baseInputBackgroundColor.default);\n let borderColor = getIn(theme.colors, baseInputBorderColor.default);\n let borderWidth = getIn(theme.border.width, baseInputBorderWidth.default);\n\n const baseInputState = getBaseInputState({ isFocused, isHovered, isDisabled });\n\n backgroundColor = getIn(theme.colors, baseInputBackgroundColor[baseInputState]);\n borderColor = getIn(theme.colors, baseInputBorderColor[baseInputState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[baseInputState]);\n\n if (validationState === 'error') {\n borderColor = getIn(theme.colors, baseInputBorderColor.error);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth.error);\n } else if (validationState === 'success') {\n borderColor = getIn(theme.colors, baseInputBorderColor.success);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth.success);\n }\n\n return {\n backgroundColor,\n borderRadius: makeBorderSize(theme.border.radius.medium),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n alignItems: isTextArea ? 'flex-start' : undefined,\n position: 'relative',\n height: isDropdownTrigger ? 'auto' : undefined,\n border: 'none',\n ...getBaseInputBorderStyles({ theme, borderColor, borderWidth, isFocused }),\n };\n};\n\nconst getLeftPadding = ({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n size,\n}: {\n theme: Theme;\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n isDropdownTrigger: GetInputStyles['isDropdownTrigger'];\n size: GetInputStyles['size'];\n}): number => {\n if (isDropdownTrigger) {\n return theme.spacing[0];\n }\n\n if (hasLeadingIcon || hasPrefix) {\n return theme.spacing[3];\n }\n\n return theme.spacing[baseInputPaddingTokens.left[size]];\n};\n\nconst getRightPadding = ({\n theme,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n}: {\n theme: Theme;\n hasInteractionElement: boolean;\n hasSuffix: boolean;\n hasTrailingIcon: boolean;\n size: GetInputStyles['size'];\n}): number => {\n if (hasInteractionElement || hasSuffix || hasTrailingIcon) {\n return theme.spacing[3];\n }\n return theme.spacing[baseInputPaddingTokens.right[size]];\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n textAlign,\n isTextArea,\n hasTags,\n isDropdownTrigger,\n size,\n valueComponentType,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n size,\n });\n\n const isDropdownWithTags = isDropdownTrigger && hasTags;\n const isReactNative = getPlatformType() === 'react-native';\n\n return {\n ...(valueComponentType === 'heading'\n ? getHeadingStyles({\n size,\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })\n : getTextStyles({\n size,\n variant: 'body',\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })),\n\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: 'transparent',\n\n paddingTop: makeSpace(theme.spacing[baseInputPaddingTokens.top[size]]),\n paddingBottom: makeSpace(theme.spacing[baseInputPaddingTokens.bottom[size]]),\n paddingLeft: makeSpace(\n getLeftPadding({ theme, isDropdownTrigger, hasLeadingIcon, hasPrefix, size }),\n ),\n paddingRight: getRightPadding({\n theme,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n }),\n\n textAlign,\n width: '100%',\n height: isTextArea || isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),\n minHeight: isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n\nexport const getAnimatedBaseInputWrapperMaxHeight = ({\n maxTagRows,\n showAllTags,\n size,\n}: Pick<BaseInputWrapperProps, 'maxTagRows' | 'showAllTags' | 'size'>): number => {\n if (maxTagRows === 'single') {\n return baseInputHeight[size];\n }\n\n if (maxTagRows === 'multiple') {\n return baseInputWrapperMaxHeight[size];\n }\n\n // In expandable, max-height depends on the state\n return showAllTags ? baseInputWrapperMaxHeight[size] : baseInputHeight[size];\n};\n"],"names":["getBaseInputState","_ref","isFocused","isHovered","isDisabled","getInputBackgroundAndBorderStyles","_ref2","theme","validationState","isTextArea","isDropdownTrigger","backgroundColor","getIn","colors","baseInputBackgroundColor","borderColor","baseInputBorderColor","borderWidth","border","width","baseInputBorderWidth","baseInputState","error","success","_objectSpread","borderRadius","makeBorderSize","radius","medium","borderStyle","display","flexDirection","alignItems","undefined","position","height","getBaseInputBorderStyles","getLeftPadding","_ref3","hasLeadingIcon","hasPrefix","size","spacing","baseInputPaddingTokens","left","getRightPadding","_ref4","hasInteractionElement","hasSuffix","hasTrailingIcon","right","getBaseInputStyles","_ref5","leadingIcon","prefix","interactionElement","suffix","trailingIcon","textAlign","hasTags","valueComponentType","_getInputVisualsToBeR","getInputVisualsToBeRendered","isDropdownWithTags","isReactNative","getPlatformType","getHeadingStyles","weight","color","getTextStyles","variant","flex","paddingTop","makeSpace","top","paddingBottom","bottom","paddingLeft","paddingRight","baseInputHeight","minHeight","resize","getAnimatedBaseInputWrapperMaxHeight","_ref6","maxTagRows","showAllTags","baseInputWrapperMaxHeight"],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import '../../../tokens/global/index.js';
|
|
2
|
+
import { size } from '../../../tokens/global/size.js';
|
|
3
|
+
import { spacing } from '../../../tokens/global/spacing.js';
|
|
4
|
+
|
|
5
|
+
var BASEINPUT_MAX_ROWS = 4;
|
|
6
|
+
var TAG_HEIGHT = size['20'];
|
|
7
|
+
var TAG_GAP = spacing['3'];
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 36px
|
|
11
|
+
*/
|
|
12
|
+
var baseInputHeight = {
|
|
13
|
+
medium: size['36'],
|
|
14
|
+
large: size['48']
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* medium - 144px (36px height * 4 rows)
|
|
19
|
+
* large - 192px (48px height * 4 rows)
|
|
20
|
+
*/
|
|
21
|
+
// we don't want exact number but rough number to be able to animate correctly in height.
|
|
22
|
+
var baseInputWrapperMaxHeight = {
|
|
23
|
+
medium: baseInputHeight.medium * BASEINPUT_MAX_ROWS,
|
|
24
|
+
large: baseInputHeight.large * BASEINPUT_MAX_ROWS
|
|
25
|
+
};
|
|
26
|
+
var baseInputBorderColor = {
|
|
27
|
+
"default": 'interactive.border.gray.default',
|
|
28
|
+
hovered: 'interactive.border.gray.highlighted',
|
|
29
|
+
focused: 'interactive.border.primary.default',
|
|
30
|
+
disabled: 'interactive.border.gray.disabled',
|
|
31
|
+
error: 'interactive.border.negative.default',
|
|
32
|
+
success: 'interactive.border.positive.default'
|
|
33
|
+
};
|
|
34
|
+
var baseInputBackgroundColor = {
|
|
35
|
+
"default": 'surface.background.gray.intense',
|
|
36
|
+
hovered: 'surface.background.gray.moderate',
|
|
37
|
+
focused: 'surface.background.gray.moderate',
|
|
38
|
+
disabled: 'surface.background.gray.intense',
|
|
39
|
+
error: 'surface.background.gray.intense',
|
|
40
|
+
success: 'surface.background.gray.intense'
|
|
41
|
+
};
|
|
42
|
+
var baseInputBorderWidth = {
|
|
43
|
+
"default": 'thin',
|
|
44
|
+
hovered: 'thin',
|
|
45
|
+
disabled: 'thin',
|
|
46
|
+
focused: 'thick',
|
|
47
|
+
error: 'thick',
|
|
48
|
+
success: 'thick'
|
|
49
|
+
};
|
|
50
|
+
var baseInputBorderBackgroundMotion = {
|
|
51
|
+
enter: {
|
|
52
|
+
duration: 'xgentle',
|
|
53
|
+
easing: 'standard.revealing'
|
|
54
|
+
},
|
|
55
|
+
exit: {
|
|
56
|
+
duration: 'gentle',
|
|
57
|
+
easing: 'standard.effective'
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
var baseInputPaddingTokens = {
|
|
61
|
+
top: {
|
|
62
|
+
medium: 3,
|
|
63
|
+
large: 4
|
|
64
|
+
},
|
|
65
|
+
bottom: {
|
|
66
|
+
medium: 3,
|
|
67
|
+
large: 4
|
|
68
|
+
},
|
|
69
|
+
left: {
|
|
70
|
+
medium: 4,
|
|
71
|
+
large: 4
|
|
72
|
+
},
|
|
73
|
+
right: {
|
|
74
|
+
medium: 4,
|
|
75
|
+
large: 4
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/* the magic number 192 is basically max-width of label
|
|
80
|
+
i.e 176 and then right margin
|
|
81
|
+
i.e 16 which is the spacing between label and input field */
|
|
82
|
+
var formHintLeftLabelMarginLeft = {
|
|
83
|
+
medium: 136,
|
|
84
|
+
large: 192
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export { BASEINPUT_MAX_ROWS, TAG_GAP, TAG_HEIGHT, baseInputBackgroundColor, baseInputBorderBackgroundMotion, baseInputBorderColor, baseInputBorderWidth, baseInputHeight, baseInputPaddingTokens, baseInputWrapperMaxHeight, formHintLeftLabelMarginLeft };
|
|
88
|
+
//# sourceMappingURL=baseInputTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseInputTokens.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputTokens.ts"],"sourcesContent":["import type { BaseInputProps } from './BaseInput';\nimport { size, spacing } from '~tokens/global';\n\nexport const BASEINPUT_MAX_ROWS = 4;\n\nexport const TAG_HEIGHT = size['20'];\nexport const TAG_GAP = spacing['3'];\n\n/**\n * 36px\n */\nexport const baseInputHeight: Record<\n NonNullable<BaseInputProps['size']>,\n typeof size[keyof typeof size]\n> = {\n medium: size['36'],\n large: size['48'],\n};\n\n/**\n * medium - 144px (36px height * 4 rows)\n * large - 192px (48px height * 4 rows)\n */\n// we don't want exact number but rough number to be able to animate correctly in height.\nexport const baseInputWrapperMaxHeight = {\n medium: baseInputHeight.medium * BASEINPUT_MAX_ROWS,\n large: baseInputHeight.large * BASEINPUT_MAX_ROWS,\n} as const;\n\nexport const baseInputBorderColor = {\n default: 'interactive.border.gray.default',\n hovered: 'interactive.border.gray.highlighted',\n focused: 'interactive.border.primary.default',\n disabled: 'interactive.border.gray.disabled',\n error: 'interactive.border.negative.default',\n success: 'interactive.border.positive.default',\n} as const;\n\nexport const baseInputBackgroundColor = {\n default: 'surface.background.gray.intense',\n hovered: 'surface.background.gray.moderate',\n focused: 'surface.background.gray.moderate',\n disabled: 'surface.background.gray.intense',\n error: 'surface.background.gray.intense',\n success: 'surface.background.gray.intense',\n} as const;\n\nexport const baseInputBorderWidth = {\n default: 'thin',\n hovered: 'thin',\n disabled: 'thin',\n focused: 'thick',\n error: 'thick',\n success: 'thick',\n} as const;\n\nexport const baseInputBorderBackgroundMotion = {\n enter: { duration: 'xgentle', easing: 'standard.revealing' },\n exit: { duration: 'gentle', easing: 'standard.effective' },\n} as const;\n\nexport const baseInputPaddingTokens = {\n top: {\n medium: 3,\n large: 4,\n },\n bottom: {\n medium: 3,\n large: 4,\n },\n left: {\n medium: 4,\n large: 4,\n },\n right: {\n medium: 4,\n large: 4,\n },\n} as const;\n\n/* the magic number 192 is basically max-width of label \ni.e 176 and then right margin \ni.e 16 which is the spacing between label and input field */\nexport const formHintLeftLabelMarginLeft = {\n medium: 136,\n large: 192,\n} as const;\n"],"names":["BASEINPUT_MAX_ROWS","TAG_HEIGHT","size","TAG_GAP","spacing","baseInputHeight","medium","large","baseInputWrapperMaxHeight","baseInputBorderColor","hovered","focused","disabled","error","success","baseInputBackgroundColor","baseInputBorderWidth","baseInputBorderBackgroundMotion","enter","duration","easing","exit","baseInputPaddingTokens","top","bottom","left","right","formHintLeftLabelMarginLeft"],"mappings":";;;;AAGO,IAAMA,kBAAkB,GAAG,EAAC;IAEtBC,UAAU,GAAGC,IAAI,CAAC,IAAI,EAAC;IACvBC,OAAO,GAAGC,OAAO,CAAC,GAAG,EAAC;;AAEnC;AACA;AACA;AACO,IAAMC,eAGZ,GAAG;AACFC,EAAAA,MAAM,EAAEJ,IAAI,CAAC,IAAI,CAAC;EAClBK,KAAK,EAAEL,IAAI,CAAC,IAAI,CAAA;AAClB,EAAC;;AAED;AACA;AACA;AACA;AACA;AACO,IAAMM,yBAAyB,GAAG;AACvCF,EAAAA,MAAM,EAAED,eAAe,CAACC,MAAM,GAAGN,kBAAkB;AACnDO,EAAAA,KAAK,EAAEF,eAAe,CAACE,KAAK,GAAGP,kBAAAA;AACjC,EAAU;AAEH,IAAMS,oBAAoB,GAAG;AAClC,EAAA,SAAA,EAAS,iCAAiC;AAC1CC,EAAAA,OAAO,EAAE,qCAAqC;AAC9CC,EAAAA,OAAO,EAAE,oCAAoC;AAC7CC,EAAAA,QAAQ,EAAE,kCAAkC;AAC5CC,EAAAA,KAAK,EAAE,qCAAqC;AAC5CC,EAAAA,OAAO,EAAE,qCAAA;AACX,EAAU;AAEH,IAAMC,wBAAwB,GAAG;AACtC,EAAA,SAAA,EAAS,iCAAiC;AAC1CL,EAAAA,OAAO,EAAE,kCAAkC;AAC3CC,EAAAA,OAAO,EAAE,kCAAkC;AAC3CC,EAAAA,QAAQ,EAAE,iCAAiC;AAC3CC,EAAAA,KAAK,EAAE,iCAAiC;AACxCC,EAAAA,OAAO,EAAE,iCAAA;AACX,EAAU;AAEH,IAAME,oBAAoB,GAAG;AAClC,EAAA,SAAA,EAAS,MAAM;AACfN,EAAAA,OAAO,EAAE,MAAM;AACfE,EAAAA,QAAQ,EAAE,MAAM;AAChBD,EAAAA,OAAO,EAAE,OAAO;AAChBE,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,OAAA;AACX,EAAU;AAEH,IAAMG,+BAA+B,GAAG;AAC7CC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAS;AAAEC,IAAAA,MAAM,EAAE,oBAAA;GAAsB;AAC5DC,EAAAA,IAAI,EAAE;AAAEF,IAAAA,QAAQ,EAAE,QAAQ;AAAEC,IAAAA,MAAM,EAAE,oBAAA;AAAqB,GAAA;AAC3D,EAAU;AAEH,IAAME,sBAAsB,GAAG;AACpCC,EAAAA,GAAG,EAAE;AACHjB,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDiB,EAAAA,MAAM,EAAE;AACNlB,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDkB,EAAAA,IAAI,EAAE;AACJnB,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDmB,EAAAA,KAAK,EAAE;AACLpB,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,CAAA;AACT,GAAA;AACF,EAAU;;AAEV;AACA;AACA;AACO,IAAMoB,2BAA2B,GAAG;AACzCrB,EAAAA,MAAM,EAAE,GAAG;AACXC,EAAAA,KAAK,EAAE,GAAA;AACT;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { baseInputBorderBackgroundMotion } from './baseInputTokens.js';
|
|
2
|
+
import '../../../utils/index.js';
|
|
3
|
+
import getIn from '../../../utils/lodashButBetter/get.js';
|
|
4
|
+
import { makeBorderSize } from '../../../utils/makeBorderSize/makeBorderSize.js';
|
|
5
|
+
import { castWebType } from '../../../utils/platform/castUtils.js';
|
|
6
|
+
import { makeMotionTime } from '../../../utils/makeMotionTime/makeMotionTime.web.js';
|
|
7
|
+
|
|
8
|
+
var getBaseInputBorderStyles = function getBaseInputBorderStyles(_ref) {
|
|
9
|
+
var theme = _ref.theme,
|
|
10
|
+
borderWidth = _ref.borderWidth,
|
|
11
|
+
borderColor = _ref.borderColor,
|
|
12
|
+
isFocused = _ref.isFocused;
|
|
13
|
+
return {
|
|
14
|
+
borderWidth: makeBorderSize(theme.border.width.none),
|
|
15
|
+
boxShadow: "".concat(borderColor, " 0px 0px 0px ").concat(makeBorderSize(borderWidth)),
|
|
16
|
+
transitionProperty: 'box-shadow, background-color',
|
|
17
|
+
transitionDuration: castWebType(makeMotionTime(getIn(theme.motion.duration, baseInputBorderBackgroundMotion[isFocused ? 'enter' : 'exit'].duration))),
|
|
18
|
+
transitionEasing: castWebType(getIn(theme.motion.easing, baseInputBorderBackgroundMotion[isFocused ? 'enter' : 'exit'].easing))
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { getBaseInputBorderStyles };
|
|
23
|
+
//# sourceMappingURL=getBaseInputBorderStyles.web.js.map
|
package/build/lib/web/production/components/Input/BaseInput/getBaseInputBorderStyles.web.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBaseInputBorderStyles.web.js","sources":["../../../../../../../src/components/Input/BaseInput/getBaseInputBorderStyles.web.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport { baseInputBorderBackgroundMotion } from './baseInputTokens';\nimport type { Theme } from '~components/BladeProvider';\nimport { castWebType, makeBorderSize, makeMotionTime } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\n\nconst getBaseInputBorderStyles = ({\n theme,\n borderWidth,\n borderColor,\n isFocused,\n}: {\n theme: Theme;\n borderWidth: number;\n borderColor: string;\n isFocused?: boolean;\n}): CSSObject => ({\n borderWidth: makeBorderSize(theme.border.width.none),\n boxShadow: `${borderColor} 0px 0px 0px ${makeBorderSize(borderWidth)}`,\n transitionProperty: 'box-shadow, background-color',\n transitionDuration: castWebType(\n makeMotionTime(\n getIn(\n theme.motion.duration,\n baseInputBorderBackgroundMotion[isFocused ? 'enter' : 'exit'].duration,\n ),\n ),\n ),\n transitionEasing: castWebType(\n getIn(\n theme.motion.easing,\n baseInputBorderBackgroundMotion[isFocused ? 'enter' : 'exit'].easing,\n ),\n ),\n});\n\nexport { getBaseInputBorderStyles };\n"],"names":["getBaseInputBorderStyles","_ref","theme","borderWidth","borderColor","isFocused","makeBorderSize","border","width","none","boxShadow","concat","transitionProperty","transitionDuration","castWebType","makeMotionTime","getIn","motion","duration","baseInputBorderBackgroundMotion","transitionEasing","easing"],"mappings":";;;;;;;AAMA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAC5BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,SAAS,GAAAJ,IAAA,CAATI,SAAS,CAAA;EAAA,OAMO;IAChBF,WAAW,EAAEG,cAAc,CAACJ,KAAK,CAACK,MAAM,CAACC,KAAK,CAACC,IAAI,CAAC;IACpDC,SAAS,EAAA,EAAA,CAAAC,MAAA,CAAKP,WAAW,EAAA,eAAA,CAAA,CAAAO,MAAA,CAAgBL,cAAc,CAACH,WAAW,CAAC,CAAE;AACtES,IAAAA,kBAAkB,EAAE,8BAA8B;IAClDC,kBAAkB,EAAEC,WAAW,CAC7BC,cAAc,CACZC,KAAK,CACHd,KAAK,CAACe,MAAM,CAACC,QAAQ,EACrBC,+BAA+B,CAACd,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC,CAACa,QAChE,CACF,CACF,CAAC;IACDE,gBAAgB,EAAEN,WAAW,CAC3BE,KAAK,CACHd,KAAK,CAACe,MAAM,CAACI,MAAM,EACnBF,+BAA+B,CAACd,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC,CAACgB,MAChE,CACF,CAAA;GACD,CAAA;AAAA;;;;"}
|
package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js
CHANGED
|
@@ -171,19 +171,21 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
|
|
|
171
171
|
return props.inputValue;
|
|
172
172
|
};
|
|
173
173
|
var getTags = React__default.useMemo(function () {
|
|
174
|
-
return function () {
|
|
174
|
+
return function (_ref) {
|
|
175
|
+
var size = _ref.size;
|
|
175
176
|
if (selectionType === 'single') {
|
|
176
177
|
return undefined;
|
|
177
178
|
}
|
|
178
179
|
return getTagsGroup({
|
|
180
|
+
size: size,
|
|
179
181
|
tags: selectedIndices.map(function (selectedIndex) {
|
|
180
182
|
var _options$selectedInde;
|
|
181
183
|
return (_options$selectedInde = options[selectedIndex]) === null || _options$selectedInde === void 0 ? void 0 : _options$selectedInde.title;
|
|
182
184
|
}),
|
|
183
185
|
activeTagIndex: activeTagIndex,
|
|
184
186
|
isDisabled: props.isDisabled,
|
|
185
|
-
onDismiss: function onDismiss(
|
|
186
|
-
var tagIndex =
|
|
187
|
+
onDismiss: function onDismiss(_ref2) {
|
|
188
|
+
var tagIndex = _ref2.tagIndex;
|
|
187
189
|
if (isTagDismissedRef.current) {
|
|
188
190
|
isTagDismissedRef.current.value = true;
|
|
189
191
|
}
|
|
@@ -218,7 +220,9 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
|
|
|
218
220
|
triggererWrapperRef.current = wrapperNode;
|
|
219
221
|
},
|
|
220
222
|
maxTagRows: (_props$maxRows = props.maxRows) !== null && _props$maxRows !== void 0 ? _props$maxRows : 'single',
|
|
221
|
-
tags: getTags(
|
|
223
|
+
tags: getTags({
|
|
224
|
+
size: props.size || 'medium'
|
|
225
|
+
}),
|
|
222
226
|
showAllTags: getShowAllTags(),
|
|
223
227
|
activeTagIndex: activeTagIndex,
|
|
224
228
|
setActiveTagIndex: setActiveTagIndex,
|
|
@@ -255,9 +259,9 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
|
|
|
255
259
|
(_props$onTriggerClick = props.onTriggerClick) === null || _props$onTriggerClick === void 0 ? void 0 : _props$onTriggerClick.call(props, e);
|
|
256
260
|
},
|
|
257
261
|
onFocus: props.onFocus,
|
|
258
|
-
onBlur: function onBlur(
|
|
262
|
+
onBlur: function onBlur(_ref3) {
|
|
259
263
|
var _props$onBlur;
|
|
260
|
-
var name =
|
|
264
|
+
var name = _ref3.name;
|
|
261
265
|
(_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 ? void 0 : _props$onBlur.call(props, {
|
|
262
266
|
name: name,
|
|
263
267
|
value: value
|
|
@@ -280,6 +284,7 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
|
|
|
280
284
|
,
|
|
281
285
|
onChange: props.isSelectInput ? undefined : props.onInputValueChange,
|
|
282
286
|
onKeyDown: props.onTriggerKeydown,
|
|
287
|
+
size: props.size,
|
|
283
288
|
interactionElement: isAutoCompleteInHeader ? null : /*#__PURE__*/jsx(InputChevronIcon, {
|
|
284
289
|
onClick: function onClick() {
|
|
285
290
|
if (!props.isDisabled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps } from './types';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useFirstRender } from '~utils/useFirstRender';\n\nconst useControlledDropdownInput = (\n props: Pick<\n BaseDropdownInputTriggerProps,\n | 'onChange'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onInputValueChange'\n | 'syncInputValueWithSelection'\n | 'isSelectInput'\n >,\n): void => {\n const isFirstRender = useFirstRender();\n const {\n changeCallbackTriggerer,\n isControlled,\n options,\n selectedIndices,\n controlledValueIndices,\n setSelectedIndices,\n selectionType,\n setIsControlled,\n } = useDropdown();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n const selectValues = (valuesToSelect: string | string[]): void => {\n if (options.length > 0) {\n // we use empty `''` for clearing the input\n if (isEmpty(valuesToSelect)) {\n setSelectedIndices([]);\n } else if (typeof valuesToSelect === 'string') {\n // single select control\n const selectedItemIndex = options.findIndex((option) => option.value === valuesToSelect);\n if (selectedItemIndex >= 0) {\n setSelectedIndices([selectedItemIndex]);\n }\n } else {\n // multiselect control\n\n // Handles repeated values in user state\n const uniqueValues = Array.from(new Set(valuesToSelect));\n // Handle selectionType single with multiselect values\n const userValues = selectionType === 'single' ? [valuesToSelect?.[0]] : uniqueValues;\n\n const selectedItemIndices = userValues\n .map((optionValue) => options.findIndex((option) => option.value === optionValue))\n .filter((value) => value >= 0);\n\n setSelectedIndices(selectedItemIndices);\n }\n }\n };\n\n // Handles `defaultValue` prop\n React.useEffect(() => {\n if (options.length > 0 && props.defaultValue) {\n selectValues(props.defaultValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.length]);\n\n // Handles `value` prop\n React.useEffect(() => {\n if (options.length > 0 && props.value !== undefined) {\n if (!isControlled) {\n setIsControlled(true);\n }\n\n selectValues(props.value);\n\n // in single select AutoComplete, we have to set inputValue of autocomplete according to the new selection.\n if (selectionType === 'single' && !Array.isArray(props.value) && !props.isSelectInput) {\n props.syncInputValueWithSelection?.(props.value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, options]);\n\n // onChange behaviour\n React.useEffect(() => {\n // Ignore calling onChange on mount\n\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name,\n values: getValuesArrayFromIndices(),\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n};\n\nconst _BaseDropdownInputTrigger = (\n props: BaseDropdownInputTriggerProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n isOpen,\n activeTagIndex,\n setActiveTagIndex,\n displayValue,\n selectionType,\n dropdownTriggerer,\n dropdownBaseId,\n selectedIndices,\n triggererRef,\n triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\n options,\n removeOption,\n setChangeCallbackTriggerer,\n changeCallbackTriggerer,\n } = useDropdown();\n\n const dropdownTriggerPlaceholder = props.placeholder ?? 'Select Option';\n const isAutoCompleteInHeader = !props.isSelectInput && hasAutoCompleteInBottomSheetHeader;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (hasAutoCompleteInBottomSheetHeader) {\n // When AutoComplete is in bottomsheet header, we never want to show all tags in outer select input\n if (props.isSelectInput) {\n return false;\n }\n\n // ... And we always want to show all tags in inner AutoComplete\n return true;\n }\n\n return isOpen;\n }, [hasAutoCompleteInBottomSheetHeader, props.isSelectInput, isOpen]);\n\n useControlledDropdownInput({\n onChange: props.onChange,\n name: props.name,\n value: props.value,\n defaultValue: props.defaultValue,\n syncInputValueWithSelection: props.syncInputValueWithSelection,\n isSelectInput: props.isSelectInput,\n });\n\n const getValue = (): string | undefined => {\n let prefix = '';\n if (props.labelPosition === 'inside-input' && props.label) {\n prefix = `${props.label}: `;\n }\n\n if (props.isSelectInput) {\n if (selectionType === 'single') {\n return `${prefix}${displayValue}`;\n }\n\n // In multiselect, we return tags so no display value is required\n return undefined;\n }\n\n // In AutoComplete, input has a special value too\n return props.inputValue;\n };\n\n const getTags = React.useMemo(\n () => () => {\n if (selectionType === 'single') {\n return undefined;\n }\n\n return getTagsGroup({\n tags: selectedIndices.map((selectedIndex) => options[selectedIndex]?.title),\n activeTagIndex,\n isDisabled: props.isDisabled,\n onDismiss: ({ tagIndex }) => {\n if (isTagDismissedRef.current) {\n isTagDismissedRef.current.value = true;\n }\n\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n\n removeOption(selectedIndices[tagIndex]);\n setChangeCallbackTriggerer(Number(changeCallbackTriggerer) + 1);\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options],\n );\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (!isReactNative()\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n triggererRef.current = node;\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }\n : null) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags()}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n hasPopup={getActionListContainerRole(hasFooterAction, dropdownTriggerer)}\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={`${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n interactionElement={\n isAutoCompleteInHeader ? null : (\n <InputChevronIcon\n onClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n isDisabled={props.isDisabled}\n isOpen={isOpen}\n />\n )\n }\n />\n );\n};\n\nconst BaseDropdownInputTrigger = React.forwardRef(_BaseDropdownInputTrigger);\n\nexport { BaseDropdownInputTrigger };\n"],"names":["useControlledDropdownInput","props","isFirstRender","useFirstRender","_useDropdown","useDropdown","changeCallbackTriggerer","isControlled","options","selectedIndices","controlledValueIndices","setSelectedIndices","selectionType","setIsControlled","getValuesArrayFromIndices","indices","map","selectionIndex","value","selectValues","valuesToSelect","length","isEmpty","selectedItemIndex","findIndex","option","uniqueValues","Array","from","Set","userValues","selectedItemIndices","optionValue","filter","React","useEffect","defaultValue","undefined","isArray","isSelectInput","_props$syncInputValue","syncInputValueWithSelection","call","_props$onChange","onChange","name","values","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","concat","inputValue","getTags","useMemo","getTagsGroup","tags","selectedIndex","_options$selectedInde","title","isDisabled","onDismiss","_ref","tagIndex","current","isReactNative","_triggererRef$current","focus","Number","_jsx","BaseInput","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","validationState","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","_props$onTriggerClick","onFocus","onBlur","_ref2","_props$onBlur","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","id","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","interactionElement","InputChevronIcon","_triggererRef$current2","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport type { BaseInputProps } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps } from './types';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useFirstRender } from '~utils/useFirstRender';\n\nconst useControlledDropdownInput = (\n props: Pick<\n BaseDropdownInputTriggerProps,\n | 'onChange'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onInputValueChange'\n | 'syncInputValueWithSelection'\n | 'isSelectInput'\n >,\n): void => {\n const isFirstRender = useFirstRender();\n const {\n changeCallbackTriggerer,\n isControlled,\n options,\n selectedIndices,\n controlledValueIndices,\n setSelectedIndices,\n selectionType,\n setIsControlled,\n } = useDropdown();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n const selectValues = (valuesToSelect: string | string[]): void => {\n if (options.length > 0) {\n // we use empty `''` for clearing the input\n if (isEmpty(valuesToSelect)) {\n setSelectedIndices([]);\n } else if (typeof valuesToSelect === 'string') {\n // single select control\n const selectedItemIndex = options.findIndex((option) => option.value === valuesToSelect);\n if (selectedItemIndex >= 0) {\n setSelectedIndices([selectedItemIndex]);\n }\n } else {\n // multiselect control\n\n // Handles repeated values in user state\n const uniqueValues = Array.from(new Set(valuesToSelect));\n // Handle selectionType single with multiselect values\n const userValues = selectionType === 'single' ? [valuesToSelect?.[0]] : uniqueValues;\n\n const selectedItemIndices = userValues\n .map((optionValue) => options.findIndex((option) => option.value === optionValue))\n .filter((value) => value >= 0);\n\n setSelectedIndices(selectedItemIndices);\n }\n }\n };\n\n // Handles `defaultValue` prop\n React.useEffect(() => {\n if (options.length > 0 && props.defaultValue) {\n selectValues(props.defaultValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.length]);\n\n // Handles `value` prop\n React.useEffect(() => {\n if (options.length > 0 && props.value !== undefined) {\n if (!isControlled) {\n setIsControlled(true);\n }\n\n selectValues(props.value);\n\n // in single select AutoComplete, we have to set inputValue of autocomplete according to the new selection.\n if (selectionType === 'single' && !Array.isArray(props.value) && !props.isSelectInput) {\n props.syncInputValueWithSelection?.(props.value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, options]);\n\n // onChange behaviour\n React.useEffect(() => {\n // Ignore calling onChange on mount\n\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name,\n values: getValuesArrayFromIndices(),\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n};\n\nconst _BaseDropdownInputTrigger = (\n props: BaseDropdownInputTriggerProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n isOpen,\n activeTagIndex,\n setActiveTagIndex,\n displayValue,\n selectionType,\n dropdownTriggerer,\n dropdownBaseId,\n selectedIndices,\n triggererRef,\n triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\n options,\n removeOption,\n setChangeCallbackTriggerer,\n changeCallbackTriggerer,\n } = useDropdown();\n\n const dropdownTriggerPlaceholder = props.placeholder ?? 'Select Option';\n const isAutoCompleteInHeader = !props.isSelectInput && hasAutoCompleteInBottomSheetHeader;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (hasAutoCompleteInBottomSheetHeader) {\n // When AutoComplete is in bottomsheet header, we never want to show all tags in outer select input\n if (props.isSelectInput) {\n return false;\n }\n\n // ... And we always want to show all tags in inner AutoComplete\n return true;\n }\n\n return isOpen;\n }, [hasAutoCompleteInBottomSheetHeader, props.isSelectInput, isOpen]);\n\n useControlledDropdownInput({\n onChange: props.onChange,\n name: props.name,\n value: props.value,\n defaultValue: props.defaultValue,\n syncInputValueWithSelection: props.syncInputValueWithSelection,\n isSelectInput: props.isSelectInput,\n });\n\n const getValue = (): string | undefined => {\n let prefix = '';\n if (props.labelPosition === 'inside-input' && props.label) {\n prefix = `${props.label}: `;\n }\n\n if (props.isSelectInput) {\n if (selectionType === 'single') {\n return `${prefix}${displayValue}`;\n }\n\n // In multiselect, we return tags so no display value is required\n return undefined;\n }\n\n // In AutoComplete, input has a special value too\n return props.inputValue;\n };\n\n const getTags = React.useMemo(\n () => ({ size }: { size: NonNullable<BaseInputProps['size']> }) => {\n if (selectionType === 'single') {\n return undefined;\n }\n\n return getTagsGroup({\n size,\n tags: selectedIndices.map((selectedIndex) => options[selectedIndex]?.title),\n activeTagIndex,\n isDisabled: props.isDisabled,\n onDismiss: ({ tagIndex }) => {\n if (isTagDismissedRef.current) {\n isTagDismissedRef.current.value = true;\n }\n\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n\n removeOption(selectedIndices[tagIndex]);\n setChangeCallbackTriggerer(Number(changeCallbackTriggerer) + 1);\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options],\n );\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (!isReactNative()\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n triggererRef.current = node;\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }\n : null) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags({ size: props.size || 'medium' })}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n hasPopup={getActionListContainerRole(hasFooterAction, dropdownTriggerer)}\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={`${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n size={props.size}\n interactionElement={\n isAutoCompleteInHeader ? null : (\n <InputChevronIcon\n onClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n isDisabled={props.isDisabled}\n isOpen={isOpen}\n />\n )\n }\n />\n );\n};\n\nconst BaseDropdownInputTrigger = React.forwardRef(_BaseDropdownInputTrigger);\n\nexport { BaseDropdownInputTrigger };\n"],"names":["useControlledDropdownInput","props","isFirstRender","useFirstRender","_useDropdown","useDropdown","changeCallbackTriggerer","isControlled","options","selectedIndices","controlledValueIndices","setSelectedIndices","selectionType","setIsControlled","getValuesArrayFromIndices","indices","map","selectionIndex","value","selectValues","valuesToSelect","length","isEmpty","selectedItemIndex","findIndex","option","uniqueValues","Array","from","Set","userValues","selectedItemIndices","optionValue","filter","React","useEffect","defaultValue","undefined","isArray","isSelectInput","_props$syncInputValue","syncInputValueWithSelection","call","_props$onChange","onChange","name","values","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","concat","inputValue","getTags","useMemo","_ref","size","getTagsGroup","tags","selectedIndex","_options$selectedInde","title","isDisabled","onDismiss","_ref2","tagIndex","current","isReactNative","_triggererRef$current","focus","Number","_jsx","BaseInput","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","validationState","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","_props$onTriggerClick","onFocus","onBlur","_ref3","_props$onBlur","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","id","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","interactionElement","InputChevronIcon","_triggererRef$current2","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
|