@razorpay/blade 11.35.0 → 11.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/native/components/Card/Card.js.map +1 -1
- package/build/lib/native/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +12 -0
- package/build/lib/native/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
- package/build/lib/native/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +12 -0
- package/build/lib/native/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
- package/build/lib/native/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +12 -0
- package/build/lib/native/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
- package/build/lib/native/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +12 -0
- package/build/lib/native/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
- package/build/lib/native/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +12 -0
- package/build/lib/native/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
- package/build/lib/native/components/Icons/BillMeIcon/BillMeIcon.js +12 -0
- package/build/lib/native/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
- package/build/lib/native/components/Icons/NoSignalIcon/NoSignalIcon.js +12 -0
- package/build/lib/native/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
- package/build/lib/native/components/Icons/Signal1BarIcon/Signal1BarIcon.js +12 -0
- package/build/lib/native/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
- package/build/lib/native/components/Icons/Signal2BarIcon/Signal2BarIcon.js +12 -0
- package/build/lib/native/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
- package/build/lib/native/components/Icons/Signal3BarIcon/Signal3BarIcon.js +12 -0
- package/build/lib/native/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
- package/build/lib/native/components/Icons/Signal4BarIcon/Signal4BarIcon.js +12 -0
- package/build/lib/native/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
- package/build/lib/native/components/Icons/SignalIcon/SignalIcon.js +12 -0
- package/build/lib/native/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
- package/build/lib/native/components/Icons/SimCardIcon/SimCardIcon.js +12 -0
- package/build/lib/native/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
- package/build/lib/native/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
- package/build/lib/native/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
- package/build/lib/native/components/Icons/UpiIcon/UpiIcon.js +12 -0
- package/build/lib/native/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
- package/build/lib/native/components/Icons/YoutubeIcon/YoutubeIcon.js +12 -0
- package/build/lib/native/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
- 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 +2 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- 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/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/index.js +15 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/web/development/components/Card/Card.js.map +1 -1
- package/build/lib/web/development/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +57 -0
- package/build/lib/web/development/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery100PercentIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Battery100PercentIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +45 -0
- package/build/lib/web/development/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery20PercentIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Battery20PercentIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +48 -0
- package/build/lib/web/development/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery40PercentIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Battery40PercentIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +51 -0
- package/build/lib/web/development/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery60PercentIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Battery60PercentIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +54 -0
- package/build/lib/web/development/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Battery80PercentIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Battery80PercentIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/BillMeIcon/BillMeIcon.js +51 -0
- package/build/lib/web/development/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/BillMeIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/BillMeIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/NoSignalIcon/NoSignalIcon.js +37 -0
- package/build/lib/web/development/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/NoSignalIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/NoSignalIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/Signal1BarIcon/Signal1BarIcon.js +37 -0
- package/build/lib/web/development/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Signal1BarIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Signal1BarIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/Signal2BarIcon/Signal2BarIcon.js +37 -0
- package/build/lib/web/development/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Signal2BarIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Signal2BarIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/Signal3BarIcon/Signal3BarIcon.js +37 -0
- package/build/lib/web/development/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Signal3BarIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Signal3BarIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/Signal4BarIcon/Signal4BarIcon.js +37 -0
- package/build/lib/web/development/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/Signal4BarIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/Signal4BarIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/SignalIcon/SignalIcon.js +37 -0
- package/build/lib/web/development/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/SignalIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/SignalIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/SimCardIcon/SimCardIcon.js +57 -0
- package/build/lib/web/development/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/SimCardIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/SimCardIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
- package/build/lib/web/development/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
- package/build/lib/web/development/components/Icons/UpiIcon/UpiIcon.js +39 -0
- package/build/lib/web/development/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/UpiIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/UpiIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/YoutubeIcon/YoutubeIcon.js +44 -0
- package/build/lib/web/development/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/YoutubeIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/YoutubeIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/index.js +15 -0
- package/build/lib/web/development/components/Icons/index.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +3 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +77 -66
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +10 -10
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalBody.web.js.map +1 -1
- package/build/lib/web/development/components/index.js +15 -0
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/web/production/components/Card/Card.js.map +1 -1
- package/build/lib/web/production/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +57 -0
- package/build/lib/web/production/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery100PercentIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Battery100PercentIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +45 -0
- package/build/lib/web/production/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery20PercentIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Battery20PercentIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +48 -0
- package/build/lib/web/production/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery40PercentIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Battery40PercentIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +51 -0
- package/build/lib/web/production/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery60PercentIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Battery60PercentIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +54 -0
- package/build/lib/web/production/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Battery80PercentIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Battery80PercentIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/BillMeIcon/BillMeIcon.js +51 -0
- package/build/lib/web/production/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/BillMeIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/BillMeIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/NoSignalIcon/NoSignalIcon.js +37 -0
- package/build/lib/web/production/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/NoSignalIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/NoSignalIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/Signal1BarIcon/Signal1BarIcon.js +37 -0
- package/build/lib/web/production/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Signal1BarIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Signal1BarIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/Signal2BarIcon/Signal2BarIcon.js +37 -0
- package/build/lib/web/production/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Signal2BarIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Signal2BarIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/Signal3BarIcon/Signal3BarIcon.js +37 -0
- package/build/lib/web/production/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Signal3BarIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Signal3BarIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/Signal4BarIcon/Signal4BarIcon.js +37 -0
- package/build/lib/web/production/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/Signal4BarIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/Signal4BarIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/SignalIcon/SignalIcon.js +37 -0
- package/build/lib/web/production/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/SignalIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/SignalIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/SimCardIcon/SimCardIcon.js +57 -0
- package/build/lib/web/production/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/SimCardIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/SimCardIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
- package/build/lib/web/production/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
- package/build/lib/web/production/components/Icons/UpiIcon/UpiIcon.js +39 -0
- package/build/lib/web/production/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/UpiIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/UpiIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/YoutubeIcon/YoutubeIcon.js +44 -0
- package/build/lib/web/production/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/YoutubeIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/YoutubeIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/index.js +15 -0
- package/build/lib/web/production/components/Icons/index.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +3 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +77 -66
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +10 -10
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalBody.web.js.map +1 -1
- package/build/lib/web/production/components/index.js +15 -0
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/types/components/index.d.ts +55 -21
- package/build/types/components/index.native.d.ts +54 -20
- package/codemods/aicodemod/README.md +26 -0
- package/codemods/aicodemod/bin.mjs +128 -0
- package/codemods/aicodemod/knowledge/Table.md +596 -0
- package/codemods/aicodemod/knowledge/presets/dashboard/table-pattern-1.md +319 -0
- package/package.json +4 -2
|
@@ -6,6 +6,7 @@ import '../../../utils/isValidAllowedChildren/index.js';
|
|
|
6
6
|
import '../../../utils/logger/index.js';
|
|
7
7
|
import '../../Tooltip/index.js';
|
|
8
8
|
import '../../Box/index.js';
|
|
9
|
+
import '../../../utils/index.js';
|
|
9
10
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
11
|
import { Tooltip } from '../../Tooltip/Tooltip.web.js';
|
|
11
12
|
import { Box } from '../../Box/Box.js';
|
|
@@ -13,15 +14,18 @@ import { isValidAllowedChildren } from '../../../utils/isValidAllowedChildren/is
|
|
|
13
14
|
import { throwBladeError } from '../../../utils/logger/logger.js';
|
|
14
15
|
import { BaseBox } from '../../Box/BaseBox/BaseBox.web.js';
|
|
15
16
|
import { Text } from '../../Typography/Text/Text.js';
|
|
17
|
+
import { isReactNative } from '../../../utils/platform/isReactNative.js';
|
|
16
18
|
|
|
17
19
|
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; }
|
|
18
20
|
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; }
|
|
19
21
|
var getVisualContainerStyles = function getVisualContainerStyles() {
|
|
22
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
23
|
+
shouldStretchTrailingBox = _ref.shouldStretchTrailingBox;
|
|
20
24
|
return {
|
|
21
25
|
display: 'flex',
|
|
22
26
|
flexDirection: 'row',
|
|
23
27
|
alignItems: 'center',
|
|
24
|
-
alignSelf: 'center'
|
|
28
|
+
alignSelf: shouldStretchTrailingBox ? 'stretch' : 'center'
|
|
25
29
|
};
|
|
26
30
|
};
|
|
27
31
|
var trailingIconColor = {
|
|
@@ -37,9 +41,9 @@ var textSize = {
|
|
|
37
41
|
medium: 'medium',
|
|
38
42
|
large: 'large'
|
|
39
43
|
};
|
|
40
|
-
var getPrefixStyles = function getPrefixStyles(
|
|
41
|
-
var hasLeadingIcon =
|
|
42
|
-
hasPrefix =
|
|
44
|
+
var getPrefixStyles = function getPrefixStyles(_ref2) {
|
|
45
|
+
var hasLeadingIcon = _ref2.hasLeadingIcon,
|
|
46
|
+
hasPrefix = _ref2.hasPrefix;
|
|
43
47
|
if (hasPrefix && hasLeadingIcon) {
|
|
44
48
|
return {
|
|
45
49
|
paddingLeft: 'spacing.3'
|
|
@@ -54,12 +58,12 @@ var getPrefixStyles = function getPrefixStyles(_ref) {
|
|
|
54
58
|
paddingLeft: 'spacing.0'
|
|
55
59
|
};
|
|
56
60
|
};
|
|
57
|
-
var getInteractionElementStyles = function getInteractionElementStyles(
|
|
58
|
-
var hasTrailingIcon =
|
|
59
|
-
hasLeadingInteractionElement =
|
|
60
|
-
hasTrailingInteractionElement =
|
|
61
|
-
hasSuffix =
|
|
62
|
-
hasTrailingButton =
|
|
61
|
+
var getInteractionElementStyles = function getInteractionElementStyles(_ref3) {
|
|
62
|
+
var hasTrailingIcon = _ref3.hasTrailingIcon,
|
|
63
|
+
hasLeadingInteractionElement = _ref3.hasLeadingInteractionElement,
|
|
64
|
+
hasTrailingInteractionElement = _ref3.hasTrailingInteractionElement,
|
|
65
|
+
hasSuffix = _ref3.hasSuffix,
|
|
66
|
+
hasTrailingButton = _ref3.hasTrailingButton;
|
|
63
67
|
if (hasTrailingInteractionElement && (hasSuffix || hasTrailingIcon || hasTrailingButton)) {
|
|
64
68
|
return 'spacing.2';
|
|
65
69
|
}
|
|
@@ -71,10 +75,10 @@ var getInteractionElementStyles = function getInteractionElementStyles(_ref2) {
|
|
|
71
75
|
}
|
|
72
76
|
return 'spacing.0';
|
|
73
77
|
};
|
|
74
|
-
var getSuffixStyles = function getSuffixStyles(
|
|
75
|
-
var hasTrailingIcon =
|
|
76
|
-
hasSuffix =
|
|
77
|
-
hasTrailingButton =
|
|
78
|
+
var getSuffixStyles = function getSuffixStyles(_ref4) {
|
|
79
|
+
var hasTrailingIcon = _ref4.hasTrailingIcon,
|
|
80
|
+
hasSuffix = _ref4.hasSuffix,
|
|
81
|
+
hasTrailingButton = _ref4.hasTrailingButton;
|
|
78
82
|
if (hasSuffix && (hasTrailingIcon || hasTrailingButton)) {
|
|
79
83
|
return {
|
|
80
84
|
paddingRight: 'spacing.3'
|
|
@@ -89,9 +93,9 @@ var getSuffixStyles = function getSuffixStyles(_ref3) {
|
|
|
89
93
|
paddingRight: 'spacing.0'
|
|
90
94
|
};
|
|
91
95
|
};
|
|
92
|
-
var getTrailingIconStyles = function getTrailingIconStyles(
|
|
93
|
-
var hasTrailingIcon =
|
|
94
|
-
hasTrailingButton =
|
|
96
|
+
var getTrailingIconStyles = function getTrailingIconStyles(_ref5) {
|
|
97
|
+
var hasTrailingIcon = _ref5.hasTrailingIcon,
|
|
98
|
+
hasTrailingButton = _ref5.hasTrailingButton;
|
|
95
99
|
if (hasTrailingIcon && hasTrailingButton) {
|
|
96
100
|
return {
|
|
97
101
|
paddingRight: 'spacing.3'
|
|
@@ -106,14 +110,14 @@ var getTrailingIconStyles = function getTrailingIconStyles(_ref4) {
|
|
|
106
110
|
paddingRight: 'spacing.0'
|
|
107
111
|
};
|
|
108
112
|
};
|
|
109
|
-
var getInputVisualsToBeRendered = function getInputVisualsToBeRendered(
|
|
110
|
-
var leadingIcon =
|
|
111
|
-
prefix =
|
|
112
|
-
trailingInteractionElement =
|
|
113
|
-
leadingInteractionElement =
|
|
114
|
-
suffix =
|
|
115
|
-
trailingIcon =
|
|
116
|
-
trailingButton =
|
|
113
|
+
var getInputVisualsToBeRendered = function getInputVisualsToBeRendered(_ref6) {
|
|
114
|
+
var leadingIcon = _ref6.leadingIcon,
|
|
115
|
+
prefix = _ref6.prefix,
|
|
116
|
+
trailingInteractionElement = _ref6.trailingInteractionElement,
|
|
117
|
+
leadingInteractionElement = _ref6.leadingInteractionElement,
|
|
118
|
+
suffix = _ref6.suffix,
|
|
119
|
+
trailingIcon = _ref6.trailingIcon,
|
|
120
|
+
trailingButton = _ref6.trailingButton;
|
|
117
121
|
return {
|
|
118
122
|
hasLeadingIcon: Boolean(leadingIcon),
|
|
119
123
|
hasPrefix: Boolean(prefix),
|
|
@@ -124,10 +128,10 @@ var getInputVisualsToBeRendered = function getInputVisualsToBeRendered(_ref5) {
|
|
|
124
128
|
hasTrailingButton: Boolean(trailingButton)
|
|
125
129
|
};
|
|
126
130
|
};
|
|
127
|
-
var getTooltipContent = function getTooltipContent(
|
|
128
|
-
var validationState =
|
|
129
|
-
errorText =
|
|
130
|
-
successText =
|
|
131
|
+
var getTooltipContent = function getTooltipContent(_ref7) {
|
|
132
|
+
var validationState = _ref7.validationState,
|
|
133
|
+
errorText = _ref7.errorText,
|
|
134
|
+
successText = _ref7.successText;
|
|
131
135
|
if (validationState === 'error' && errorText) {
|
|
132
136
|
return errorText;
|
|
133
137
|
}
|
|
@@ -136,12 +140,12 @@ var getTooltipContent = function getTooltipContent(_ref6) {
|
|
|
136
140
|
}
|
|
137
141
|
return '';
|
|
138
142
|
};
|
|
139
|
-
var ValidationIconTooltip = function ValidationIconTooltip(
|
|
140
|
-
var children =
|
|
141
|
-
validationState =
|
|
142
|
-
errorText =
|
|
143
|
-
successText =
|
|
144
|
-
showHintsAsTooltip =
|
|
143
|
+
var ValidationIconTooltip = function ValidationIconTooltip(_ref8) {
|
|
144
|
+
var children = _ref8.children,
|
|
145
|
+
validationState = _ref8.validationState,
|
|
146
|
+
errorText = _ref8.errorText,
|
|
147
|
+
successText = _ref8.successText,
|
|
148
|
+
showHintsAsTooltip = _ref8.showHintsAsTooltip;
|
|
145
149
|
if (showHintsAsTooltip && validationState === 'error' && errorText || validationState === 'success' && successText) {
|
|
146
150
|
return /*#__PURE__*/jsx(Tooltip, {
|
|
147
151
|
content: getTooltipContent({
|
|
@@ -159,21 +163,22 @@ var ValidationIconTooltip = function ValidationIconTooltip(_ref7) {
|
|
|
159
163
|
}
|
|
160
164
|
return children;
|
|
161
165
|
};
|
|
162
|
-
var BaseInputVisuals = function BaseInputVisuals(
|
|
163
|
-
var LeadingIcon =
|
|
164
|
-
prefix =
|
|
165
|
-
trailingInteractionElement =
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
validationState =
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
166
|
+
var BaseInputVisuals = function BaseInputVisuals(_ref9) {
|
|
167
|
+
var LeadingIcon = _ref9.leadingIcon,
|
|
168
|
+
prefix = _ref9.prefix,
|
|
169
|
+
trailingInteractionElement = _ref9.trailingInteractionElement,
|
|
170
|
+
onTrailingInteractionElementClick = _ref9.onTrailingInteractionElementClick,
|
|
171
|
+
leadingInteractionElement = _ref9.leadingInteractionElement,
|
|
172
|
+
suffix = _ref9.suffix,
|
|
173
|
+
TrailingIcon = _ref9.trailingIcon,
|
|
174
|
+
isDisabled = _ref9.isDisabled,
|
|
175
|
+
_ref9$validationState = _ref9.validationState,
|
|
176
|
+
validationState = _ref9$validationState === void 0 ? 'none' : _ref9$validationState,
|
|
177
|
+
size = _ref9.size,
|
|
178
|
+
showHintsAsTooltip = _ref9.showHintsAsTooltip,
|
|
179
|
+
errorText = _ref9.errorText,
|
|
180
|
+
successText = _ref9.successText,
|
|
181
|
+
TrailingButton = _ref9.trailingButton;
|
|
177
182
|
var _getInputVisualsToBeR = getInputVisualsToBeRendered({
|
|
178
183
|
leadingIcon: LeadingIcon,
|
|
179
184
|
prefix: prefix,
|
|
@@ -236,22 +241,28 @@ var BaseInputVisuals = function BaseInputVisuals(_ref8) {
|
|
|
236
241
|
}));
|
|
237
242
|
}
|
|
238
243
|
if (hasTrailingVisuals) {
|
|
239
|
-
return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread({
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
244
|
+
return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread({}, getVisualContainerStyles({
|
|
245
|
+
shouldStretchTrailingBox: hasTrailingInteractionElement && Boolean(onTrailingInteractionElementClick)
|
|
246
|
+
})), {}, {
|
|
247
|
+
children: [hasTrailingInteractionElement ? /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({}, getVisualContainerStyles({
|
|
248
|
+
shouldStretchTrailingBox: hasTrailingInteractionElement && Boolean(onTrailingInteractionElementClick)
|
|
249
|
+
})), {}, {
|
|
250
|
+
children: /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({
|
|
251
|
+
paddingRight: getInteractionElementStyles({
|
|
252
|
+
hasTrailingIcon: hasTrailingIcon,
|
|
253
|
+
hasTrailingInteractionElement: hasTrailingInteractionElement,
|
|
254
|
+
hasSuffix: hasSuffix,
|
|
255
|
+
hasTrailingButton: hasTrailingButton
|
|
256
|
+
}),
|
|
257
|
+
display: "flex",
|
|
258
|
+
alignItems: "stretch",
|
|
259
|
+
alignSelf: "stretch"
|
|
260
|
+
}, !isReactNative() && {
|
|
261
|
+
onClick: onTrailingInteractionElementClick
|
|
262
|
+
}), {}, {
|
|
263
|
+
children: trailingInteractionElement
|
|
264
|
+
}))
|
|
265
|
+
})) : null, hasSuffix ? /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({}, getSuffixStyles({
|
|
255
266
|
hasTrailingIcon: hasTrailingIcon,
|
|
256
267
|
hasSuffix: hasSuffix,
|
|
257
268
|
hasTrailingButton: hasTrailingButton
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInputVisuals.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInputVisuals.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport type { ReactElement } from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport type { BaseBoxProps, SpacingValueType } from '~components/Box/BaseBox';\nimport type { IconColors } from '~components/Icons';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport { Tooltip } from '~components/Tooltip';\nimport { Box } from '~components/Box';\n\ntype InputVisuals = Pick<\n BaseInputProps,\n | 'leadingIcon'\n | 'prefix'\n | 'trailingInteractionElement'\n | 'leadingInteractionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'isDisabled'\n | 'validationState'\n | 'size'\n | 'trailingButton'\n | 'showHintsAsTooltip'\n | 'errorText'\n | 'successText'\n> & {\n size: NonNullable<BaseInputProps['size']>;\n};\n\nconst getVisualContainerStyles = (): Pick<\n BaseBoxProps,\n 'display' | 'flexDirection' | 'alignItems' | 'alignSelf'\n> => ({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n alignSelf: 'center',\n});\n\nconst trailingIconColor: Record<NonNullable<InputVisuals['validationState']>, IconColors> = {\n none: 'surface.icon.gray.subtle',\n error: 'feedback.icon.negative.intense',\n success: 'feedback.icon.positive.intense',\n};\n\nconst iconSize = {\n medium: 'medium',\n large: 'large',\n} as const;\n\nconst textSize = {\n medium: 'medium',\n large: 'large',\n} as const;\n\nconst getPrefixStyles = ({\n hasLeadingIcon,\n hasPrefix,\n}: {\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n}): Pick<BaseBoxProps, 'paddingLeft'> => {\n if (hasPrefix && hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.3',\n };\n }\n\n if (hasPrefix && !hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.4',\n };\n }\n\n return {\n paddingLeft: 'spacing.0',\n };\n};\n\nconst getInteractionElementStyles = ({\n hasTrailingIcon,\n hasLeadingInteractionElement,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasLeadingInteractionElement?: boolean;\n hasTrailingInteractionElement?: boolean;\n hasSuffix: boolean;\n hasTrailingButton: boolean;\n}): SpacingValueType => {\n if (hasTrailingInteractionElement && (hasSuffix || hasTrailingIcon || hasTrailingButton)) {\n return 'spacing.2';\n }\n\n if (hasTrailingInteractionElement && !hasSuffix && !hasTrailingIcon && !hasTrailingButton) {\n return 'spacing.4';\n }\n\n if (hasLeadingInteractionElement) {\n return 'spacing.3';\n }\n\n return 'spacing.0';\n};\n\nconst getSuffixStyles = ({\n hasTrailingIcon,\n hasSuffix,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasSuffix: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasSuffix && (hasTrailingIcon || hasTrailingButton)) {\n return {\n paddingRight: 'spacing.3',\n };\n }\n\n if (hasSuffix && !hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nconst getTrailingIconStyles = ({\n hasTrailingIcon,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasTrailingIcon && hasTrailingButton) {\n return {\n paddingRight: 'spacing.3',\n };\n }\n\n if (hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nexport const getInputVisualsToBeRendered = ({\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n trailingButton,\n}: InputVisuals) => ({\n hasLeadingIcon: Boolean(leadingIcon),\n hasPrefix: Boolean(prefix),\n hasTrailingInteractionElement: Boolean(trailingInteractionElement),\n hasLeadingInteractionElement: Boolean(leadingInteractionElement),\n hasSuffix: Boolean(suffix),\n hasTrailingIcon: Boolean(trailingIcon),\n hasTrailingButton: Boolean(trailingButton),\n});\n\nconst getTooltipContent = ({\n validationState,\n errorText,\n successText,\n}: {\n validationState: BaseInputProps['validationState'];\n errorText: BaseInputProps['errorText'];\n successText: BaseInputProps['errorText'];\n}): string => {\n if (validationState === 'error' && errorText) {\n return errorText;\n }\n\n if (validationState === 'success' && successText) {\n return successText;\n }\n\n return '';\n};\n\nconst ValidationIconTooltip = ({\n children,\n validationState,\n errorText,\n successText,\n showHintsAsTooltip,\n}: {\n children: ReactElement;\n validationState: BaseInputProps['validationState'];\n errorText: BaseInputProps['errorText'];\n successText: BaseInputProps['errorText'];\n showHintsAsTooltip: BaseInputProps['showHintsAsTooltip'];\n}) => {\n if (\n (showHintsAsTooltip && validationState === 'error' && errorText) ||\n (validationState === 'success' && successText)\n ) {\n return (\n <Tooltip content={getTooltipContent({ validationState, errorText, successText })}>\n <Box display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n {children}\n </Box>\n </Tooltip>\n );\n }\n\n return children;\n};\n\nexport const BaseInputVisuals = ({\n leadingIcon: LeadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon: TrailingIcon,\n isDisabled,\n validationState = 'none',\n size,\n showHintsAsTooltip,\n errorText,\n successText,\n trailingButton: TrailingButton,\n}: InputVisuals): ReactElement | null => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasSuffix,\n hasTrailingInteractionElement,\n hasLeadingInteractionElement,\n hasTrailingIcon,\n hasTrailingButton,\n } = getInputVisualsToBeRendered({\n leadingIcon: LeadingIcon,\n prefix,\n leadingInteractionElement,\n trailingInteractionElement,\n suffix,\n trailingIcon: TrailingIcon,\n trailingButton: TrailingButton,\n size,\n });\n\n const hasLeadingVisuals = hasLeadingInteractionElement || hasLeadingIcon || hasPrefix;\n const hasTrailingVisuals =\n hasTrailingInteractionElement || hasSuffix || hasTrailingIcon || hasTrailingButton;\n\n if (__DEV__) {\n if (hasTrailingButton && !isValidAllowedChildren(TrailingButton, 'Link')) {\n throwBladeError({\n message: 'trailingButton must be a valid Blade Link component',\n moduleName: 'BaseInput',\n });\n }\n }\n\n if (hasLeadingVisuals) {\n return (\n <BaseBox {...getVisualContainerStyles()}>\n {hasLeadingInteractionElement ? (\n <BaseBox\n paddingLeft={getInteractionElementStyles({\n hasTrailingIcon,\n hasLeadingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n })}\n display=\"flex\"\n alignItems=\"stretch\"\n alignSelf=\"stretch\"\n >\n {leadingInteractionElement}\n </BaseBox>\n ) : null}\n {LeadingIcon ? (\n <BaseBox paddingLeft=\"spacing.4\" display=\"flex\">\n <LeadingIcon\n size={iconSize[size]}\n color={isDisabled ? 'surface.icon.gray.disabled' : 'surface.icon.gray.muted'}\n />\n </BaseBox>\n ) : null}\n {hasPrefix ? (\n <BaseBox {...getPrefixStyles({ hasLeadingIcon, hasPrefix })}>\n <Text\n size={textSize[size]}\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {prefix}\n </Text>\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n }\n\n if (hasTrailingVisuals) {\n return (\n <BaseBox alignSelf=\"stretch\" alignItems=\"stretch\" {...getVisualContainerStyles()}>\n {hasTrailingInteractionElement ? (\n <BaseBox\n paddingRight={getInteractionElementStyles({\n hasTrailingIcon,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n })}\n display=\"flex\"\n alignItems=\"stretch\"\n alignSelf=\"stretch\"\n >\n {trailingInteractionElement}\n </BaseBox>\n ) : null}\n {hasSuffix ? (\n <BaseBox {...getSuffixStyles({ hasTrailingIcon, hasSuffix, hasTrailingButton })}>\n <Text\n size={textSize[size]}\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {suffix}\n </Text>\n </BaseBox>\n ) : null}\n {TrailingIcon ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n {...getTrailingIconStyles({ hasTrailingIcon, hasTrailingButton })}\n >\n <ValidationIconTooltip\n showHintsAsTooltip={showHintsAsTooltip}\n errorText={errorText}\n successText={successText}\n validationState={validationState}\n >\n <TrailingIcon\n size={iconSize[size]}\n color={\n isDisabled ? 'interactive.icon.gray.disabled' : trailingIconColor[validationState]\n }\n />\n </ValidationIconTooltip>\n </BaseBox>\n ) : null}\n {TrailingButton ? (\n <BaseBox paddingRight=\"spacing.4\" display=\"flex\">\n {React.cloneElement(TrailingButton, {\n size,\n variant: 'button',\n isDisabled,\n })}\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n }\n\n return null;\n};\n"],"names":["getVisualContainerStyles","display","flexDirection","alignItems","alignSelf","trailingIconColor","none","error","success","iconSize","medium","large","textSize","getPrefixStyles","_ref","hasLeadingIcon","hasPrefix","paddingLeft","getInteractionElementStyles","_ref2","hasTrailingIcon","hasLeadingInteractionElement","hasTrailingInteractionElement","hasSuffix","hasTrailingButton","getSuffixStyles","_ref3","paddingRight","getTrailingIconStyles","_ref4","getInputVisualsToBeRendered","_ref5","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","trailingButton","Boolean","getTooltipContent","_ref6","validationState","errorText","successText","ValidationIconTooltip","_ref7","children","showHintsAsTooltip","_jsx","Tooltip","content","Box","justifyContent","BaseInputVisuals","_ref8","LeadingIcon","TrailingIcon","isDisabled","_ref8$validationState","size","TrailingButton","_getInputVisualsToBeR","hasLeadingVisuals","hasTrailingVisuals","isValidAllowedChildren","throwBladeError","message","moduleName","_jsxs","BaseBox","_objectSpread","color","Text","variant","weight","React","cloneElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseInputVisuals.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInputVisuals.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport type { ReactElement } from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport type { BaseBoxProps, SpacingValueType } from '~components/Box/BaseBox';\nimport type { IconColors } from '~components/Icons';\nimport { isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport { Tooltip } from '~components/Tooltip';\nimport { Box } from '~components/Box';\nimport { isReactNative } from '~utils';\n\ntype InputVisuals = Pick<\n BaseInputProps,\n | 'leadingIcon'\n | 'prefix'\n | 'trailingInteractionElement'\n | 'onTrailingInteractionElementClick'\n | 'leadingInteractionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'isDisabled'\n | 'validationState'\n | 'size'\n | 'trailingButton'\n | 'showHintsAsTooltip'\n | 'errorText'\n | 'successText'\n> & {\n size: NonNullable<BaseInputProps['size']>;\n};\n\nconst getVisualContainerStyles = ({\n shouldStretchTrailingBox,\n}: {\n shouldStretchTrailingBox?: boolean;\n} = {}): Pick<BaseBoxProps, 'display' | 'flexDirection' | 'alignItems' | 'alignSelf'> => ({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n alignSelf: shouldStretchTrailingBox ? 'stretch' : 'center',\n});\n\nconst trailingIconColor: Record<NonNullable<InputVisuals['validationState']>, IconColors> = {\n none: 'surface.icon.gray.subtle',\n error: 'feedback.icon.negative.intense',\n success: 'feedback.icon.positive.intense',\n};\n\nconst iconSize = {\n medium: 'medium',\n large: 'large',\n} as const;\n\nconst textSize = {\n medium: 'medium',\n large: 'large',\n} as const;\n\nconst getPrefixStyles = ({\n hasLeadingIcon,\n hasPrefix,\n}: {\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n}): Pick<BaseBoxProps, 'paddingLeft'> => {\n if (hasPrefix && hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.3',\n };\n }\n\n if (hasPrefix && !hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.4',\n };\n }\n\n return {\n paddingLeft: 'spacing.0',\n };\n};\n\nconst getInteractionElementStyles = ({\n hasTrailingIcon,\n hasLeadingInteractionElement,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasLeadingInteractionElement?: boolean;\n hasTrailingInteractionElement?: boolean;\n hasSuffix: boolean;\n hasTrailingButton: boolean;\n}): SpacingValueType => {\n if (hasTrailingInteractionElement && (hasSuffix || hasTrailingIcon || hasTrailingButton)) {\n return 'spacing.2';\n }\n\n if (hasTrailingInteractionElement && !hasSuffix && !hasTrailingIcon && !hasTrailingButton) {\n return 'spacing.4';\n }\n\n if (hasLeadingInteractionElement) {\n return 'spacing.3';\n }\n\n return 'spacing.0';\n};\n\nconst getSuffixStyles = ({\n hasTrailingIcon,\n hasSuffix,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasSuffix: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasSuffix && (hasTrailingIcon || hasTrailingButton)) {\n return {\n paddingRight: 'spacing.3',\n };\n }\n\n if (hasSuffix && !hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nconst getTrailingIconStyles = ({\n hasTrailingIcon,\n hasTrailingButton,\n}: {\n hasTrailingIcon: boolean;\n hasTrailingButton: boolean;\n}): Pick<BaseBoxProps, 'paddingRight'> => {\n if (hasTrailingIcon && hasTrailingButton) {\n return {\n paddingRight: 'spacing.3',\n };\n }\n\n if (hasTrailingIcon && !hasTrailingButton) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nexport const getInputVisualsToBeRendered = ({\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n trailingButton,\n}: InputVisuals) => ({\n hasLeadingIcon: Boolean(leadingIcon),\n hasPrefix: Boolean(prefix),\n hasTrailingInteractionElement: Boolean(trailingInteractionElement),\n hasLeadingInteractionElement: Boolean(leadingInteractionElement),\n hasSuffix: Boolean(suffix),\n hasTrailingIcon: Boolean(trailingIcon),\n hasTrailingButton: Boolean(trailingButton),\n});\n\nconst getTooltipContent = ({\n validationState,\n errorText,\n successText,\n}: {\n validationState: BaseInputProps['validationState'];\n errorText: BaseInputProps['errorText'];\n successText: BaseInputProps['errorText'];\n}): string => {\n if (validationState === 'error' && errorText) {\n return errorText;\n }\n\n if (validationState === 'success' && successText) {\n return successText;\n }\n\n return '';\n};\n\nconst ValidationIconTooltip = ({\n children,\n validationState,\n errorText,\n successText,\n showHintsAsTooltip,\n}: {\n children: ReactElement;\n validationState: BaseInputProps['validationState'];\n errorText: BaseInputProps['errorText'];\n successText: BaseInputProps['errorText'];\n showHintsAsTooltip: BaseInputProps['showHintsAsTooltip'];\n}) => {\n if (\n (showHintsAsTooltip && validationState === 'error' && errorText) ||\n (validationState === 'success' && successText)\n ) {\n return (\n <Tooltip content={getTooltipContent({ validationState, errorText, successText })}>\n <Box display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n {children}\n </Box>\n </Tooltip>\n );\n }\n\n return children;\n};\n\nexport const BaseInputVisuals = ({\n leadingIcon: LeadingIcon,\n prefix,\n trailingInteractionElement,\n onTrailingInteractionElementClick,\n leadingInteractionElement,\n suffix,\n trailingIcon: TrailingIcon,\n isDisabled,\n validationState = 'none',\n size,\n showHintsAsTooltip,\n errorText,\n successText,\n trailingButton: TrailingButton,\n}: InputVisuals): ReactElement | null => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasSuffix,\n hasTrailingInteractionElement,\n hasLeadingInteractionElement,\n hasTrailingIcon,\n hasTrailingButton,\n } = getInputVisualsToBeRendered({\n leadingIcon: LeadingIcon,\n prefix,\n leadingInteractionElement,\n trailingInteractionElement,\n suffix,\n trailingIcon: TrailingIcon,\n trailingButton: TrailingButton,\n size,\n });\n\n const hasLeadingVisuals = hasLeadingInteractionElement || hasLeadingIcon || hasPrefix;\n const hasTrailingVisuals =\n hasTrailingInteractionElement || hasSuffix || hasTrailingIcon || hasTrailingButton;\n\n if (__DEV__) {\n if (hasTrailingButton && !isValidAllowedChildren(TrailingButton, 'Link')) {\n throwBladeError({\n message: 'trailingButton must be a valid Blade Link component',\n moduleName: 'BaseInput',\n });\n }\n }\n\n if (hasLeadingVisuals) {\n return (\n <BaseBox {...getVisualContainerStyles()}>\n {hasLeadingInteractionElement ? (\n <BaseBox\n paddingLeft={getInteractionElementStyles({\n hasTrailingIcon,\n hasLeadingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n })}\n display=\"flex\"\n alignItems=\"stretch\"\n alignSelf=\"stretch\"\n >\n {leadingInteractionElement}\n </BaseBox>\n ) : null}\n {LeadingIcon ? (\n <BaseBox paddingLeft=\"spacing.4\" display=\"flex\">\n <LeadingIcon\n size={iconSize[size]}\n color={isDisabled ? 'surface.icon.gray.disabled' : 'surface.icon.gray.muted'}\n />\n </BaseBox>\n ) : null}\n {hasPrefix ? (\n <BaseBox {...getPrefixStyles({ hasLeadingIcon, hasPrefix })}>\n <Text\n size={textSize[size]}\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {prefix}\n </Text>\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n }\n\n if (hasTrailingVisuals) {\n return (\n <BaseBox\n {...getVisualContainerStyles({\n shouldStretchTrailingBox:\n hasTrailingInteractionElement && Boolean(onTrailingInteractionElementClick),\n })}\n >\n {hasTrailingInteractionElement ? (\n <BaseBox\n {...getVisualContainerStyles({\n shouldStretchTrailingBox:\n hasTrailingInteractionElement && Boolean(onTrailingInteractionElementClick),\n })}\n >\n <BaseBox\n paddingRight={getInteractionElementStyles({\n hasTrailingIcon,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingButton,\n })}\n display=\"flex\"\n alignItems=\"stretch\"\n alignSelf=\"stretch\"\n {...(!isReactNative() && { onClick: onTrailingInteractionElementClick })}\n >\n {trailingInteractionElement}\n </BaseBox>\n </BaseBox>\n ) : null}\n {hasSuffix ? (\n <BaseBox {...getSuffixStyles({ hasTrailingIcon, hasSuffix, hasTrailingButton })}>\n <Text\n size={textSize[size]}\n variant=\"body\"\n weight=\"regular\"\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n >\n {suffix}\n </Text>\n </BaseBox>\n ) : null}\n {TrailingIcon ? (\n <BaseBox\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n {...getTrailingIconStyles({ hasTrailingIcon, hasTrailingButton })}\n >\n <ValidationIconTooltip\n showHintsAsTooltip={showHintsAsTooltip}\n errorText={errorText}\n successText={successText}\n validationState={validationState}\n >\n <TrailingIcon\n size={iconSize[size]}\n color={\n isDisabled ? 'interactive.icon.gray.disabled' : trailingIconColor[validationState]\n }\n />\n </ValidationIconTooltip>\n </BaseBox>\n ) : null}\n {TrailingButton ? (\n <BaseBox paddingRight=\"spacing.4\" display=\"flex\">\n {React.cloneElement(TrailingButton, {\n size,\n variant: 'button',\n isDisabled,\n })}\n </BaseBox>\n ) : null}\n </BaseBox>\n );\n }\n\n return null;\n};\n"],"names":["getVisualContainerStyles","_ref","arguments","length","undefined","shouldStretchTrailingBox","display","flexDirection","alignItems","alignSelf","trailingIconColor","none","error","success","iconSize","medium","large","textSize","getPrefixStyles","_ref2","hasLeadingIcon","hasPrefix","paddingLeft","getInteractionElementStyles","_ref3","hasTrailingIcon","hasLeadingInteractionElement","hasTrailingInteractionElement","hasSuffix","hasTrailingButton","getSuffixStyles","_ref4","paddingRight","getTrailingIconStyles","_ref5","getInputVisualsToBeRendered","_ref6","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","trailingButton","Boolean","getTooltipContent","_ref7","validationState","errorText","successText","ValidationIconTooltip","_ref8","children","showHintsAsTooltip","_jsx","Tooltip","content","Box","justifyContent","BaseInputVisuals","_ref9","LeadingIcon","onTrailingInteractionElementClick","TrailingIcon","isDisabled","_ref9$validationState","size","TrailingButton","_getInputVisualsToBeR","hasLeadingVisuals","hasTrailingVisuals","isValidAllowedChildren","throwBladeError","message","moduleName","_jsxs","BaseBox","_objectSpread","color","Text","variant","weight","isReactNative","onClick","React","cloneElement"],"mappings":"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"}
|
package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js
CHANGED
|
@@ -303,17 +303,17 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
|
|
|
303
303
|
onChange: props.isSelectInput ? undefined : props.onInputValueChange,
|
|
304
304
|
onKeyDown: props.onTriggerKeydown,
|
|
305
305
|
size: props.size,
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
(_triggererRef$current2 = triggererRef.current) === null || _triggererRef$current2 === void 0 ? void 0 : _triggererRef$current2.focus();
|
|
313
|
-
}
|
|
314
|
-
onTriggerClick();
|
|
306
|
+
onTrailingInteractionElementClick: function onTrailingInteractionElementClick() {
|
|
307
|
+
if (!props.isDisabled) {
|
|
308
|
+
// Icon onClicks to the SelectInput itself
|
|
309
|
+
if (!isReactNative()) {
|
|
310
|
+
var _triggererRef$current2;
|
|
311
|
+
(_triggererRef$current2 = triggererRef.current) === null || _triggererRef$current2 === void 0 ? void 0 : _triggererRef$current2.focus();
|
|
315
312
|
}
|
|
316
|
-
|
|
313
|
+
onTriggerClick();
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
trailingInteractionElement: isAutoCompleteInHeader || isInsideTableEditableCell && !isValidationStateNone ? null : /*#__PURE__*/jsx(InputChevronIcon, {
|
|
317
317
|
isDisabled: props.isDisabled,
|
|
318
318
|
isOpen: isOpen
|
|
319
319
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport type { BaseInputProps } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps } from './types';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useFirstRender } from '~utils/useFirstRender';\nimport { useTableContext } from '~components/Table/TableContext';\nimport {\n rowDensityToIsTableInputCellMapping,\n tableEditableCellRowDensityToInputSizeMap,\n validationStateToInputTrailingIconMap,\n} from '~components/Table/tokens';\nimport { useTableEditableCell } from '~components/Table/TableEditableCellContext';\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 const { rowDensity } = useTableContext();\n const { isInsideTableEditableCell } = useTableEditableCell();\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 const tableInputProps: Partial<BaseInputProps> = {\n isTableInputCell: rowDensityToIsTableInputCellMapping[rowDensity],\n id: 'table-editable-cell-input',\n size: tableEditableCellRowDensityToInputSizeMap[rowDensity],\n trailingIcon: validationStateToInputTrailingIconMap[props.validationState ?? 'none'],\n showHintsAsTooltip: true,\n };\n\n const isValidationStateNone =\n props.validationState === 'none' || props.validationState === undefined;\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (!isReactNative()\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n triggererRef.current = node;\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }\n : null) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags({ size: props.size || 'medium' })}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n hasPopup={getActionListContainerRole(hasFooterAction, dropdownTriggerer)}\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={`${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n size={props.size}\n trailingInteractionElement={\n isAutoCompleteInHeader || (isInsideTableEditableCell && !isValidationStateNone) ? 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 {...(isInsideTableEditableCell ? tableInputProps : undefined)}\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$validationStat","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","_useTableContext","useTableContext","rowDensity","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","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","tableInputProps","isTableInputCell","rowDensityToIsTableInputCellMapping","id","tableEditableCellRowDensityToInputSizeMap","trailingIcon","validationStateToInputTrailingIconMap","validationState","showHintsAsTooltip","isValidationStateNone","_jsx","BaseInput","_objectSpread","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","_props$onTriggerClick","onFocus","onBlur","_ref3","_props$onBlur","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","trailingInteractionElement","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';\nimport { useTableContext } from '~components/Table/TableContext';\nimport {\n rowDensityToIsTableInputCellMapping,\n tableEditableCellRowDensityToInputSizeMap,\n validationStateToInputTrailingIconMap,\n} from '~components/Table/tokens';\nimport { useTableEditableCell } from '~components/Table/TableEditableCellContext';\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 const { rowDensity } = useTableContext();\n const { isInsideTableEditableCell } = useTableEditableCell();\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 const tableInputProps: Partial<BaseInputProps> = {\n isTableInputCell: rowDensityToIsTableInputCellMapping[rowDensity],\n id: 'table-editable-cell-input',\n size: tableEditableCellRowDensityToInputSizeMap[rowDensity],\n trailingIcon: validationStateToInputTrailingIconMap[props.validationState ?? 'none'],\n showHintsAsTooltip: true,\n };\n\n const isValidationStateNone =\n props.validationState === 'none' || props.validationState === undefined;\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 onTrailingInteractionElementClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n trailingInteractionElement={\n isAutoCompleteInHeader || (isInsideTableEditableCell && !isValidationStateNone) ? null : (\n <InputChevronIcon isDisabled={props.isDisabled} isOpen={isOpen} />\n )\n }\n {...(isInsideTableEditableCell ? tableInputProps : undefined)}\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$validationStat","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","_useTableContext","useTableContext","rowDensity","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","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","tableInputProps","isTableInputCell","rowDensityToIsTableInputCellMapping","id","tableEditableCellRowDensityToInputSizeMap","trailingIcon","validationStateToInputTrailingIconMap","validationState","showHintsAsTooltip","isValidationStateNone","_jsx","BaseInput","_objectSpread","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","_props$onTriggerClick","onFocus","onBlur","_ref3","_props$onBlur","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","onTrailingInteractionElementClick","_triggererRef$current2","trailingInteractionElement","InputChevronIcon","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sources":["../../../../../../../src/components/Input/TextInput/TextInput.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextInput as TextInputReactNative } from 'react-native';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { getKeyboardAndAutocompleteProps } from '../BaseInput/utils';\nimport type { TaggedInputProps } from '../BaseInput/useTaggedInput';\nimport { useTaggedInput } from '../BaseInput/useTaggedInput';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport type { IconComponent } from '~components/Icons';\nimport { CloseIcon } from '~components/Icons';\nimport { IconButton } from '~components/Button/IconButton';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getPlatformType } from '~utils';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport type { BladeElementRef, BladeElementRefWithValue } from '~utils/types';\nimport { hintMarginTop } from '~components/Form/formTokens';\n\n// Users should use PasswordInput for input type password\ntype Type = Exclude<BaseInputProps['type'], 'password'>;\n\ntype TextInputCommonProps = Pick<\n BaseInputProps,\n | 'label'\n | 'accessibilityLabel'\n | 'labelPosition'\n | 'necessityIndicator'\n | 'validationState'\n | 'helpText'\n | 'errorText'\n | 'successText'\n | 'placeholder'\n | 'defaultValue'\n | 'name'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'value'\n | 'isDisabled'\n | 'isRequired'\n | 'prefix'\n | 'suffix'\n | 'maxCharacters'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'autoCompleteSuggestionType'\n | 'onSubmit'\n | 'autoCapitalize'\n | 'testID'\n | 'onClick'\n | 'size'\n | 'leadingIcon'\n | 'trailingButton'\n | 'trailingIcon'\n> & {\n /**\n * Decides whether to render a clear icon button\n */\n showClearButton?: boolean;\n\n /**\n * Event handler to handle the onClick event for clear button. Used when `showClearButton` is `true`\n */\n onClearButtonClick?: () => void;\n\n /**\n * Decides whether to show a loading spinner for the input field.\n */\n isLoading?: boolean;\n\n /**\n * Icon that will be rendered at the beginning of the input field\n * @deprecated Use `leadingIcon` instead. This prop will be removed in the next major version.\n */\n icon?: IconComponent;\n /**\n * Type of Input Field to be rendered. Use `PasswordInput` for type `password`\n *\n *\n * **Note on number type**\n *\n * `type=\"number\"` internally uses `inputMode=\"numeric\"` instead of HTML's `type=\"number\"` which also allows text characters.\n * If you have a usecase where you only want to support number input, you can handle it on validations end.\n *\n * Check out [Why the GOV.UK Design System team changed the input type for numbers](https://technology.blog.gov.uk/2020/02/24/why-the-gov-uk-design-system-team-changed-the-input-type-for-numbers/) for reasoning\n *\n * @default text\n */\n type?: Type;\n} & TaggedInputProps &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype TextInputPropsWithA11yLabel = {\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 TextInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\ntype TextInputProps = (TextInputPropsWithA11yLabel | TextInputPropsWithLabel) &\n TextInputCommonProps;\n\n// need to do this to tell TS to infer type as TextInput of React Native and make it believe that `ref.current.clear()` exists\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isReactNative = (_textInputRef: any): _textInputRef is TextInputReactNative => {\n return getPlatformType() === 'react-native';\n};\n\nconst _TextInput: React.ForwardRefRenderFunction<BladeElementRef, TextInputProps> = (\n {\n label,\n accessibilityLabel,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n name,\n value,\n maxCharacters,\n onChange,\n onClick,\n onFocus,\n onBlur,\n onSubmit,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n icon,\n prefix,\n showClearButton,\n onClearButtonClick,\n isLoading,\n suffix,\n autoFocus,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n autoCapitalize,\n testID,\n size = 'medium',\n leadingIcon,\n trailingIcon,\n isTaggedInput,\n tags,\n onTagChange,\n ...styledProps\n },\n ref,\n): ReactElement => {\n const textInputRef = React.useRef<BladeElementRefWithValue>(null);\n const mergedRef = useMergeRefs(ref, textInputRef);\n const [shouldShowClearButton, setShouldShowClearButton] = useState(false);\n const [isInputFocussed, setIsInputFocussed] = useState(autoFocus ?? false);\n const {\n activeTagIndex,\n setActiveTagIndex,\n getTags,\n handleTaggedInputKeydown,\n handleTaggedInputChange,\n handleTagsClear,\n } = useTaggedInput({\n isTaggedInput,\n tags,\n onTagChange,\n isDisabled,\n onChange,\n name,\n value,\n inputRef: textInputRef,\n });\n\n React.useEffect(() => {\n setShouldShowClearButton(Boolean(showClearButton && (defaultValue ?? value)));\n }, [showClearButton, defaultValue, value]);\n\n const renderInteractionElement = (): ReactNode => {\n if (isLoading) {\n return <Spinner accessibilityLabel=\"Loading Content\" color=\"primary\" />;\n }\n\n if (shouldShowClearButton) {\n return (\n <IconButton\n size=\"medium\"\n icon={CloseIcon}\n onClick={() => {\n if (isEmpty(value) && textInputRef.current) {\n // when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function\n if (isReactNative(textInputRef.current)) {\n textInputRef.current.clear();\n textInputRef.current.focus();\n } else if (textInputRef.current instanceof HTMLInputElement) {\n textInputRef.current.value = '';\n textInputRef.current.focus();\n }\n }\n handleTagsClear();\n // if the input field is controlled just call the click handler and the value change shall be left upto the consumer\n onClearButtonClick?.();\n textInputRef?.current?.focus();\n setShouldShowClearButton(false);\n }}\n isDisabled={isDisabled}\n accessibilityLabel=\"Clear Input Content\"\n />\n );\n }\n\n return null;\n };\n\n return (\n <BaseInput\n id=\"textinput\"\n componentName={MetaConstants.TextInput}\n ref={mergedRef}\n label={label as string}\n accessibilityLabel={accessibilityLabel}\n hideLabelText={!Boolean(label)}\n labelPosition={labelPosition}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value}\n name={name}\n maxCharacters={maxCharacters}\n isDropdownTrigger={isTaggedInput}\n tags={isTaggedInput ? getTags({ size }) : undefined}\n showAllTags={isInputFocussed}\n maxTagRows=\"single\"\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n onChange={({ name, value }) => {\n if (showClearButton && value?.length) {\n // show the clear button when the user starts typing in\n setShouldShowClearButton(true);\n }\n\n if (shouldShowClearButton && !value?.length) {\n // hide the clear button when the input field is empty\n setShouldShowClearButton(false);\n }\n\n handleTaggedInputChange({ name, value });\n onChange?.({ name, value });\n }}\n onClick={onClick}\n onFocus={(e) => {\n setIsInputFocussed(true);\n onFocus?.(e);\n }}\n onBlur={(e) => {\n setIsInputFocussed(false);\n onBlur?.(e);\n }}\n onKeyDown={(e) => {\n handleTaggedInputKeydown(e);\n }}\n onSubmit={onSubmit}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n isRequired={isRequired}\n leadingIcon={leadingIcon ?? icon}\n prefix={prefix}\n trailingInteractionElement={renderInteractionElement()}\n trailingIcon={trailingIcon}\n suffix={suffix}\n validationState={validationState}\n errorText={errorText}\n helpText={helpText}\n successText={successText}\n trailingFooterSlot={(value) => {\n return maxCharacters ? (\n <BaseBox marginTop={hintMarginTop[size]} marginRight=\"spacing.1\">\n <CharacterCounter\n currentCount={value?.length ?? 0}\n maxCount={maxCharacters}\n size={size}\n />\n </BaseBox>\n ) : null;\n }}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n testID={testID}\n {...getKeyboardAndAutocompleteProps({\n type,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n autoCapitalize,\n })}\n size={size}\n {...styledProps}\n />\n );\n};\n\nconst TextInput = assignWithoutSideEffects(React.forwardRef(_TextInput), {\n displayName: 'TextInput',\n});\n\nexport type { TextInputProps };\nexport { TextInput };\n"],"names":["isReactNative","_textInputRef","getPlatformType","_TextInput","_ref","ref","label","accessibilityLabel","_ref$labelPosition","labelPosition","placeholder","_ref$type","type","defaultValue","name","value","maxCharacters","onChange","onClick","onFocus","onBlur","onSubmit","isDisabled","necessityIndicator","validationState","errorText","helpText","successText","isRequired","icon","prefix","showClearButton","onClearButtonClick","isLoading","suffix","autoFocus","keyboardReturnKeyType","autoCompleteSuggestionType","autoCapitalize","testID","_ref$size","size","leadingIcon","trailingIcon","isTaggedInput","tags","onTagChange","styledProps","_objectWithoutProperties","_excluded","textInputRef","React","useRef","mergedRef","useMergeRefs","_useState","useState","_useState2","_slicedToArray","shouldShowClearButton","setShouldShowClearButton","_useState3","_useState4","isInputFocussed","setIsInputFocussed","_useTaggedInput","useTaggedInput","inputRef","activeTagIndex","setActiveTagIndex","getTags","handleTaggedInputKeydown","handleTaggedInputChange","handleTagsClear","useEffect","Boolean","renderInteractionElement","_jsx","Spinner","color","IconButton","CloseIcon","_textInputRef$current","isEmpty","current","clear","focus","HTMLInputElement","BaseInput","_objectSpread","id","componentName","MetaConstants","TextInput","hideLabelText","isDropdownTrigger","undefined","showAllTags","maxTagRows","_ref2","length","e","onKeyDown","trailingInteractionElement","trailingFooterSlot","_value$length","BaseBox","marginTop","hintMarginTop","marginRight","children","CharacterCounter","currentCount","maxCount","getKeyboardAndAutocompleteProps","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextInput.js","sources":["../../../../../../../src/components/Input/TextInput/TextInput.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextInput as TextInputReactNative } from 'react-native';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { getKeyboardAndAutocompleteProps } from '../BaseInput/utils';\nimport type { TaggedInputProps } from '../BaseInput/useTaggedInput';\nimport { useTaggedInput } from '../BaseInput/useTaggedInput';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport type { IconComponent } from '~components/Icons';\nimport { CloseIcon } from '~components/Icons';\nimport { IconButton } from '~components/Button/IconButton';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getPlatformType } from '~utils';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport type { BladeElementRef, BladeElementRefWithValue } from '~utils/types';\nimport { hintMarginTop } from '~components/Form/formTokens';\n\n// Users should use PasswordInput for input type password\ntype Type = Exclude<BaseInputProps['type'], 'password'>;\n\ntype TextInputCommonProps = Pick<\n BaseInputProps,\n | 'label'\n | 'accessibilityLabel'\n | 'labelPosition'\n | 'necessityIndicator'\n | 'validationState'\n | 'helpText'\n | 'errorText'\n | 'successText'\n | 'placeholder'\n | 'defaultValue'\n | 'name'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'value'\n | 'isDisabled'\n | 'isRequired'\n | 'prefix'\n | 'suffix'\n | 'maxCharacters'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'autoCompleteSuggestionType'\n | 'onSubmit'\n | 'autoCapitalize'\n | 'testID'\n | 'onClick'\n | 'size'\n | 'leadingIcon'\n | 'trailingButton'\n | 'trailingIcon'\n | 'textAlign'\n> & {\n /**\n * Decides whether to render a clear icon button\n */\n showClearButton?: boolean;\n\n /**\n * Event handler to handle the onClick event for clear button. Used when `showClearButton` is `true`\n */\n onClearButtonClick?: () => void;\n\n /**\n * Decides whether to show a loading spinner for the input field.\n */\n isLoading?: boolean;\n\n /**\n * Icon that will be rendered at the beginning of the input field\n * @deprecated Use `leadingIcon` instead. This prop will be removed in the next major version.\n */\n icon?: IconComponent;\n /**\n * Type of Input Field to be rendered. Use `PasswordInput` for type `password`\n *\n *\n * **Note on number type**\n *\n * `type=\"number\"` internally uses `inputMode=\"numeric\"` instead of HTML's `type=\"number\"` which also allows text characters.\n * If you have a usecase where you only want to support number input, you can handle it on validations end.\n *\n * Check out [Why the GOV.UK Design System team changed the input type for numbers](https://technology.blog.gov.uk/2020/02/24/why-the-gov-uk-design-system-team-changed-the-input-type-for-numbers/) for reasoning\n *\n * @default text\n */\n type?: Type;\n} & TaggedInputProps &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype TextInputPropsWithA11yLabel = {\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 TextInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\ntype TextInputProps = (TextInputPropsWithA11yLabel | TextInputPropsWithLabel) &\n TextInputCommonProps;\n\n// need to do this to tell TS to infer type as TextInput of React Native and make it believe that `ref.current.clear()` exists\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isReactNative = (_textInputRef: any): _textInputRef is TextInputReactNative => {\n return getPlatformType() === 'react-native';\n};\n\nconst _TextInput: React.ForwardRefRenderFunction<BladeElementRef, TextInputProps> = (\n {\n label,\n accessibilityLabel,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n name,\n value,\n maxCharacters,\n onChange,\n onClick,\n onFocus,\n onBlur,\n onSubmit,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n icon,\n prefix,\n showClearButton,\n onClearButtonClick,\n isLoading,\n suffix,\n autoFocus,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n autoCapitalize,\n testID,\n size = 'medium',\n leadingIcon,\n trailingIcon,\n isTaggedInput,\n tags,\n onTagChange,\n ...styledProps\n },\n ref,\n): ReactElement => {\n const textInputRef = React.useRef<BladeElementRefWithValue>(null);\n const mergedRef = useMergeRefs(ref, textInputRef);\n const [shouldShowClearButton, setShouldShowClearButton] = useState(false);\n const [isInputFocussed, setIsInputFocussed] = useState(autoFocus ?? false);\n const {\n activeTagIndex,\n setActiveTagIndex,\n getTags,\n handleTaggedInputKeydown,\n handleTaggedInputChange,\n handleTagsClear,\n } = useTaggedInput({\n isTaggedInput,\n tags,\n onTagChange,\n isDisabled,\n onChange,\n name,\n value,\n inputRef: textInputRef,\n });\n\n React.useEffect(() => {\n setShouldShowClearButton(Boolean(showClearButton && (defaultValue ?? value)));\n }, [showClearButton, defaultValue, value]);\n\n const renderInteractionElement = (): ReactNode => {\n if (isLoading) {\n return <Spinner accessibilityLabel=\"Loading Content\" color=\"primary\" />;\n }\n\n if (shouldShowClearButton) {\n return (\n <IconButton\n size=\"medium\"\n icon={CloseIcon}\n onClick={() => {\n if (isEmpty(value) && textInputRef.current) {\n // when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function\n if (isReactNative(textInputRef.current)) {\n textInputRef.current.clear();\n textInputRef.current.focus();\n } else if (textInputRef.current instanceof HTMLInputElement) {\n textInputRef.current.value = '';\n textInputRef.current.focus();\n }\n }\n handleTagsClear();\n // if the input field is controlled just call the click handler and the value change shall be left upto the consumer\n onClearButtonClick?.();\n textInputRef?.current?.focus();\n setShouldShowClearButton(false);\n }}\n isDisabled={isDisabled}\n accessibilityLabel=\"Clear Input Content\"\n />\n );\n }\n\n return null;\n };\n\n return (\n <BaseInput\n id=\"textinput\"\n componentName={MetaConstants.TextInput}\n ref={mergedRef}\n label={label as string}\n accessibilityLabel={accessibilityLabel}\n hideLabelText={!Boolean(label)}\n labelPosition={labelPosition}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value}\n name={name}\n maxCharacters={maxCharacters}\n isDropdownTrigger={isTaggedInput}\n tags={isTaggedInput ? getTags({ size }) : undefined}\n showAllTags={isInputFocussed}\n maxTagRows=\"single\"\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n onChange={({ name, value }) => {\n if (showClearButton && value?.length) {\n // show the clear button when the user starts typing in\n setShouldShowClearButton(true);\n }\n\n if (shouldShowClearButton && !value?.length) {\n // hide the clear button when the input field is empty\n setShouldShowClearButton(false);\n }\n\n handleTaggedInputChange({ name, value });\n onChange?.({ name, value });\n }}\n onClick={onClick}\n onFocus={(e) => {\n setIsInputFocussed(true);\n onFocus?.(e);\n }}\n onBlur={(e) => {\n setIsInputFocussed(false);\n onBlur?.(e);\n }}\n onKeyDown={(e) => {\n handleTaggedInputKeydown(e);\n }}\n onSubmit={onSubmit}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n isRequired={isRequired}\n leadingIcon={leadingIcon ?? icon}\n prefix={prefix}\n trailingInteractionElement={renderInteractionElement()}\n trailingIcon={trailingIcon}\n suffix={suffix}\n validationState={validationState}\n errorText={errorText}\n helpText={helpText}\n successText={successText}\n trailingFooterSlot={(value) => {\n return maxCharacters ? (\n <BaseBox marginTop={hintMarginTop[size]} marginRight=\"spacing.1\">\n <CharacterCounter\n currentCount={value?.length ?? 0}\n maxCount={maxCharacters}\n size={size}\n />\n </BaseBox>\n ) : null;\n }}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n testID={testID}\n {...getKeyboardAndAutocompleteProps({\n type,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n autoCapitalize,\n })}\n size={size}\n {...styledProps}\n />\n );\n};\n\nconst TextInput = assignWithoutSideEffects(React.forwardRef(_TextInput), {\n displayName: 'TextInput',\n});\n\nexport type { TextInputProps };\nexport { TextInput };\n"],"names":["isReactNative","_textInputRef","getPlatformType","_TextInput","_ref","ref","label","accessibilityLabel","_ref$labelPosition","labelPosition","placeholder","_ref$type","type","defaultValue","name","value","maxCharacters","onChange","onClick","onFocus","onBlur","onSubmit","isDisabled","necessityIndicator","validationState","errorText","helpText","successText","isRequired","icon","prefix","showClearButton","onClearButtonClick","isLoading","suffix","autoFocus","keyboardReturnKeyType","autoCompleteSuggestionType","autoCapitalize","testID","_ref$size","size","leadingIcon","trailingIcon","isTaggedInput","tags","onTagChange","styledProps","_objectWithoutProperties","_excluded","textInputRef","React","useRef","mergedRef","useMergeRefs","_useState","useState","_useState2","_slicedToArray","shouldShowClearButton","setShouldShowClearButton","_useState3","_useState4","isInputFocussed","setIsInputFocussed","_useTaggedInput","useTaggedInput","inputRef","activeTagIndex","setActiveTagIndex","getTags","handleTaggedInputKeydown","handleTaggedInputChange","handleTagsClear","useEffect","Boolean","renderInteractionElement","_jsx","Spinner","color","IconButton","CloseIcon","_textInputRef$current","isEmpty","current","clear","focus","HTMLInputElement","BaseInput","_objectSpread","id","componentName","MetaConstants","TextInput","hideLabelText","isDropdownTrigger","undefined","showAllTags","maxTagRows","_ref2","length","e","onKeyDown","trailingInteractionElement","trailingFooterSlot","_value$length","BaseBox","marginTop","hintMarginTop","marginRight","children","CharacterCounter","currentCount","maxCount","getKeyboardAndAutocompleteProps","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
|