@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.
Files changed (202) hide show
  1. package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  2. package/build/lib/native/components/Card/Card.js.map +1 -1
  3. package/build/lib/native/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +12 -0
  4. package/build/lib/native/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
  5. package/build/lib/native/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +12 -0
  6. package/build/lib/native/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
  7. package/build/lib/native/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +12 -0
  8. package/build/lib/native/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
  9. package/build/lib/native/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +12 -0
  10. package/build/lib/native/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
  11. package/build/lib/native/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +12 -0
  12. package/build/lib/native/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
  13. package/build/lib/native/components/Icons/BillMeIcon/BillMeIcon.js +12 -0
  14. package/build/lib/native/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
  15. package/build/lib/native/components/Icons/NoSignalIcon/NoSignalIcon.js +12 -0
  16. package/build/lib/native/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
  17. package/build/lib/native/components/Icons/Signal1BarIcon/Signal1BarIcon.js +12 -0
  18. package/build/lib/native/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
  19. package/build/lib/native/components/Icons/Signal2BarIcon/Signal2BarIcon.js +12 -0
  20. package/build/lib/native/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
  21. package/build/lib/native/components/Icons/Signal3BarIcon/Signal3BarIcon.js +12 -0
  22. package/build/lib/native/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
  23. package/build/lib/native/components/Icons/Signal4BarIcon/Signal4BarIcon.js +12 -0
  24. package/build/lib/native/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
  25. package/build/lib/native/components/Icons/SignalIcon/SignalIcon.js +12 -0
  26. package/build/lib/native/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
  27. package/build/lib/native/components/Icons/SimCardIcon/SimCardIcon.js +12 -0
  28. package/build/lib/native/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
  29. package/build/lib/native/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
  30. package/build/lib/native/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
  31. package/build/lib/native/components/Icons/UpiIcon/UpiIcon.js +12 -0
  32. package/build/lib/native/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
  33. package/build/lib/native/components/Icons/YoutubeIcon/YoutubeIcon.js +12 -0
  34. package/build/lib/native/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
  35. package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
  36. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  37. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +2 -1
  38. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  39. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
  40. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  41. package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
  42. package/build/lib/native/components/index.js +15 -0
  43. package/build/lib/native/components/index.js.map +1 -1
  44. package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  45. package/build/lib/web/development/components/Card/Card.js.map +1 -1
  46. package/build/lib/web/development/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +57 -0
  47. package/build/lib/web/development/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
  48. package/build/lib/web/development/components/Icons/Battery100PercentIcon/index.js +2 -0
  49. package/build/lib/web/development/components/Icons/Battery100PercentIcon/index.js.map +1 -0
  50. package/build/lib/web/development/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +45 -0
  51. package/build/lib/web/development/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
  52. package/build/lib/web/development/components/Icons/Battery20PercentIcon/index.js +2 -0
  53. package/build/lib/web/development/components/Icons/Battery20PercentIcon/index.js.map +1 -0
  54. package/build/lib/web/development/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +48 -0
  55. package/build/lib/web/development/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
  56. package/build/lib/web/development/components/Icons/Battery40PercentIcon/index.js +2 -0
  57. package/build/lib/web/development/components/Icons/Battery40PercentIcon/index.js.map +1 -0
  58. package/build/lib/web/development/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +51 -0
  59. package/build/lib/web/development/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
  60. package/build/lib/web/development/components/Icons/Battery60PercentIcon/index.js +2 -0
  61. package/build/lib/web/development/components/Icons/Battery60PercentIcon/index.js.map +1 -0
  62. package/build/lib/web/development/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +54 -0
  63. package/build/lib/web/development/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
  64. package/build/lib/web/development/components/Icons/Battery80PercentIcon/index.js +2 -0
  65. package/build/lib/web/development/components/Icons/Battery80PercentIcon/index.js.map +1 -0
  66. package/build/lib/web/development/components/Icons/BillMeIcon/BillMeIcon.js +51 -0
  67. package/build/lib/web/development/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
  68. package/build/lib/web/development/components/Icons/BillMeIcon/index.js +2 -0
  69. package/build/lib/web/development/components/Icons/BillMeIcon/index.js.map +1 -0
  70. package/build/lib/web/development/components/Icons/NoSignalIcon/NoSignalIcon.js +37 -0
  71. package/build/lib/web/development/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
  72. package/build/lib/web/development/components/Icons/NoSignalIcon/index.js +2 -0
  73. package/build/lib/web/development/components/Icons/NoSignalIcon/index.js.map +1 -0
  74. package/build/lib/web/development/components/Icons/Signal1BarIcon/Signal1BarIcon.js +37 -0
  75. package/build/lib/web/development/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
  76. package/build/lib/web/development/components/Icons/Signal1BarIcon/index.js +2 -0
  77. package/build/lib/web/development/components/Icons/Signal1BarIcon/index.js.map +1 -0
  78. package/build/lib/web/development/components/Icons/Signal2BarIcon/Signal2BarIcon.js +37 -0
  79. package/build/lib/web/development/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
  80. package/build/lib/web/development/components/Icons/Signal2BarIcon/index.js +2 -0
  81. package/build/lib/web/development/components/Icons/Signal2BarIcon/index.js.map +1 -0
  82. package/build/lib/web/development/components/Icons/Signal3BarIcon/Signal3BarIcon.js +37 -0
  83. package/build/lib/web/development/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
  84. package/build/lib/web/development/components/Icons/Signal3BarIcon/index.js +2 -0
  85. package/build/lib/web/development/components/Icons/Signal3BarIcon/index.js.map +1 -0
  86. package/build/lib/web/development/components/Icons/Signal4BarIcon/Signal4BarIcon.js +37 -0
  87. package/build/lib/web/development/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
  88. package/build/lib/web/development/components/Icons/Signal4BarIcon/index.js +2 -0
  89. package/build/lib/web/development/components/Icons/Signal4BarIcon/index.js.map +1 -0
  90. package/build/lib/web/development/components/Icons/SignalIcon/SignalIcon.js +37 -0
  91. package/build/lib/web/development/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
  92. package/build/lib/web/development/components/Icons/SignalIcon/index.js +2 -0
  93. package/build/lib/web/development/components/Icons/SignalIcon/index.js.map +1 -0
  94. package/build/lib/web/development/components/Icons/SimCardIcon/SimCardIcon.js +57 -0
  95. package/build/lib/web/development/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
  96. package/build/lib/web/development/components/Icons/SimCardIcon/index.js +2 -0
  97. package/build/lib/web/development/components/Icons/SimCardIcon/index.js.map +1 -0
  98. package/build/lib/web/development/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
  99. package/build/lib/web/development/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
  100. package/build/lib/web/development/components/Icons/UpiIcon/UpiIcon.js +39 -0
  101. package/build/lib/web/development/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
  102. package/build/lib/web/development/components/Icons/UpiIcon/index.js +2 -0
  103. package/build/lib/web/development/components/Icons/UpiIcon/index.js.map +1 -0
  104. package/build/lib/web/development/components/Icons/YoutubeIcon/YoutubeIcon.js +44 -0
  105. package/build/lib/web/development/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
  106. package/build/lib/web/development/components/Icons/YoutubeIcon/index.js +2 -0
  107. package/build/lib/web/development/components/Icons/YoutubeIcon/index.js.map +1 -0
  108. package/build/lib/web/development/components/Icons/index.js +15 -0
  109. package/build/lib/web/development/components/Icons/index.js.map +1 -1
  110. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +3 -1
  111. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  112. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +77 -66
  113. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  114. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +10 -10
  115. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  116. package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
  117. package/build/lib/web/development/components/Modal/ModalBody.web.js.map +1 -1
  118. package/build/lib/web/development/components/index.js +15 -0
  119. package/build/lib/web/development/components/index.js.map +1 -1
  120. package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
  121. package/build/lib/web/production/components/Card/Card.js.map +1 -1
  122. package/build/lib/web/production/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js +57 -0
  123. package/build/lib/web/production/components/Icons/Battery100PercentIcon/Battery100PercentIcon.js.map +1 -0
  124. package/build/lib/web/production/components/Icons/Battery100PercentIcon/index.js +2 -0
  125. package/build/lib/web/production/components/Icons/Battery100PercentIcon/index.js.map +1 -0
  126. package/build/lib/web/production/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js +45 -0
  127. package/build/lib/web/production/components/Icons/Battery20PercentIcon/Battery20PercentIcon.js.map +1 -0
  128. package/build/lib/web/production/components/Icons/Battery20PercentIcon/index.js +2 -0
  129. package/build/lib/web/production/components/Icons/Battery20PercentIcon/index.js.map +1 -0
  130. package/build/lib/web/production/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js +48 -0
  131. package/build/lib/web/production/components/Icons/Battery40PercentIcon/Battery40PercentIcon.js.map +1 -0
  132. package/build/lib/web/production/components/Icons/Battery40PercentIcon/index.js +2 -0
  133. package/build/lib/web/production/components/Icons/Battery40PercentIcon/index.js.map +1 -0
  134. package/build/lib/web/production/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js +51 -0
  135. package/build/lib/web/production/components/Icons/Battery60PercentIcon/Battery60PercentIcon.js.map +1 -0
  136. package/build/lib/web/production/components/Icons/Battery60PercentIcon/index.js +2 -0
  137. package/build/lib/web/production/components/Icons/Battery60PercentIcon/index.js.map +1 -0
  138. package/build/lib/web/production/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js +54 -0
  139. package/build/lib/web/production/components/Icons/Battery80PercentIcon/Battery80PercentIcon.js.map +1 -0
  140. package/build/lib/web/production/components/Icons/Battery80PercentIcon/index.js +2 -0
  141. package/build/lib/web/production/components/Icons/Battery80PercentIcon/index.js.map +1 -0
  142. package/build/lib/web/production/components/Icons/BillMeIcon/BillMeIcon.js +51 -0
  143. package/build/lib/web/production/components/Icons/BillMeIcon/BillMeIcon.js.map +1 -0
  144. package/build/lib/web/production/components/Icons/BillMeIcon/index.js +2 -0
  145. package/build/lib/web/production/components/Icons/BillMeIcon/index.js.map +1 -0
  146. package/build/lib/web/production/components/Icons/NoSignalIcon/NoSignalIcon.js +37 -0
  147. package/build/lib/web/production/components/Icons/NoSignalIcon/NoSignalIcon.js.map +1 -0
  148. package/build/lib/web/production/components/Icons/NoSignalIcon/index.js +2 -0
  149. package/build/lib/web/production/components/Icons/NoSignalIcon/index.js.map +1 -0
  150. package/build/lib/web/production/components/Icons/Signal1BarIcon/Signal1BarIcon.js +37 -0
  151. package/build/lib/web/production/components/Icons/Signal1BarIcon/Signal1BarIcon.js.map +1 -0
  152. package/build/lib/web/production/components/Icons/Signal1BarIcon/index.js +2 -0
  153. package/build/lib/web/production/components/Icons/Signal1BarIcon/index.js.map +1 -0
  154. package/build/lib/web/production/components/Icons/Signal2BarIcon/Signal2BarIcon.js +37 -0
  155. package/build/lib/web/production/components/Icons/Signal2BarIcon/Signal2BarIcon.js.map +1 -0
  156. package/build/lib/web/production/components/Icons/Signal2BarIcon/index.js +2 -0
  157. package/build/lib/web/production/components/Icons/Signal2BarIcon/index.js.map +1 -0
  158. package/build/lib/web/production/components/Icons/Signal3BarIcon/Signal3BarIcon.js +37 -0
  159. package/build/lib/web/production/components/Icons/Signal3BarIcon/Signal3BarIcon.js.map +1 -0
  160. package/build/lib/web/production/components/Icons/Signal3BarIcon/index.js +2 -0
  161. package/build/lib/web/production/components/Icons/Signal3BarIcon/index.js.map +1 -0
  162. package/build/lib/web/production/components/Icons/Signal4BarIcon/Signal4BarIcon.js +37 -0
  163. package/build/lib/web/production/components/Icons/Signal4BarIcon/Signal4BarIcon.js.map +1 -0
  164. package/build/lib/web/production/components/Icons/Signal4BarIcon/index.js +2 -0
  165. package/build/lib/web/production/components/Icons/Signal4BarIcon/index.js.map +1 -0
  166. package/build/lib/web/production/components/Icons/SignalIcon/SignalIcon.js +37 -0
  167. package/build/lib/web/production/components/Icons/SignalIcon/SignalIcon.js.map +1 -0
  168. package/build/lib/web/production/components/Icons/SignalIcon/index.js +2 -0
  169. package/build/lib/web/production/components/Icons/SignalIcon/index.js.map +1 -0
  170. package/build/lib/web/production/components/Icons/SimCardIcon/SimCardIcon.js +57 -0
  171. package/build/lib/web/production/components/Icons/SimCardIcon/SimCardIcon.js.map +1 -0
  172. package/build/lib/web/production/components/Icons/SimCardIcon/index.js +2 -0
  173. package/build/lib/web/production/components/Icons/SimCardIcon/index.js.map +1 -0
  174. package/build/lib/web/production/components/Icons/TwitterIcon/TwitterIcon.js +1 -1
  175. package/build/lib/web/production/components/Icons/TwitterIcon/TwitterIcon.js.map +1 -1
  176. package/build/lib/web/production/components/Icons/UpiIcon/UpiIcon.js +39 -0
  177. package/build/lib/web/production/components/Icons/UpiIcon/UpiIcon.js.map +1 -0
  178. package/build/lib/web/production/components/Icons/UpiIcon/index.js +2 -0
  179. package/build/lib/web/production/components/Icons/UpiIcon/index.js.map +1 -0
  180. package/build/lib/web/production/components/Icons/YoutubeIcon/YoutubeIcon.js +44 -0
  181. package/build/lib/web/production/components/Icons/YoutubeIcon/YoutubeIcon.js.map +1 -0
  182. package/build/lib/web/production/components/Icons/YoutubeIcon/index.js +2 -0
  183. package/build/lib/web/production/components/Icons/YoutubeIcon/index.js.map +1 -0
  184. package/build/lib/web/production/components/Icons/index.js +15 -0
  185. package/build/lib/web/production/components/Icons/index.js.map +1 -1
  186. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +3 -1
  187. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  188. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +77 -66
  189. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  190. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +10 -10
  191. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  192. package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
  193. package/build/lib/web/production/components/Modal/ModalBody.web.js.map +1 -1
  194. package/build/lib/web/production/components/index.js +15 -0
  195. package/build/lib/web/production/components/index.js.map +1 -1
  196. package/build/types/components/index.d.ts +55 -21
  197. package/build/types/components/index.native.d.ts +54 -20
  198. package/codemods/aicodemod/README.md +26 -0
  199. package/codemods/aicodemod/bin.mjs +128 -0
  200. package/codemods/aicodemod/knowledge/Table.md +596 -0
  201. package/codemods/aicodemod/knowledge/presets/dashboard/table-pattern-1.md +319 -0
  202. 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(_ref) {
41
- var hasLeadingIcon = _ref.hasLeadingIcon,
42
- hasPrefix = _ref.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(_ref2) {
58
- var hasTrailingIcon = _ref2.hasTrailingIcon,
59
- hasLeadingInteractionElement = _ref2.hasLeadingInteractionElement,
60
- hasTrailingInteractionElement = _ref2.hasTrailingInteractionElement,
61
- hasSuffix = _ref2.hasSuffix,
62
- hasTrailingButton = _ref2.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(_ref3) {
75
- var hasTrailingIcon = _ref3.hasTrailingIcon,
76
- hasSuffix = _ref3.hasSuffix,
77
- hasTrailingButton = _ref3.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(_ref4) {
93
- var hasTrailingIcon = _ref4.hasTrailingIcon,
94
- hasTrailingButton = _ref4.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(_ref5) {
110
- var leadingIcon = _ref5.leadingIcon,
111
- prefix = _ref5.prefix,
112
- trailingInteractionElement = _ref5.trailingInteractionElement,
113
- leadingInteractionElement = _ref5.leadingInteractionElement,
114
- suffix = _ref5.suffix,
115
- trailingIcon = _ref5.trailingIcon,
116
- trailingButton = _ref5.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(_ref6) {
128
- var validationState = _ref6.validationState,
129
- errorText = _ref6.errorText,
130
- successText = _ref6.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(_ref7) {
140
- var children = _ref7.children,
141
- validationState = _ref7.validationState,
142
- errorText = _ref7.errorText,
143
- successText = _ref7.successText,
144
- showHintsAsTooltip = _ref7.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(_ref8) {
163
- var LeadingIcon = _ref8.leadingIcon,
164
- prefix = _ref8.prefix,
165
- trailingInteractionElement = _ref8.trailingInteractionElement,
166
- leadingInteractionElement = _ref8.leadingInteractionElement,
167
- suffix = _ref8.suffix,
168
- TrailingIcon = _ref8.trailingIcon,
169
- isDisabled = _ref8.isDisabled,
170
- _ref8$validationState = _ref8.validationState,
171
- validationState = _ref8$validationState === void 0 ? 'none' : _ref8$validationState,
172
- size = _ref8.size,
173
- showHintsAsTooltip = _ref8.showHintsAsTooltip,
174
- errorText = _ref8.errorText,
175
- successText = _ref8.successText,
176
- TrailingButton = _ref8.trailingButton;
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
- alignSelf: "stretch",
241
- alignItems: "stretch"
242
- }, getVisualContainerStyles()), {}, {
243
- children: [hasTrailingInteractionElement ? /*#__PURE__*/jsx(BaseBox, {
244
- paddingRight: getInteractionElementStyles({
245
- hasTrailingIcon: hasTrailingIcon,
246
- hasTrailingInteractionElement: hasTrailingInteractionElement,
247
- hasSuffix: hasSuffix,
248
- hasTrailingButton: hasTrailingButton
249
- }),
250
- display: "flex",
251
- alignItems: "stretch",
252
- alignSelf: "stretch",
253
- children: trailingInteractionElement
254
- }) : null, hasSuffix ? /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({}, getSuffixStyles({
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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"}
@@ -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
- trailingInteractionElement: isAutoCompleteInHeader || isInsideTableEditableCell && !isValidationStateNone ? null : /*#__PURE__*/jsx(InputChevronIcon, {
307
- onClick: function onClick() {
308
- if (!props.isDisabled) {
309
- // Icon onClicks to the SelectInput itself
310
- if (!isReactNative()) {
311
- var _triggererRef$current2;
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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"}