@razorpay/blade 11.25.0 → 11.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +1 -1
  2. package/build/lib/native/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
  3. package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
  4. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  5. package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
  6. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  7. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
  8. package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  9. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +1 -1
  10. package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  11. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +4 -1
  12. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  13. package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js +1 -1
  14. package/build/lib/native/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  15. package/build/lib/native/components/Table/TableBody.native.js +2 -2
  16. package/build/lib/native/components/Table/TableBody.native.js.map +1 -1
  17. package/build/lib/native/components/Table/TableContext.js +6 -0
  18. package/build/lib/native/components/Table/TableContext.js.map +1 -0
  19. package/build/lib/native/components/Table/TableEditableCell.native.js +16 -0
  20. package/build/lib/native/components/Table/TableEditableCell.native.js.map +1 -0
  21. package/build/lib/native/components/Table/TableEditableCellContext.js +6 -0
  22. package/build/lib/native/components/Table/TableEditableCellContext.js.map +1 -0
  23. package/build/lib/native/components/Table/TablePagination.native.js +2 -2
  24. package/build/lib/native/components/Table/TablePagination.native.js.map +1 -1
  25. package/build/lib/native/components/Table/TableToolbar.native.js +2 -2
  26. package/build/lib/native/components/Table/TableToolbar.native.js.map +1 -1
  27. package/build/lib/native/components/Table/tokens.js +22 -0
  28. package/build/lib/native/components/Table/tokens.js.map +1 -0
  29. package/build/lib/native/components/index.js +4 -3
  30. package/build/lib/native/components/index.js.map +1 -1
  31. package/build/lib/native/tokens/theme/createTheme.js +1 -1
  32. package/build/lib/native/tokens/theme/createTheme.js.map +1 -1
  33. package/build/lib/web/development/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +1 -1
  34. package/build/lib/web/development/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
  35. package/build/lib/web/development/components/Dropdown/Dropdown.js +3 -1
  36. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  37. package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +1 -1
  38. package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
  39. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +5 -3
  40. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  41. package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js +55 -33
  42. package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
  43. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +4 -4
  44. package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  45. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +4 -2
  46. package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  47. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +22 -4
  48. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  49. package/build/lib/web/development/components/Spinner/BaseSpinner/BaseSpinner.js +3 -3
  50. package/build/lib/web/development/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  51. package/build/lib/web/development/components/Table/TableBody.web.js +26 -166
  52. package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
  53. package/build/lib/web/development/components/Table/TableEditableCell.web.js +194 -0
  54. package/build/lib/web/development/components/Table/TableEditableCell.web.js.map +1 -0
  55. package/build/lib/web/development/components/Table/TableEditableCellContext.js +12 -0
  56. package/build/lib/web/development/components/Table/TableEditableCellContext.js.map +1 -0
  57. package/build/lib/web/development/components/Table/TablePagination.web.js +3 -2
  58. package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
  59. package/build/lib/web/development/components/Table/index.js +2 -2
  60. package/build/lib/web/development/components/Table/tokens.js +14 -2
  61. package/build/lib/web/development/components/Table/tokens.js.map +1 -1
  62. package/build/lib/web/development/components/index.js +2 -1
  63. package/build/lib/web/development/components/index.js.map +1 -1
  64. package/build/lib/web/development/tokens/theme/createTheme.js +5 -2
  65. package/build/lib/web/development/tokens/theme/createTheme.js.map +1 -1
  66. package/build/lib/web/production/components/BaseMenu/BaseMenuItem/BaseMenuItem.js +1 -1
  67. package/build/lib/web/production/components/BaseMenu/BaseMenuItem/BaseMenuItem.js.map +1 -1
  68. package/build/lib/web/production/components/Dropdown/Dropdown.js +3 -1
  69. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  70. package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +1 -1
  71. package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
  72. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +5 -3
  73. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  74. package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js +55 -33
  75. package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
  76. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +4 -4
  77. package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
  78. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +4 -2
  79. package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
  80. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +22 -4
  81. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  82. package/build/lib/web/production/components/Spinner/BaseSpinner/BaseSpinner.js +3 -3
  83. package/build/lib/web/production/components/Spinner/BaseSpinner/BaseSpinner.js.map +1 -1
  84. package/build/lib/web/production/components/Table/TableBody.web.js +26 -166
  85. package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
  86. package/build/lib/web/production/components/Table/TableEditableCell.web.js +194 -0
  87. package/build/lib/web/production/components/Table/TableEditableCell.web.js.map +1 -0
  88. package/build/lib/web/production/components/Table/TableEditableCellContext.js +12 -0
  89. package/build/lib/web/production/components/Table/TableEditableCellContext.js.map +1 -0
  90. package/build/lib/web/production/components/Table/TablePagination.web.js +3 -2
  91. package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
  92. package/build/lib/web/production/components/Table/index.js +2 -2
  93. package/build/lib/web/production/components/Table/tokens.js +14 -2
  94. package/build/lib/web/production/components/Table/tokens.js.map +1 -1
  95. package/build/lib/web/production/components/index.js +2 -1
  96. package/build/lib/web/production/components/index.js.map +1 -1
  97. package/build/lib/web/production/tokens/theme/createTheme.js +5 -2
  98. package/build/lib/web/production/tokens/theme/createTheme.js.map +1 -1
  99. package/build/types/components/index.d.ts +16 -4
  100. package/build/types/components/index.native.d.ts +18 -6
  101. package/build/types/tokens/index.d.ts +6 -3
  102. package/build/types/tokens/index.native.d.ts +6 -3
  103. package/package.json +1 -1
  104. package/build/lib/web/development/components/Table/types.js +0 -2
  105. package/build/lib/web/development/components/Table/types.js.map +0 -1
  106. package/build/lib/web/production/components/Table/types.js +0 -2
  107. package/build/lib/web/production/components/Table/types.js.map +0 -1
@@ -9,13 +9,14 @@ import { useIsomorphicLayoutEffect } from '../../../utils/useIsomorphicLayoutEff
9
9
  import { useIsMobile } from '../../../utils/useIsMobile.js';
10
10
  import '../../../utils/metaAttribute/index.js';
11
11
  import '../../../tokens/global/index.js';
12
- import { jsxs, jsx } from 'react/jsx-runtime';
12
+ import { useTableEditableCell } from '../../Table/TableEditableCellContext.js';
13
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
13
14
  import { size } from '../../../tokens/global/size.js';
14
15
  import { MetaConstants } from '../../../utils/metaAttribute/metaConstants.js';
15
16
  import { BaseBox } from '../../Box/BaseBox/BaseBox.web.js';
17
+ import { Text } from '../../Typography/Text/Text.js';
16
18
  import { makeSize } from '../../../utils/makeSize/makeSize.js';
17
19
  import { castWebType } from '../../../utils/platform/castUtils.js';
18
- import { Text } from '../../Typography/Text/Text.js';
19
20
 
20
21
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
21
22
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -35,9 +36,11 @@ var useVisibleTagsCount = function useVisibleTagsCount(_ref) {
35
36
  visibleTagsCount = _React$useState2[0],
36
37
  setVisibleTagsCount = _React$useState2[1];
37
38
  var visibleTagsCountStateRef = React__default.useRef(0);
39
+ var _useTableEditableCell = useTableEditableCell(),
40
+ isInsideTableEditableCell = _useTableEditableCell.isInsideTableEditableCell;
38
41
  useIsomorphicLayoutEffect(function () {
39
42
  var _slotRef$current, _slotRef$current2;
40
- if (!tags || labelPrefix) {
43
+ if (!tags || labelPrefix || isInsideTableEditableCell) {
41
44
  setVisibleTagsCount(0);
42
45
  return;
43
46
  }
@@ -105,23 +108,43 @@ var TagSlotContainer = /*#__PURE__*/styled(BaseBox).withConfig({
105
108
  'scrollbar-width': 'none'
106
109
  };
107
110
  });
108
- var BaseInputTagSlot = function BaseInputTagSlot(_ref3) {
109
- var renderAs = _ref3.renderAs,
110
- children = _ref3.children,
111
- tags = _ref3.tags,
112
- maxTagRows = _ref3.maxTagRows,
113
- showAllTags = _ref3.showAllTags,
114
- setShouldIgnoreBlurAnimation = _ref3.setShouldIgnoreBlurAnimation,
115
- handleOnInputClick = _ref3.handleOnInputClick,
116
- isDropdownTrigger = _ref3.isDropdownTrigger,
117
- visibleTagsCountRef = _ref3.visibleTagsCountRef,
118
- labelPrefix = _ref3.labelPrefix,
119
- isDisabled = _ref3.isDisabled,
120
- numberOfLines = _ref3.numberOfLines,
121
- isTextArea = _ref3.isTextArea,
122
- size$1 = _ref3.size;
111
+ var SelectedCountText = function SelectedCountText(_ref3) {
112
+ var children = _ref3.children,
113
+ isDisabled = _ref3.isDisabled;
114
+ return /*#__PURE__*/jsx(Text, {
115
+ color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',
116
+ alignSelf: "center",
117
+ marginY: "spacing.2",
118
+ marginRight: "spacing.4",
119
+ variant: "body",
120
+ size: "small",
121
+ weight: "regular",
122
+ children: /*#__PURE__*/jsx(BaseBox, {
123
+ as: "span",
124
+ whiteSpace: "nowrap",
125
+ children: children
126
+ })
127
+ });
128
+ };
129
+ var BaseInputTagSlot = function BaseInputTagSlot(_ref4) {
130
+ var renderAs = _ref4.renderAs,
131
+ children = _ref4.children,
132
+ tags = _ref4.tags,
133
+ maxTagRows = _ref4.maxTagRows,
134
+ showAllTags = _ref4.showAllTags,
135
+ setShouldIgnoreBlurAnimation = _ref4.setShouldIgnoreBlurAnimation,
136
+ handleOnInputClick = _ref4.handleOnInputClick,
137
+ isDropdownTrigger = _ref4.isDropdownTrigger,
138
+ visibleTagsCountRef = _ref4.visibleTagsCountRef,
139
+ labelPrefix = _ref4.labelPrefix,
140
+ isDisabled = _ref4.isDisabled,
141
+ numberOfLines = _ref4.numberOfLines,
142
+ isTextArea = _ref4.isTextArea,
143
+ size$1 = _ref4.size;
123
144
  var hasTags = tags && tags.length > 0;
124
145
  var slotRef = React__default.useRef(null);
146
+ var _useTableEditableCell2 = useTableEditableCell(),
147
+ isInsideTableEditableCell = _useTableEditableCell2.isInsideTableEditableCell;
125
148
  var visibleTagsCount = useVisibleTagsCount({
126
149
  slotRef: slotRef,
127
150
  tags: tags,
@@ -188,7 +211,8 @@ var BaseInputTagSlot = function BaseInputTagSlot(_ref3) {
188
211
  minHeight: makeSize(baseInputHeight[size$1]),
189
212
  maxHeight:
190
213
  // In TextArea with tagged input, we explicitly define maxHeight based on maxHeight so that tags dont overflow out of textarea
191
- isDropdownTrigger && isTextArea ? makeSize(baseInputHeight[size$1] * (numberOfLines !== null && numberOfLines !== void 0 ? numberOfLines : 1)) : undefined,
214
+ // And In table we strictly want the maxHeight to be defined to not mess up the table layout
215
+ isDropdownTrigger && isTextArea || isInsideTableEditableCell ? makeSize(baseInputHeight[size$1] * (numberOfLines !== null && numberOfLines !== void 0 ? numberOfLines : 1)) : undefined,
192
216
  onMouseDown: function onMouseDown() {
193
217
  setShouldIgnoreBlurAnimation === null || setShouldIgnoreBlurAnimation === void 0 ? void 0 : setShouldIgnoreBlurAnimation(true);
194
218
  },
@@ -198,25 +222,23 @@ var BaseInputTagSlot = function BaseInputTagSlot(_ref3) {
198
222
  onMouseUp: function onMouseUp() {
199
223
  setShouldIgnoreBlurAnimation === null || setShouldIgnoreBlurAnimation === void 0 ? void 0 : setShouldIgnoreBlurAnimation(false);
200
224
  },
201
- children: [visibleTags, tags && !showAllTags && invisibleTagsCount ? /*#__PURE__*/jsx(Text, {
202
- color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',
203
- alignSelf: "center",
204
- marginY: "spacing.2",
205
- marginRight: "spacing.4",
206
- variant: "body",
207
- size: "small",
208
- weight: "regular",
209
- children: /*#__PURE__*/jsx(BaseBox, {
210
- as: "span",
211
- whiteSpace: "nowrap",
225
+ children: [isInsideTableEditableCell && tags && tags.length > 0 ? /*#__PURE__*/jsx(SelectedCountText, {
226
+ isDisabled: isDisabled,
227
+ children: getSelectedTextWithoutTags({
228
+ items: tags.length,
229
+ labelPrefix: labelPrefix
230
+ })
231
+ }) : /*#__PURE__*/jsxs(Fragment, {
232
+ children: [visibleTags, tags && !showAllTags && invisibleTagsCount ? /*#__PURE__*/jsx(SelectedCountText, {
233
+ isDisabled: isDisabled,
212
234
  children: (visibleTags === null || visibleTags === void 0 ? void 0 : visibleTags.length) === 0 ? getSelectedTextWithoutTags({
213
235
  items: invisibleTagsCount,
214
236
  labelPrefix: labelPrefix
215
237
  }) : "+".concat(invisibleTagsCount, " More")
216
- })
217
- }) : null, /*#__PURE__*/jsx(BaseBox, {
238
+ }) : null]
239
+ }), /*#__PURE__*/jsx(BaseBox, {
218
240
  marginTop: "-4px",
219
- minWidth: hasTags && renderAs === 'button' ? undefined : makeSize(MINUMUM_INPUT_SPACE),
241
+ minWidth: hasTags && renderAs === 'button' ? undefined : "min(20%, ".concat(makeSize(MINUMUM_INPUT_SPACE), ")"),
220
242
  width: hasTags && renderAs === 'button' ? makeSize(size['1']) : '100%',
221
243
  children: children
222
244
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInputTagSlot.web.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInputTagSlot.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { BaseInputTagSlotProps } from './types';\nimport { baseInputHeight } from './baseInputTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeSize } from '~utils';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { size as sizeToken } from '~tokens/global';\n\nconst MINUMUM_INPUT_SPACE = 60;\nconst PLUS_X_MORE_TEXT_WIDTH = 60;\nconst TAG_MAX_WIDTH: number = sizeToken['140'];\n\nconst useVisibleTagsCount = ({\n slotRef,\n tags,\n maxTagRows,\n visibleTagsCountRef,\n showAllTags,\n labelPrefix,\n}: {\n slotRef: React.RefObject<HTMLDivElement>;\n tags: BaseInputTagSlotProps['tags'];\n maxTagRows: BaseInputTagSlotProps['maxTagRows'];\n visibleTagsCountRef: BaseInputTagSlotProps['visibleTagsCountRef'];\n showAllTags: BaseInputTagSlotProps['showAllTags'];\n labelPrefix: BaseInputTagSlotProps['labelPrefix'];\n}): number => {\n const [visibleTagsCount, setVisibleTagsCount] = React.useState(0);\n const visibleTagsCountStateRef = React.useRef<number>(0);\n\n useIsomorphicLayoutEffect(() => {\n if (!tags || labelPrefix) {\n setVisibleTagsCount(0);\n return;\n }\n\n if (maxTagRows === 'multiple' || showAllTags) {\n visibleTagsCountRef.current = tags.length;\n setVisibleTagsCount(tags.length);\n return;\n }\n\n const inputTagsSlotWidth = slotRef.current?.clientWidth;\n visibleTagsCountStateRef.current = 0;\n let totalTagsWidth = 0;\n\n if (!inputTagsSlotWidth) {\n return;\n }\n\n const allTagsEl = slotRef.current?.querySelectorAll(\n `[data-blade-component=\"${MetaConstants.Tag}\"]`,\n );\n\n const totalAvailableSpaceForTags =\n inputTagsSlotWidth - (MINUMUM_INPUT_SPACE + PLUS_X_MORE_TEXT_WIDTH);\n\n if (allTagsEl.length !== tags.length) {\n // some weird edge cases in controlled select where tags are not rendered in children\n // we assume 140px (max-width of tag as width of all tags)\n const tagsCount = Math.floor((totalAvailableSpaceForTags / TAG_MAX_WIDTH) * tags.length);\n visibleTagsCountRef.current = tagsCount;\n setVisibleTagsCount(tagsCount);\n return;\n }\n\n for (const tagEl of allTagsEl) {\n totalTagsWidth += tagEl.clientWidth;\n if (totalTagsWidth >= totalAvailableSpaceForTags) {\n break;\n } else {\n visibleTagsCountStateRef.current++;\n }\n }\n\n visibleTagsCountRef.current = visibleTagsCountStateRef.current;\n setVisibleTagsCount(visibleTagsCountStateRef.current);\n }, [tags?.length, showAllTags]);\n\n return visibleTagsCount;\n};\n\nconst getSelectedTextWithoutTags = ({\n items,\n labelPrefix,\n}: {\n items: number;\n labelPrefix?: string;\n}): string => {\n if (labelPrefix) {\n return `${labelPrefix} (${items} Selected)`;\n }\n\n return `${items} Selected`;\n};\n\nconst TagSlotContainer = styled(BaseBox)(() => {\n return {\n // hides the scrollbar of tagslot\n '::-webkit-scrollbar': {\n display: 'none',\n },\n '-ms-overflow-style': 'none',\n 'scrollbar-width': 'none',\n };\n});\n\nconst BaseInputTagSlot = ({\n renderAs,\n children,\n tags,\n maxTagRows,\n showAllTags,\n setShouldIgnoreBlurAnimation,\n handleOnInputClick,\n isDropdownTrigger,\n visibleTagsCountRef,\n labelPrefix,\n isDisabled,\n numberOfLines,\n isTextArea,\n size,\n}: BaseInputTagSlotProps): React.ReactElement => {\n const hasTags = tags && tags.length > 0;\n const slotRef = React.useRef<HTMLDivElement>(null);\n const visibleTagsCount = useVisibleTagsCount({\n slotRef,\n tags,\n maxTagRows,\n visibleTagsCountRef,\n showAllTags,\n labelPrefix,\n });\n\n React.useEffect(() => {\n slotRef.current?.scrollTo?.({\n top:\n maxTagRows === 'multiple' || maxTagRows === 'expandable' ? slotRef.current.scrollHeight : 0,\n left: maxTagRows === 'single' ? slotRef.current.scrollWidth : 0,\n behavior: 'smooth',\n });\n }, [tags?.length, maxTagRows]);\n\n React.useEffect(() => {\n if (!showAllTags) {\n slotRef.current?.scrollTo?.({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n } else if (maxTagRows === 'single') {\n // when its single line input and showAllTags is true, we scroll till item on focus\n slotRef.current?.scrollTo?.({\n top: 0,\n left: maxTagRows === 'single' ? slotRef.current.scrollWidth : 0,\n behavior: 'smooth',\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showAllTags]);\n\n const visibleTags = React.useMemo(() => {\n return showAllTags ? tags : tags?.slice(0, visibleTagsCount);\n }, [showAllTags, tags, visibleTagsCount]);\n\n const invisibleTagsCount = React.useMemo(() => {\n if (tags && visibleTags) {\n return tags.length - visibleTags.length;\n }\n\n return 0;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tags?.length, visibleTags?.length]);\n\n const isMobile = useIsMobile();\n\n if (!isDropdownTrigger) {\n // If its not dropdown trigger, we don't need to render tag containers\n return children;\n }\n\n // tag height changes in mobile and desktop so we keep different paddings to make it look as expected\n const paddingYWithTags = isMobile ? 'spacing.1' : 'spacing.2';\n\n return (\n <TagSlotContainer\n ref={slotRef}\n className=\"tags-slot\"\n paddingY={paddingYWithTags}\n paddingLeft=\"spacing.4\"\n display=\"flex\"\n flex=\"1\"\n flexWrap={maxTagRows === 'single' ? 'nowrap' : 'wrap'}\n overflowX=\"auto\"\n overflowY={showAllTags || maxTagRows === 'multiple' ? 'auto' : 'hidden'}\n minHeight={makeSize(baseInputHeight[size])}\n maxHeight={\n // In TextArea with tagged input, we explicitly define maxHeight based on maxHeight so that tags dont overflow out of textarea\n isDropdownTrigger && isTextArea\n ? makeSize(baseInputHeight[size] * (numberOfLines ?? 1))\n : undefined\n }\n onMouseDown={() => {\n setShouldIgnoreBlurAnimation?.(true);\n }}\n onClick={(e) => {\n handleOnInputClick(castWebType(e));\n }}\n onMouseUp={() => {\n setShouldIgnoreBlurAnimation?.(false);\n }}\n >\n {visibleTags}\n {tags && !showAllTags && invisibleTagsCount ? (\n <Text\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n alignSelf=\"center\"\n marginY=\"spacing.2\"\n marginRight=\"spacing.4\"\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n >\n <BaseBox as=\"span\" whiteSpace=\"nowrap\">\n {visibleTags?.length === 0\n ? getSelectedTextWithoutTags({\n items: invisibleTagsCount,\n labelPrefix,\n })\n : `+${invisibleTagsCount} More`}\n </BaseBox>\n </Text>\n ) : null}\n <BaseBox\n marginTop=\"-4px\"\n minWidth={hasTags && renderAs === 'button' ? undefined : makeSize(MINUMUM_INPUT_SPACE)}\n width={hasTags && renderAs === 'button' ? makeSize(sizeToken['1']) : '100%'}\n >\n {children}\n </BaseBox>\n </TagSlotContainer>\n );\n};\n\nexport { BaseInputTagSlot };\n"],"names":["MINUMUM_INPUT_SPACE","PLUS_X_MORE_TEXT_WIDTH","TAG_MAX_WIDTH","sizeToken","useVisibleTagsCount","_ref","slotRef","tags","maxTagRows","visibleTagsCountRef","showAllTags","labelPrefix","_React$useState","React","useState","_React$useState2","_slicedToArray","visibleTagsCount","setVisibleTagsCount","visibleTagsCountStateRef","useRef","useIsomorphicLayoutEffect","_slotRef$current","_slotRef$current2","current","length","inputTagsSlotWidth","clientWidth","totalTagsWidth","allTagsEl","querySelectorAll","concat","MetaConstants","Tag","totalAvailableSpaceForTags","tagsCount","Math","floor","_iterator","_createForOfIteratorHelper","_step","s","n","done","tagEl","value","err","e","f","getSelectedTextWithoutTags","_ref2","items","TagSlotContainer","styled","BaseBox","withConfig","displayName","componentId","display","BaseInputTagSlot","_ref3","renderAs","children","setShouldIgnoreBlurAnimation","handleOnInputClick","isDropdownTrigger","isDisabled","numberOfLines","isTextArea","size","hasTags","useEffect","_slotRef$current3","_slotRef$current3$scr","scrollTo","call","top","scrollHeight","left","scrollWidth","behavior","_slotRef$current4","_slotRef$current4$scr","_slotRef$current5","_slotRef$current5$scr","visibleTags","useMemo","slice","invisibleTagsCount","isMobile","useIsMobile","paddingYWithTags","_jsxs","ref","className","paddingY","paddingLeft","flex","flexWrap","overflowX","overflowY","minHeight","makeSize","baseInputHeight","maxHeight","undefined","onMouseDown","onClick","castWebType","onMouseUp","_jsx","Text","color","alignSelf","marginY","marginRight","variant","weight","as","whiteSpace","marginTop","minWidth","width"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInputTagSlot.web.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInputTagSlot.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { BaseInputTagSlotProps } from './types';\nimport { baseInputHeight } from './baseInputTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeSize } from '~utils';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { size as sizeToken } from '~tokens/global';\nimport { useTableEditableCell } from '~components/Table/TableEditableCellContext';\n\nconst MINUMUM_INPUT_SPACE = 60;\nconst PLUS_X_MORE_TEXT_WIDTH = 60;\nconst TAG_MAX_WIDTH: number = sizeToken['140'];\n\nconst useVisibleTagsCount = ({\n slotRef,\n tags,\n maxTagRows,\n visibleTagsCountRef,\n showAllTags,\n labelPrefix,\n}: {\n slotRef: React.RefObject<HTMLDivElement>;\n tags: BaseInputTagSlotProps['tags'];\n maxTagRows: BaseInputTagSlotProps['maxTagRows'];\n visibleTagsCountRef: BaseInputTagSlotProps['visibleTagsCountRef'];\n showAllTags: BaseInputTagSlotProps['showAllTags'];\n labelPrefix: BaseInputTagSlotProps['labelPrefix'];\n}): number => {\n const [visibleTagsCount, setVisibleTagsCount] = React.useState(0);\n const visibleTagsCountStateRef = React.useRef<number>(0);\n const { isInsideTableEditableCell } = useTableEditableCell();\n\n useIsomorphicLayoutEffect(() => {\n if (!tags || labelPrefix || isInsideTableEditableCell) {\n setVisibleTagsCount(0);\n return;\n }\n\n if (maxTagRows === 'multiple' || showAllTags) {\n visibleTagsCountRef.current = tags.length;\n setVisibleTagsCount(tags.length);\n return;\n }\n\n const inputTagsSlotWidth = slotRef.current?.clientWidth;\n visibleTagsCountStateRef.current = 0;\n let totalTagsWidth = 0;\n\n if (!inputTagsSlotWidth) {\n return;\n }\n\n const allTagsEl = slotRef.current?.querySelectorAll(\n `[data-blade-component=\"${MetaConstants.Tag}\"]`,\n );\n\n const totalAvailableSpaceForTags =\n inputTagsSlotWidth - (MINUMUM_INPUT_SPACE + PLUS_X_MORE_TEXT_WIDTH);\n\n if (allTagsEl.length !== tags.length) {\n // some weird edge cases in controlled select where tags are not rendered in children\n // we assume 140px (max-width of tag as width of all tags)\n const tagsCount = Math.floor((totalAvailableSpaceForTags / TAG_MAX_WIDTH) * tags.length);\n visibleTagsCountRef.current = tagsCount;\n setVisibleTagsCount(tagsCount);\n return;\n }\n\n for (const tagEl of allTagsEl) {\n totalTagsWidth += tagEl.clientWidth;\n if (totalTagsWidth >= totalAvailableSpaceForTags) {\n break;\n } else {\n visibleTagsCountStateRef.current++;\n }\n }\n\n visibleTagsCountRef.current = visibleTagsCountStateRef.current;\n setVisibleTagsCount(visibleTagsCountStateRef.current);\n }, [tags?.length, showAllTags]);\n\n return visibleTagsCount;\n};\n\nconst getSelectedTextWithoutTags = ({\n items,\n labelPrefix,\n}: {\n items: number;\n labelPrefix?: string;\n}): string => {\n if (labelPrefix) {\n return `${labelPrefix} (${items} Selected)`;\n }\n\n return `${items} Selected`;\n};\n\nconst TagSlotContainer = styled(BaseBox)(() => {\n return {\n // hides the scrollbar of tagslot\n '::-webkit-scrollbar': {\n display: 'none',\n },\n '-ms-overflow-style': 'none',\n 'scrollbar-width': 'none',\n };\n});\n\nconst SelectedCountText = ({\n children,\n isDisabled,\n}: {\n children: string;\n isDisabled?: boolean;\n}): React.ReactElement => {\n return (\n <Text\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n alignSelf=\"center\"\n marginY=\"spacing.2\"\n marginRight=\"spacing.4\"\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n >\n <BaseBox as=\"span\" whiteSpace=\"nowrap\">\n {children}\n </BaseBox>\n </Text>\n );\n};\n\nconst BaseInputTagSlot = ({\n renderAs,\n children,\n tags,\n maxTagRows,\n showAllTags,\n setShouldIgnoreBlurAnimation,\n handleOnInputClick,\n isDropdownTrigger,\n visibleTagsCountRef,\n labelPrefix,\n isDisabled,\n numberOfLines,\n isTextArea,\n size,\n}: BaseInputTagSlotProps): React.ReactElement => {\n const hasTags = tags && tags.length > 0;\n const slotRef = React.useRef<HTMLDivElement>(null);\n const { isInsideTableEditableCell } = useTableEditableCell();\n const visibleTagsCount = useVisibleTagsCount({\n slotRef,\n tags,\n maxTagRows,\n visibleTagsCountRef,\n showAllTags,\n labelPrefix,\n });\n\n React.useEffect(() => {\n slotRef.current?.scrollTo?.({\n top:\n maxTagRows === 'multiple' || maxTagRows === 'expandable' ? slotRef.current.scrollHeight : 0,\n left: maxTagRows === 'single' ? slotRef.current.scrollWidth : 0,\n behavior: 'smooth',\n });\n }, [tags?.length, maxTagRows]);\n\n React.useEffect(() => {\n if (!showAllTags) {\n slotRef.current?.scrollTo?.({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n } else if (maxTagRows === 'single') {\n // when its single line input and showAllTags is true, we scroll till item on focus\n slotRef.current?.scrollTo?.({\n top: 0,\n left: maxTagRows === 'single' ? slotRef.current.scrollWidth : 0,\n behavior: 'smooth',\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showAllTags]);\n\n const visibleTags = React.useMemo(() => {\n return showAllTags ? tags : tags?.slice(0, visibleTagsCount);\n }, [showAllTags, tags, visibleTagsCount]);\n\n const invisibleTagsCount = React.useMemo(() => {\n if (tags && visibleTags) {\n return tags.length - visibleTags.length;\n }\n\n return 0;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tags?.length, visibleTags?.length]);\n\n const isMobile = useIsMobile();\n\n if (!isDropdownTrigger) {\n // If its not dropdown trigger, we don't need to render tag containers\n return children;\n }\n\n // tag height changes in mobile and desktop so we keep different paddings to make it look as expected\n const paddingYWithTags = isMobile ? 'spacing.1' : 'spacing.2';\n\n return (\n <TagSlotContainer\n ref={slotRef}\n className=\"tags-slot\"\n paddingY={paddingYWithTags}\n paddingLeft=\"spacing.4\"\n display=\"flex\"\n flex=\"1\"\n flexWrap={maxTagRows === 'single' ? 'nowrap' : 'wrap'}\n overflowX=\"auto\"\n overflowY={showAllTags || maxTagRows === 'multiple' ? 'auto' : 'hidden'}\n minHeight={makeSize(baseInputHeight[size])}\n maxHeight={\n // In TextArea with tagged input, we explicitly define maxHeight based on maxHeight so that tags dont overflow out of textarea\n // And In table we strictly want the maxHeight to be defined to not mess up the table layout\n (isDropdownTrigger && isTextArea) || isInsideTableEditableCell\n ? makeSize(baseInputHeight[size] * (numberOfLines ?? 1))\n : undefined\n }\n onMouseDown={() => {\n setShouldIgnoreBlurAnimation?.(true);\n }}\n onClick={(e) => {\n handleOnInputClick(castWebType(e));\n }}\n onMouseUp={() => {\n setShouldIgnoreBlurAnimation?.(false);\n }}\n >\n {isInsideTableEditableCell && tags && tags.length > 0 ? (\n <SelectedCountText isDisabled={isDisabled}>\n {getSelectedTextWithoutTags({ items: tags.length, labelPrefix })}\n </SelectedCountText>\n ) : (\n <>\n {visibleTags}\n {tags && !showAllTags && invisibleTagsCount ? (\n <SelectedCountText isDisabled={isDisabled}>\n {visibleTags?.length === 0\n ? getSelectedTextWithoutTags({\n items: invisibleTagsCount,\n labelPrefix,\n })\n : `+${invisibleTagsCount} More`}\n </SelectedCountText>\n ) : null}\n </>\n )}\n <BaseBox\n marginTop=\"-4px\"\n minWidth={\n hasTags && renderAs === 'button'\n ? undefined\n : `min(20%, ${makeSize(MINUMUM_INPUT_SPACE)})`\n }\n width={hasTags && renderAs === 'button' ? makeSize(sizeToken['1']) : '100%'}\n >\n {children}\n </BaseBox>\n </TagSlotContainer>\n );\n};\n\nexport { BaseInputTagSlot };\n"],"names":["MINUMUM_INPUT_SPACE","PLUS_X_MORE_TEXT_WIDTH","TAG_MAX_WIDTH","sizeToken","useVisibleTagsCount","_ref","slotRef","tags","maxTagRows","visibleTagsCountRef","showAllTags","labelPrefix","_React$useState","React","useState","_React$useState2","_slicedToArray","visibleTagsCount","setVisibleTagsCount","visibleTagsCountStateRef","useRef","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","useIsomorphicLayoutEffect","_slotRef$current","_slotRef$current2","current","length","inputTagsSlotWidth","clientWidth","totalTagsWidth","allTagsEl","querySelectorAll","concat","MetaConstants","Tag","totalAvailableSpaceForTags","tagsCount","Math","floor","_iterator","_createForOfIteratorHelper","_step","s","n","done","tagEl","value","err","e","f","getSelectedTextWithoutTags","_ref2","items","TagSlotContainer","styled","BaseBox","withConfig","displayName","componentId","display","SelectedCountText","_ref3","children","isDisabled","_jsx","Text","color","alignSelf","marginY","marginRight","variant","size","weight","as","whiteSpace","BaseInputTagSlot","_ref4","renderAs","setShouldIgnoreBlurAnimation","handleOnInputClick","isDropdownTrigger","numberOfLines","isTextArea","hasTags","_useTableEditableCell2","useEffect","_slotRef$current3","_slotRef$current3$scr","scrollTo","call","top","scrollHeight","left","scrollWidth","behavior","_slotRef$current4","_slotRef$current4$scr","_slotRef$current5","_slotRef$current5$scr","visibleTags","useMemo","slice","invisibleTagsCount","isMobile","useIsMobile","paddingYWithTags","_jsxs","ref","className","paddingY","paddingLeft","flex","flexWrap","overflowX","overflowY","minHeight","makeSize","baseInputHeight","maxHeight","undefined","onMouseDown","onClick","castWebType","onMouseUp","_Fragment","marginTop","minWidth","width"],"mappings":"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"}
@@ -141,8 +141,8 @@ var ValidationIconTooltip = function ValidationIconTooltip(_ref7) {
141
141
  validationState = _ref7.validationState,
142
142
  errorText = _ref7.errorText,
143
143
  successText = _ref7.successText,
144
- isTableInputCell = _ref7.isTableInputCell;
145
- if (isTableInputCell && validationState === 'error' && errorText || validationState === 'success' && successText) {
144
+ showHintsAsTooltip = _ref7.showHintsAsTooltip;
145
+ if (showHintsAsTooltip && validationState === 'error' && errorText || validationState === 'success' && successText) {
146
146
  return /*#__PURE__*/jsx(Tooltip, {
147
147
  content: getTooltipContent({
148
148
  validationState: validationState,
@@ -170,7 +170,7 @@ var BaseInputVisuals = function BaseInputVisuals(_ref8) {
170
170
  _ref8$validationState = _ref8.validationState,
171
171
  validationState = _ref8$validationState === void 0 ? 'none' : _ref8$validationState,
172
172
  size = _ref8.size,
173
- isTableInputCell = _ref8.isTableInputCell,
173
+ showHintsAsTooltip = _ref8.showHintsAsTooltip,
174
174
  errorText = _ref8.errorText,
175
175
  successText = _ref8.successText,
176
176
  TrailingButton = _ref8.trailingButton;
@@ -272,7 +272,7 @@ var BaseInputVisuals = function BaseInputVisuals(_ref8) {
272
272
  hasTrailingButton: hasTrailingButton
273
273
  })), {}, {
274
274
  children: /*#__PURE__*/jsx(ValidationIconTooltip, {
275
- isTableInputCell: isTableInputCell,
275
+ showHintsAsTooltip: showHintsAsTooltip,
276
276
  errorText: errorText,
277
277
  successText: successText,
278
278
  validationState: validationState,
@@ -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 | 'isTableInputCell'\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 isTableInputCell,\n}: {\n children: ReactElement;\n validationState: BaseInputProps['validationState'];\n errorText: BaseInputProps['errorText'];\n successText: BaseInputProps['errorText'];\n isTableInputCell: BaseInputProps['isTableInputCell'];\n}) => {\n if (\n (isTableInputCell && 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 isTableInputCell,\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 isTableInputCell={isTableInputCell}\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","isTableInputCell","_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';\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":";;;;;;;;;;;;;;;;;;AAgCA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAA;EAAA,OAGxB;AACJC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,aAAa,EAAE,KAAK;AACpBC,IAAAA,UAAU,EAAE,QAAQ;AACpBC,IAAAA,SAAS,EAAE,QAAA;GACZ,CAAA;AAAA,CAAC,CAAA;AAEF,IAAMC,iBAAmF,GAAG;AAC1FC,EAAAA,IAAI,EAAE,0BAA0B;AAChCC,EAAAA,KAAK,EAAE,gCAAgC;AACvCC,EAAAA,OAAO,EAAE,gCAAA;AACX,CAAC,CAAA;AAED,IAAMC,QAAQ,GAAG;AACfC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACT,CAAU,CAAA;AAEV,IAAMC,QAAQ,GAAG;AACfF,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACT,CAAU,CAAA;AAEV,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAMoB;AAAA,EAAA,IALvCC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACdC,SAAS,GAAAF,IAAA,CAATE,SAAS,CAAA;EAKT,IAAIA,SAAS,IAAID,cAAc,EAAE;IAC/B,OAAO;AACLE,MAAAA,WAAW,EAAE,WAAA;KACd,CAAA;AACH,GAAA;AAEA,EAAA,IAAID,SAAS,IAAI,CAACD,cAAc,EAAE;IAChC,OAAO;AACLE,MAAAA,WAAW,EAAE,WAAA;KACd,CAAA;AACH,GAAA;EAEA,OAAO;AACLA,IAAAA,WAAW,EAAE,WAAA;GACd,CAAA;AACH,CAAC,CAAA;AAED,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,KAAA,EAYT;AAAA,EAAA,IAXtBC,eAAe,GAAAD,KAAA,CAAfC,eAAe;IACfC,4BAA4B,GAAAF,KAAA,CAA5BE,4BAA4B;IAC5BC,6BAA6B,GAAAH,KAAA,CAA7BG,6BAA6B;IAC7BC,SAAS,GAAAJ,KAAA,CAATI,SAAS;IACTC,iBAAiB,GAAAL,KAAA,CAAjBK,iBAAiB,CAAA;EAQjB,IAAIF,6BAA6B,KAAKC,SAAS,IAAIH,eAAe,IAAII,iBAAiB,CAAC,EAAE;AACxF,IAAA,OAAO,WAAW,CAAA;AACpB,GAAA;EAEA,IAAIF,6BAA6B,IAAI,CAACC,SAAS,IAAI,CAACH,eAAe,IAAI,CAACI,iBAAiB,EAAE;AACzF,IAAA,OAAO,WAAW,CAAA;AACpB,GAAA;AAEA,EAAA,IAAIH,4BAA4B,EAAE;AAChC,IAAA,OAAO,WAAW,CAAA;AACpB,GAAA;AAEA,EAAA,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAQqB;AAAA,EAAA,IAPxCN,eAAe,GAAAM,KAAA,CAAfN,eAAe;IACfG,SAAS,GAAAG,KAAA,CAATH,SAAS;IACTC,iBAAiB,GAAAE,KAAA,CAAjBF,iBAAiB,CAAA;AAMjB,EAAA,IAAID,SAAS,KAAKH,eAAe,IAAII,iBAAiB,CAAC,EAAE;IACvD,OAAO;AACLG,MAAAA,YAAY,EAAE,WAAA;KACf,CAAA;AACH,GAAA;AAEA,EAAA,IAAIJ,SAAS,IAAI,CAACH,eAAe,IAAI,CAACI,iBAAiB,EAAE;IACvD,OAAO;AACLG,MAAAA,YAAY,EAAE,WAAA;KACf,CAAA;AACH,GAAA;EAEA,OAAO;AACLA,IAAAA,YAAY,EAAE,WAAA;GACf,CAAA;AACH,CAAC,CAAA;AAED,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAMe;AAAA,EAAA,IALxCT,eAAe,GAAAS,KAAA,CAAfT,eAAe;IACfI,iBAAiB,GAAAK,KAAA,CAAjBL,iBAAiB,CAAA;EAKjB,IAAIJ,eAAe,IAAII,iBAAiB,EAAE;IACxC,OAAO;AACLG,MAAAA,YAAY,EAAE,WAAA;KACf,CAAA;AACH,GAAA;AAEA,EAAA,IAAIP,eAAe,IAAI,CAACI,iBAAiB,EAAE;IACzC,OAAO;AACLG,MAAAA,YAAY,EAAE,WAAA;KACf,CAAA;AACH,GAAA;EAEA,OAAO;AACLA,IAAAA,YAAY,EAAE,WAAA;GACf,CAAA;AACH,CAAC,CAAA;IAEYG,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAAC,KAAA,EAAA;AAAA,EAAA,IACtCC,WAAW,GAAAD,KAAA,CAAXC,WAAW;IACXC,MAAM,GAAAF,KAAA,CAANE,MAAM;IACNC,0BAA0B,GAAAH,KAAA,CAA1BG,0BAA0B;IAC1BC,yBAAyB,GAAAJ,KAAA,CAAzBI,yBAAyB;IACzBC,MAAM,GAAAL,KAAA,CAANK,MAAM;IACNC,YAAY,GAAAN,KAAA,CAAZM,YAAY;IACZC,cAAc,GAAAP,KAAA,CAAdO,cAAc,CAAA;EAAA,OACK;AACnBvB,IAAAA,cAAc,EAAEwB,OAAO,CAACP,WAAW,CAAC;AACpChB,IAAAA,SAAS,EAAEuB,OAAO,CAACN,MAAM,CAAC;AAC1BX,IAAAA,6BAA6B,EAAEiB,OAAO,CAACL,0BAA0B,CAAC;AAClEb,IAAAA,4BAA4B,EAAEkB,OAAO,CAACJ,yBAAyB,CAAC;AAChEZ,IAAAA,SAAS,EAAEgB,OAAO,CAACH,MAAM,CAAC;AAC1BhB,IAAAA,eAAe,EAAEmB,OAAO,CAACF,YAAY,CAAC;IACtCb,iBAAiB,EAAEe,OAAO,CAACD,cAAc,CAAA;GAC1C,CAAA;AAAA,EAAC;AAEF,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,KAAA,EAQT;AAAA,EAAA,IAPZC,eAAe,GAAAD,KAAA,CAAfC,eAAe;IACfC,SAAS,GAAAF,KAAA,CAATE,SAAS;IACTC,WAAW,GAAAH,KAAA,CAAXG,WAAW,CAAA;AAMX,EAAA,IAAIF,eAAe,KAAK,OAAO,IAAIC,SAAS,EAAE;AAC5C,IAAA,OAAOA,SAAS,CAAA;AAClB,GAAA;AAEA,EAAA,IAAID,eAAe,KAAK,SAAS,IAAIE,WAAW,EAAE;AAChD,IAAA,OAAOA,WAAW,CAAA;AACpB,GAAA;AAEA,EAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAYrB;AAAA,EAAA,IAXJC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRL,eAAe,GAAAI,KAAA,CAAfJ,eAAe;IACfC,SAAS,GAAAG,KAAA,CAATH,SAAS;IACTC,WAAW,GAAAE,KAAA,CAAXF,WAAW;IACXI,kBAAkB,GAAAF,KAAA,CAAlBE,kBAAkB,CAAA;AAQlB,EAAA,IACGA,kBAAkB,IAAIN,eAAe,KAAK,OAAO,IAAIC,SAAS,IAC9DD,eAAe,KAAK,SAAS,IAAIE,WAAY,EAC9C;IACA,oBACEK,GAAA,CAACC,OAAO,EAAA;MAACC,OAAO,EAAEX,iBAAiB,CAAC;AAAEE,QAAAA,eAAe,EAAfA,eAAe;AAAEC,QAAAA,SAAS,EAATA,SAAS;AAAEC,QAAAA,WAAW,EAAXA,WAAAA;AAAY,OAAC,CAAE;MAAAG,QAAA,eAC/EE,GAAA,CAACG,GAAG,EAAA;AAACnD,QAAAA,OAAO,EAAC,MAAM;AAACoD,QAAAA,cAAc,EAAC,QAAQ;AAAClD,QAAAA,UAAU,EAAC,QAAQ;AAAA4C,QAAAA,QAAA,EAC5DA,QAAAA;OACE,CAAA;AAAC,KACC,CAAC,CAAA;AAEd,GAAA;AAEA,EAAA,OAAOA,QAAQ,CAAA;AACjB,CAAC,CAAA;IAEYO,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,KAAA,EAcY;AAAA,EAAA,IAb1BC,WAAW,GAAAD,KAAA,CAAxBvB,WAAW;IACXC,MAAM,GAAAsB,KAAA,CAANtB,MAAM;IACNC,0BAA0B,GAAAqB,KAAA,CAA1BrB,0BAA0B;IAC1BC,yBAAyB,GAAAoB,KAAA,CAAzBpB,yBAAyB;IACzBC,MAAM,GAAAmB,KAAA,CAANnB,MAAM;IACQqB,YAAY,GAAAF,KAAA,CAA1BlB,YAAY;IACZqB,UAAU,GAAAH,KAAA,CAAVG,UAAU;IAAAC,qBAAA,GAAAJ,KAAA,CACVb,eAAe;AAAfA,IAAAA,eAAe,GAAAiB,qBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,qBAAA;IACxBC,IAAI,GAAAL,KAAA,CAAJK,IAAI;IACJZ,kBAAkB,GAAAO,KAAA,CAAlBP,kBAAkB;IAClBL,SAAS,GAAAY,KAAA,CAATZ,SAAS;IACTC,WAAW,GAAAW,KAAA,CAAXX,WAAW;IACKiB,cAAc,GAAAN,KAAA,CAA9BjB,cAAc,CAAA;EAEd,IAAAwB,qBAAA,GAQIhC,2BAA2B,CAAC;AAC9BE,MAAAA,WAAW,EAAEwB,WAAW;AACxBvB,MAAAA,MAAM,EAANA,MAAM;AACNE,MAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBD,MAAAA,0BAA0B,EAA1BA,0BAA0B;AAC1BE,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,YAAY,EAAEoB,YAAY;AAC1BnB,MAAAA,cAAc,EAAEuB,cAAc;AAC9BD,MAAAA,IAAI,EAAJA,IAAAA;AACF,KAAC,CAAC;IAhBA7C,cAAc,GAAA+C,qBAAA,CAAd/C,cAAc;IACdC,SAAS,GAAA8C,qBAAA,CAAT9C,SAAS;IACTO,SAAS,GAAAuC,qBAAA,CAATvC,SAAS;IACTD,6BAA6B,GAAAwC,qBAAA,CAA7BxC,6BAA6B;IAC7BD,4BAA4B,GAAAyC,qBAAA,CAA5BzC,4BAA4B;IAC5BD,eAAe,GAAA0C,qBAAA,CAAf1C,eAAe;IACfI,iBAAiB,GAAAsC,qBAAA,CAAjBtC,iBAAiB,CAAA;AAYnB,EAAA,IAAMuC,iBAAiB,GAAG1C,4BAA4B,IAAIN,cAAc,IAAIC,SAAS,CAAA;EACrF,IAAMgD,kBAAkB,GACtB1C,6BAA6B,IAAIC,SAAS,IAAIH,eAAe,IAAII,iBAAiB,CAAA;AAEpF,EAAA,IAAI,KAAO,EAAE;IACX,IAAIA,iBAAiB,IAAI,CAACyC,sBAAsB,CAACJ,cAAc,EAAE,MAAM,CAAC,EAAE;AACxEK,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAE,qDAAqD;AAC9DC,QAAAA,UAAU,EAAE,WAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AAEA,EAAA,IAAIL,iBAAiB,EAAE;IACrB,oBACEM,IAAA,CAACC,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAKvE,wBAAwB,EAAE,CAAA,EAAA,EAAA,EAAA;AAAA+C,MAAAA,QAAA,EACpC1B,CAAAA,4BAA4B,gBAC3B4B,GAAA,CAACqB,OAAO,EAAA;QACNrD,WAAW,EAAEC,2BAA2B,CAAC;AACvCE,UAAAA,eAAe,EAAfA,eAAe;AACfC,UAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BE,UAAAA,SAAS,EAATA,SAAS;AACTC,UAAAA,iBAAiB,EAAjBA,iBAAAA;AACF,SAAC,CAAE;AACHvB,QAAAA,OAAO,EAAC,MAAM;AACdE,QAAAA,UAAU,EAAC,SAAS;AACpBC,QAAAA,SAAS,EAAC,SAAS;AAAA2C,QAAAA,QAAA,EAElBZ,yBAAAA;OACM,CAAC,GACR,IAAI,EACPqB,WAAW,gBACVP,GAAA,CAACqB,OAAO,EAAA;AAACrD,QAAAA,WAAW,EAAC,WAAW;AAAChB,QAAAA,OAAO,EAAC,MAAM;QAAA8C,QAAA,eAC7CE,GAAA,CAACO,WAAW,EAAA;AACVI,UAAAA,IAAI,EAAEnD,QAAQ,CAACmD,IAAI,CAAE;AACrBY,UAAAA,KAAK,EAAEd,UAAU,GAAG,4BAA4B,GAAG,yBAAA;SACpD,CAAA;AAAC,OACK,CAAC,GACR,IAAI,EACP1C,SAAS,gBACRiC,GAAA,CAACqB,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAK1D,eAAe,CAAC;AAAEE,QAAAA,cAAc,EAAdA,cAAc;AAAEC,QAAAA,SAAS,EAATA,SAAAA;AAAU,OAAC,CAAC,CAAA,EAAA,EAAA,EAAA;QAAA+B,QAAA,eACzDE,GAAA,CAACwB,IAAI,EAAA;AACHb,UAAAA,IAAI,EAAEhD,QAAQ,CAACgD,IAAI,CAAE;AACrBc,UAAAA,OAAO,EAAC,MAAM;AACdC,UAAAA,MAAM,EAAC,SAAS;AAChBH,UAAAA,KAAK,EAAEd,UAAU,GAAG,4BAA4B,GAAG,0BAA2B;AAAAX,UAAAA,QAAA,EAE7Ed,MAAAA;SACG,CAAA;OACC,CAAA,CAAC,GACR,IAAI,CAAA;AAAA,KAAA,CACD,CAAC,CAAA;AAEd,GAAA;AAEA,EAAA,IAAI+B,kBAAkB,EAAE;AACtB,IAAA,oBACEK,IAAA,CAACC,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAACnE,MAAAA,SAAS,EAAC,SAAS;AAACD,MAAAA,UAAU,EAAC,SAAA;KAAcH,EAAAA,wBAAwB,EAAE,CAAA,EAAA,EAAA,EAAA;AAAA+C,MAAAA,QAAA,EAC7EzB,CAAAA,6BAA6B,gBAC5B2B,GAAA,CAACqB,OAAO,EAAA;QACN3C,YAAY,EAAET,2BAA2B,CAAC;AACxCE,UAAAA,eAAe,EAAfA,eAAe;AACfE,UAAAA,6BAA6B,EAA7BA,6BAA6B;AAC7BC,UAAAA,SAAS,EAATA,SAAS;AACTC,UAAAA,iBAAiB,EAAjBA,iBAAAA;AACF,SAAC,CAAE;AACHvB,QAAAA,OAAO,EAAC,MAAM;AACdE,QAAAA,UAAU,EAAC,SAAS;AACpBC,QAAAA,SAAS,EAAC,SAAS;AAAA2C,QAAAA,QAAA,EAElBb,0BAAAA;AAA0B,OACpB,CAAC,GACR,IAAI,EACPX,SAAS,gBACR0B,GAAA,CAACqB,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAK9C,eAAe,CAAC;AAAEL,QAAAA,eAAe,EAAfA,eAAe;AAAEG,QAAAA,SAAS,EAATA,SAAS;AAAEC,QAAAA,iBAAiB,EAAjBA,iBAAAA;AAAkB,OAAC,CAAC,CAAA,EAAA,EAAA,EAAA;QAAAuB,QAAA,eAC7EE,GAAA,CAACwB,IAAI,EAAA;AACHb,UAAAA,IAAI,EAAEhD,QAAQ,CAACgD,IAAI,CAAE;AACrBc,UAAAA,OAAO,EAAC,MAAM;AACdC,UAAAA,MAAM,EAAC,SAAS;AAChBH,UAAAA,KAAK,EAAEd,UAAU,GAAG,4BAA4B,GAAG,0BAA2B;AAAAX,UAAAA,QAAA,EAE7EX,MAAAA;SACG,CAAA;AAAC,OAAA,CACA,CAAC,GACR,IAAI,EACPqB,YAAY,gBACXR,GAAA,CAACqB,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACNtE,QAAAA,OAAO,EAAC,MAAM;AACdoD,QAAAA,cAAc,EAAC,QAAQ;AACvBlD,QAAAA,UAAU,EAAC,QAAA;AAAQ,OAAA,EACfyB,qBAAqB,CAAC;AAAER,QAAAA,eAAe,EAAfA,eAAe;AAAEI,QAAAA,iBAAiB,EAAjBA,iBAAAA;AAAkB,OAAC,CAAC,CAAA,EAAA,EAAA,EAAA;QAAAuB,QAAA,eAEjEE,GAAA,CAACJ,qBAAqB,EAAA;AACpBG,UAAAA,kBAAkB,EAAEA,kBAAmB;AACvCL,UAAAA,SAAS,EAAEA,SAAU;AACrBC,UAAAA,WAAW,EAAEA,WAAY;AACzBF,UAAAA,eAAe,EAAEA,eAAgB;UAAAK,QAAA,eAEjCE,GAAA,CAACQ,YAAY,EAAA;AACXG,YAAAA,IAAI,EAAEnD,QAAQ,CAACmD,IAAI,CAAE;AACrBY,YAAAA,KAAK,EACHd,UAAU,GAAG,gCAAgC,GAAGrD,iBAAiB,CAACqC,eAAe,CAAA;WAEpF,CAAA;SACoB,CAAA;OAChB,CAAA,CAAC,GACR,IAAI,EACPmB,cAAc,gBACbZ,GAAA,CAACqB,OAAO,EAAA;AAAC3C,QAAAA,YAAY,EAAC,WAAW;AAAC1B,QAAAA,OAAO,EAAC,MAAM;AAAA8C,QAAAA,QAAA,eAC7C6B,cAAK,CAACC,YAAY,CAAChB,cAAc,EAAE;AAClCD,UAAAA,IAAI,EAAJA,IAAI;AACJc,UAAAA,OAAO,EAAE,QAAQ;AACjBhB,UAAAA,UAAU,EAAVA,UAAAA;SACD,CAAA;OACM,CAAC,GACR,IAAI,CAAA;AAAA,KAAA,CACD,CAAC,CAAA;AAEd,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
@@ -130,6 +130,8 @@ var getBaseInputStyles = function getBaseInputStyles(_ref5) {
130
130
  hasTrailingIcon = _getInputVisualsToBeR.hasTrailingIcon;
131
131
  var isDropdownWithTags = isDropdownTrigger && hasTags;
132
132
  var isReactNative = getPlatformType() === 'react-native';
133
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
134
+ var shouldHaveFlexibleHeight = isTextArea || isDropdownWithTags;
133
135
  return _objectSpread(_objectSpread({}, valueComponentType === 'heading' ? getHeadingStyles({
134
136
  size: size,
135
137
  weight: 'regular',
@@ -163,8 +165,8 @@ var getBaseInputStyles = function getBaseInputStyles(_ref5) {
163
165
  }),
164
166
  textAlign: textAlign,
165
167
  width: '100%',
166
- height: isTextArea || isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),
167
- minHeight: isTextArea || isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size])
168
+ height: shouldHaveFlexibleHeight ? undefined : makeSpace(baseInputHeight[size]),
169
+ minHeight: shouldHaveFlexibleHeight ? undefined : makeSpace(baseInputHeight[size])
168
170
  }, isReactNative ? {} : {
169
171
  resize: 'none'
170
172
  });
@@ -1 +1 @@
1
- {"version":3,"file":"baseInputStyles.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getBaseInputBorderStyles } from './getBaseInputBorderStyles';\nimport {\n baseInputBackgroundColor,\n baseInputBorderColor,\n baseInputBorderWidth,\n baseInputBorderlessBackgroundColor,\n baseInputHeight,\n baseInputPaddingTokens,\n baseInputWrapperMaxHeight,\n} from './baseInputTokens';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport type { BaseInputWrapperProps } from './types';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport { getPlatformType } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport getHeadingStyles from '~components/Typography/Heading/getHeadingStyles';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'trailingInteractionElement'\n | 'leadingInteractionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n | 'isDropdownTrigger'\n | 'valueComponentType'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n isTextArea?: boolean;\n hasTags?: boolean;\n theme: Theme;\n size: NonNullable<BaseInputProps['size']>;\n isTableInputCell: NonNullable<BaseInputProps['isTableInputCell']>;\n};\n\nexport const getBaseInputState = ({\n isFocused,\n isHovered,\n isDisabled,\n}: {\n isFocused?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n}): 'focused' | 'hovered' | 'disabled' | 'default' => {\n if (isDisabled) {\n return 'disabled';\n } else if (isFocused) {\n return 'focused';\n } else if (isHovered) {\n return 'hovered';\n } else {\n return 'default';\n }\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n isTextArea,\n isDropdownTrigger,\n isTableInputCell,\n}: Pick<\n GetInputStyles,\n | 'theme'\n | 'isFocused'\n | 'isDisabled'\n | 'validationState'\n | 'isHovered'\n | 'isTextArea'\n | 'isDropdownTrigger'\n | 'isTableInputCell'\n>): CSSObject => {\n // normal state\n const backgroundColorTokens = isTableInputCell\n ? baseInputBorderlessBackgroundColor\n : baseInputBackgroundColor;\n let backgroundColor = getIn(theme.colors, backgroundColorTokens.default);\n let borderColor = isTableInputCell\n ? theme.colors.transparent\n : getIn(theme.colors, baseInputBorderColor.default);\n let borderWidth = getIn(theme.border.width, baseInputBorderWidth.default);\n\n const baseInputState = getBaseInputState({ isFocused, isHovered, isDisabled });\n\n backgroundColor = getIn(theme.colors, backgroundColorTokens[baseInputState]);\n borderColor =\n isTableInputCell && baseInputState !== 'focused'\n ? theme.colors.transparent\n : getIn(theme.colors, baseInputBorderColor[baseInputState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[baseInputState]);\n\n if (!isTableInputCell && validationState && validationState !== 'none') {\n borderColor = getIn(theme.colors, baseInputBorderColor[validationState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[validationState]);\n } else if (validationState && validationState !== 'none') {\n backgroundColor = getIn(theme.colors, baseInputBorderlessBackgroundColor[validationState]);\n }\n\n return {\n backgroundColor,\n borderRadius: makeBorderSize(\n isTableInputCell ? theme.border.radius.none : theme.border.radius.medium,\n ),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n alignItems: isTextArea ? 'flex-start' : undefined,\n position: 'relative',\n height: isDropdownTrigger && !isTextArea ? 'auto' : undefined,\n border: 'none',\n ...getBaseInputBorderStyles({ theme, borderColor, borderWidth, isFocused }),\n };\n};\n\nconst getLeftPadding = ({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n size,\n}: {\n theme: Theme;\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n isDropdownTrigger: GetInputStyles['isDropdownTrigger'];\n size: GetInputStyles['size'];\n}): number => {\n if (isDropdownTrigger) {\n return theme.spacing[0];\n }\n\n if (hasLeadingIcon || hasPrefix) {\n return theme.spacing[3];\n }\n\n return theme.spacing[baseInputPaddingTokens.left[size]];\n};\n\nconst getRightPadding = ({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n}: {\n theme: Theme;\n hasTrailingInteractionElement: boolean;\n hasSuffix: boolean;\n hasTrailingIcon: boolean;\n size: GetInputStyles['size'];\n}): number => {\n if (hasTrailingInteractionElement || hasSuffix || hasTrailingIcon) {\n return theme.spacing[3];\n }\n return theme.spacing[baseInputPaddingTokens.right[size]];\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n textAlign,\n isTextArea,\n hasTags,\n isDropdownTrigger,\n size,\n valueComponentType,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n size,\n });\n\n const isDropdownWithTags = isDropdownTrigger && hasTags;\n const isReactNative = getPlatformType() === 'react-native';\n\n return {\n ...(valueComponentType === 'heading'\n ? getHeadingStyles({\n size,\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })\n : getTextStyles({\n size,\n variant: 'body',\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })),\n\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: theme.colors.transparent,\n\n paddingTop: makeSpace(theme.spacing[baseInputPaddingTokens.top[size]]),\n paddingBottom: makeSpace(theme.spacing[baseInputPaddingTokens.bottom[size]]),\n paddingLeft: makeSpace(\n getLeftPadding({ theme, isDropdownTrigger, hasLeadingIcon, hasPrefix, size }),\n ),\n paddingRight: getRightPadding({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n }),\n\n textAlign,\n width: '100%',\n height: isTextArea || isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),\n minHeight: isTextArea || isDropdownWithTags ? undefined : makeSpace(baseInputHeight[size]),\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n\nexport const getAnimatedBaseInputWrapperMaxHeight = ({\n maxTagRows,\n showAllTags,\n size,\n}: Pick<BaseInputWrapperProps, 'maxTagRows' | 'showAllTags' | 'size'>): number => {\n if (maxTagRows === 'single') {\n return baseInputHeight[size];\n }\n\n if (maxTagRows === 'multiple') {\n return baseInputWrapperMaxHeight[size];\n }\n\n // In expandable, max-height depends on the state\n return showAllTags ? baseInputWrapperMaxHeight[size] : baseInputHeight[size];\n};\n"],"names":["getBaseInputState","_ref","isFocused","isHovered","isDisabled","getInputBackgroundAndBorderStyles","_ref2","theme","validationState","isTextArea","isDropdownTrigger","isTableInputCell","backgroundColorTokens","baseInputBorderlessBackgroundColor","baseInputBackgroundColor","backgroundColor","getIn","colors","borderColor","transparent","baseInputBorderColor","borderWidth","border","width","baseInputBorderWidth","baseInputState","_objectSpread","borderRadius","makeBorderSize","radius","none","medium","borderStyle","display","flexDirection","alignItems","undefined","position","height","getBaseInputBorderStyles","getLeftPadding","_ref3","hasLeadingIcon","hasPrefix","size","spacing","baseInputPaddingTokens","left","getRightPadding","_ref4","hasTrailingInteractionElement","hasSuffix","hasTrailingIcon","right","getBaseInputStyles","_ref5","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","textAlign","hasTags","valueComponentType","_getInputVisualsToBeR","getInputVisualsToBeRendered","isDropdownWithTags","isReactNative","getPlatformType","getHeadingStyles","weight","color","getTextStyles","variant","flex","paddingTop","makeSpace","top","paddingBottom","bottom","paddingLeft","paddingRight","baseInputHeight","minHeight","resize","getAnimatedBaseInputWrapperMaxHeight","_ref6","maxTagRows","showAllTags","baseInputWrapperMaxHeight"],"mappings":"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"}
1
+ {"version":3,"file":"baseInputStyles.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getBaseInputBorderStyles } from './getBaseInputBorderStyles';\nimport {\n baseInputBackgroundColor,\n baseInputBorderColor,\n baseInputBorderWidth,\n baseInputBorderlessBackgroundColor,\n baseInputHeight,\n baseInputPaddingTokens,\n baseInputWrapperMaxHeight,\n} from './baseInputTokens';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport type { BaseInputWrapperProps } from './types';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport { getPlatformType } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport getHeadingStyles from '~components/Typography/Heading/getHeadingStyles';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'trailingInteractionElement'\n | 'leadingInteractionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n | 'isDropdownTrigger'\n | 'valueComponentType'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n isTextArea?: boolean;\n hasTags?: boolean;\n theme: Theme;\n size: NonNullable<BaseInputProps['size']>;\n isTableInputCell: NonNullable<BaseInputProps['isTableInputCell']>;\n};\n\nexport const getBaseInputState = ({\n isFocused,\n isHovered,\n isDisabled,\n}: {\n isFocused?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n}): 'focused' | 'hovered' | 'disabled' | 'default' => {\n if (isDisabled) {\n return 'disabled';\n } else if (isFocused) {\n return 'focused';\n } else if (isHovered) {\n return 'hovered';\n } else {\n return 'default';\n }\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n isTextArea,\n isDropdownTrigger,\n isTableInputCell,\n}: Pick<\n GetInputStyles,\n | 'theme'\n | 'isFocused'\n | 'isDisabled'\n | 'validationState'\n | 'isHovered'\n | 'isTextArea'\n | 'isDropdownTrigger'\n | 'isTableInputCell'\n>): CSSObject => {\n // normal state\n const backgroundColorTokens = isTableInputCell\n ? baseInputBorderlessBackgroundColor\n : baseInputBackgroundColor;\n let backgroundColor = getIn(theme.colors, backgroundColorTokens.default);\n let borderColor = isTableInputCell\n ? theme.colors.transparent\n : getIn(theme.colors, baseInputBorderColor.default);\n let borderWidth = getIn(theme.border.width, baseInputBorderWidth.default);\n\n const baseInputState = getBaseInputState({ isFocused, isHovered, isDisabled });\n\n backgroundColor = getIn(theme.colors, backgroundColorTokens[baseInputState]);\n borderColor =\n isTableInputCell && baseInputState !== 'focused'\n ? theme.colors.transparent\n : getIn(theme.colors, baseInputBorderColor[baseInputState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[baseInputState]);\n\n if (!isTableInputCell && validationState && validationState !== 'none') {\n borderColor = getIn(theme.colors, baseInputBorderColor[validationState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[validationState]);\n } else if (validationState && validationState !== 'none') {\n backgroundColor = getIn(theme.colors, baseInputBorderlessBackgroundColor[validationState]);\n }\n\n return {\n backgroundColor,\n borderRadius: makeBorderSize(\n isTableInputCell ? theme.border.radius.none : theme.border.radius.medium,\n ),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n alignItems: isTextArea ? 'flex-start' : undefined,\n position: 'relative',\n height: isDropdownTrigger && !isTextArea ? 'auto' : undefined,\n border: 'none',\n ...getBaseInputBorderStyles({ theme, borderColor, borderWidth, isFocused }),\n };\n};\n\nconst getLeftPadding = ({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n size,\n}: {\n theme: Theme;\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n isDropdownTrigger: GetInputStyles['isDropdownTrigger'];\n size: GetInputStyles['size'];\n}): number => {\n if (isDropdownTrigger) {\n return theme.spacing[0];\n }\n\n if (hasLeadingIcon || hasPrefix) {\n return theme.spacing[3];\n }\n\n return theme.spacing[baseInputPaddingTokens.left[size]];\n};\n\nconst getRightPadding = ({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n}: {\n theme: Theme;\n hasTrailingInteractionElement: boolean;\n hasSuffix: boolean;\n hasTrailingIcon: boolean;\n size: GetInputStyles['size'];\n}): number => {\n if (hasTrailingInteractionElement || hasSuffix || hasTrailingIcon) {\n return theme.spacing[3];\n }\n return theme.spacing[baseInputPaddingTokens.right[size]];\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n textAlign,\n isTextArea,\n hasTags,\n isDropdownTrigger,\n size,\n valueComponentType,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n size,\n });\n\n const isDropdownWithTags = isDropdownTrigger && hasTags;\n const isReactNative = getPlatformType() === 'react-native';\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const shouldHaveFlexibleHeight = isTextArea || isDropdownWithTags;\n\n return {\n ...(valueComponentType === 'heading'\n ? getHeadingStyles({\n size,\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })\n : getTextStyles({\n size,\n variant: 'body',\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })),\n\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: theme.colors.transparent,\n\n paddingTop: makeSpace(theme.spacing[baseInputPaddingTokens.top[size]]),\n paddingBottom: makeSpace(theme.spacing[baseInputPaddingTokens.bottom[size]]),\n paddingLeft: makeSpace(\n getLeftPadding({ theme, isDropdownTrigger, hasLeadingIcon, hasPrefix, size }),\n ),\n paddingRight: getRightPadding({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n }),\n\n textAlign,\n width: '100%',\n height: shouldHaveFlexibleHeight ? undefined : makeSpace(baseInputHeight[size]),\n minHeight: shouldHaveFlexibleHeight ? undefined : makeSpace(baseInputHeight[size]),\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n\nexport const getAnimatedBaseInputWrapperMaxHeight = ({\n maxTagRows,\n showAllTags,\n size,\n}: Pick<BaseInputWrapperProps, 'maxTagRows' | 'showAllTags' | 'size'>): number => {\n if (maxTagRows === 'single') {\n return baseInputHeight[size];\n }\n\n if (maxTagRows === 'multiple') {\n return baseInputWrapperMaxHeight[size];\n }\n\n // In expandable, max-height depends on the state\n return showAllTags ? baseInputWrapperMaxHeight[size] : baseInputHeight[size];\n};\n"],"names":["getBaseInputState","_ref","isFocused","isHovered","isDisabled","getInputBackgroundAndBorderStyles","_ref2","theme","validationState","isTextArea","isDropdownTrigger","isTableInputCell","backgroundColorTokens","baseInputBorderlessBackgroundColor","baseInputBackgroundColor","backgroundColor","getIn","colors","borderColor","transparent","baseInputBorderColor","borderWidth","border","width","baseInputBorderWidth","baseInputState","_objectSpread","borderRadius","makeBorderSize","radius","none","medium","borderStyle","display","flexDirection","alignItems","undefined","position","height","getBaseInputBorderStyles","getLeftPadding","_ref3","hasLeadingIcon","hasPrefix","size","spacing","baseInputPaddingTokens","left","getRightPadding","_ref4","hasTrailingInteractionElement","hasSuffix","hasTrailingIcon","right","getBaseInputStyles","_ref5","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","textAlign","hasTags","valueComponentType","_getInputVisualsToBeR","getInputVisualsToBeRendered","isDropdownWithTags","isReactNative","getPlatformType","shouldHaveFlexibleHeight","getHeadingStyles","weight","color","getTextStyles","variant","flex","paddingTop","makeSpace","top","paddingBottom","bottom","paddingLeft","paddingRight","baseInputHeight","minHeight","resize","getAnimatedBaseInputWrapperMaxHeight","_ref6","maxTagRows","showAllTags","baseInputWrapperMaxHeight"],"mappings":";;;;;;;;;;;;;;;;IA6CaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAQwB;AAAA,EAAA,IAPpDC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,UAAU,GAAAH,IAAA,CAAVG,UAAU,CAAA;AAMV,EAAA,IAAIA,UAAU,EAAE;AACd,IAAA,OAAO,UAAU,CAAA;GAClB,MAAM,IAAIF,SAAS,EAAE;AACpB,IAAA,OAAO,SAAS,CAAA;GACjB,MAAM,IAAIC,SAAS,EAAE;AACpB,IAAA,OAAO,SAAS,CAAA;AAClB,GAAC,MAAM;AACL,IAAA,OAAO,SAAS,CAAA;AAClB,GAAA;AACF,EAAC;IAEYE,iCAAiC,GAAG,SAApCA,iCAAiCA,CAAAC,KAAA,EAmB7B;AAAA,EAAA,IAlBfC,KAAK,GAAAD,KAAA,CAALC,KAAK;IACLJ,SAAS,GAAAG,KAAA,CAATH,SAAS;IACTD,SAAS,GAAAI,KAAA,CAATJ,SAAS;IACTE,UAAU,GAAAE,KAAA,CAAVF,UAAU;IACVI,eAAe,GAAAF,KAAA,CAAfE,eAAe;IACfC,UAAU,GAAAH,KAAA,CAAVG,UAAU;IACVC,iBAAiB,GAAAJ,KAAA,CAAjBI,iBAAiB;IACjBC,gBAAgB,GAAAL,KAAA,CAAhBK,gBAAgB,CAAA;AAYhB;AACA,EAAA,IAAMC,qBAAqB,GAAGD,gBAAgB,GAC1CE,kCAAkC,GAClCC,wBAAwB,CAAA;EAC5B,IAAIC,eAAe,GAAGC,KAAK,CAACT,KAAK,CAACU,MAAM,EAAEL,qBAAqB,CAAA,SAAA,CAAQ,CAAC,CAAA;AACxE,EAAA,IAAIM,WAAW,GAAGP,gBAAgB,GAC9BJ,KAAK,CAACU,MAAM,CAACE,WAAW,GACxBH,KAAK,CAACT,KAAK,CAACU,MAAM,EAAEG,oBAAoB,WAAQ,CAAC,CAAA;AACrD,EAAA,IAAIC,WAAW,GAAGL,KAAK,CAACT,KAAK,CAACe,MAAM,CAACC,KAAK,EAAEC,oBAAoB,CAAA,SAAA,CAAQ,CAAC,CAAA;EAEzE,IAAMC,cAAc,GAAGzB,iBAAiB,CAAC;AAAEE,IAAAA,SAAS,EAATA,SAAS;AAAEC,IAAAA,SAAS,EAATA,SAAS;AAAEC,IAAAA,UAAU,EAAVA,UAAAA;AAAW,GAAC,CAAC,CAAA;EAE9EW,eAAe,GAAGC,KAAK,CAACT,KAAK,CAACU,MAAM,EAAEL,qBAAqB,CAACa,cAAc,CAAC,CAAC,CAAA;EAC5EP,WAAW,GACTP,gBAAgB,IAAIc,cAAc,KAAK,SAAS,GAC5ClB,KAAK,CAACU,MAAM,CAACE,WAAW,GACxBH,KAAK,CAACT,KAAK,CAACU,MAAM,EAAEG,oBAAoB,CAACK,cAAc,CAAC,CAAC,CAAA;AAC/DJ,EAAAA,WAAW,GAAGL,KAAK,CAACT,KAAK,CAACe,MAAM,CAACC,KAAK,EAAEC,oBAAoB,CAACC,cAAc,CAAC,CAAC,CAAA;EAE7E,IAAI,CAACd,gBAAgB,IAAIH,eAAe,IAAIA,eAAe,KAAK,MAAM,EAAE;IACtEU,WAAW,GAAGF,KAAK,CAACT,KAAK,CAACU,MAAM,EAAEG,oBAAoB,CAACZ,eAAe,CAAC,CAAC,CAAA;AACxEa,IAAAA,WAAW,GAAGL,KAAK,CAACT,KAAK,CAACe,MAAM,CAACC,KAAK,EAAEC,oBAAoB,CAAChB,eAAe,CAAC,CAAC,CAAA;AAChF,GAAC,MAAM,IAAIA,eAAe,IAAIA,eAAe,KAAK,MAAM,EAAE;IACxDO,eAAe,GAAGC,KAAK,CAACT,KAAK,CAACU,MAAM,EAAEJ,kCAAkC,CAACL,eAAe,CAAC,CAAC,CAAA;AAC5F,GAAA;AAEA,EAAA,OAAAkB,aAAA,CAAA;AACEX,IAAAA,eAAe,EAAfA,eAAe;IACfY,YAAY,EAAEC,cAAc,CAC1BjB,gBAAgB,GAAGJ,KAAK,CAACe,MAAM,CAACO,MAAM,CAACC,IAAI,GAAGvB,KAAK,CAACe,MAAM,CAACO,MAAM,CAACE,MACpE,CAAC;AACDC,IAAAA,WAAW,EAAE,OAAO;AACpBC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,aAAa,EAAE,KAAK;AACpBX,IAAAA,KAAK,EAAE,MAAM;AACbY,IAAAA,UAAU,EAAE1B,UAAU,GAAG,YAAY,GAAG2B,SAAS;AACjDC,IAAAA,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE5B,iBAAiB,IAAI,CAACD,UAAU,GAAG,MAAM,GAAG2B,SAAS;AAC7Dd,IAAAA,MAAM,EAAE,MAAA;AAAM,GAAA,EACXiB,wBAAwB,CAAC;AAAEhC,IAAAA,KAAK,EAALA,KAAK;AAAEW,IAAAA,WAAW,EAAXA,WAAW;AAAEG,IAAAA,WAAW,EAAXA,WAAW;AAAEnB,IAAAA,SAAS,EAATA,SAAAA;AAAU,GAAC,CAAC,CAAA,CAAA;AAE/E,EAAC;AAED,IAAMsC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA,EAYN;AAAA,EAAA,IAXZlC,KAAK,GAAAkC,KAAA,CAALlC,KAAK;IACLG,iBAAiB,GAAA+B,KAAA,CAAjB/B,iBAAiB;IACjBgC,cAAc,GAAAD,KAAA,CAAdC,cAAc;IACdC,SAAS,GAAAF,KAAA,CAATE,SAAS;IACTC,IAAI,GAAAH,KAAA,CAAJG,IAAI,CAAA;AAQJ,EAAA,IAAIlC,iBAAiB,EAAE;AACrB,IAAA,OAAOH,KAAK,CAACsC,OAAO,CAAC,CAAC,CAAC,CAAA;AACzB,GAAA;EAEA,IAAIH,cAAc,IAAIC,SAAS,EAAE;AAC/B,IAAA,OAAOpC,KAAK,CAACsC,OAAO,CAAC,CAAC,CAAC,CAAA;AACzB,GAAA;EAEA,OAAOtC,KAAK,CAACsC,OAAO,CAACC,sBAAsB,CAACC,IAAI,CAACH,IAAI,CAAC,CAAC,CAAA;AACzD,CAAC,CAAA;AAED,IAAMI,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAYP;AAAA,EAAA,IAXZ1C,KAAK,GAAA0C,KAAA,CAAL1C,KAAK;IACL2C,6BAA6B,GAAAD,KAAA,CAA7BC,6BAA6B;IAC7BC,SAAS,GAAAF,KAAA,CAATE,SAAS;IACTC,eAAe,GAAAH,KAAA,CAAfG,eAAe;IACfR,IAAI,GAAAK,KAAA,CAAJL,IAAI,CAAA;AAQJ,EAAA,IAAIM,6BAA6B,IAAIC,SAAS,IAAIC,eAAe,EAAE;AACjE,IAAA,OAAO7C,KAAK,CAACsC,OAAO,CAAC,CAAC,CAAC,CAAA;AACzB,GAAA;EACA,OAAOtC,KAAK,CAACsC,OAAO,CAACC,sBAAsB,CAACO,KAAK,CAACT,IAAI,CAAC,CAAC,CAAA;AAC1D,CAAC,CAAA;IAEYU,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAeE;AAAA,EAAA,IAd/BhD,KAAK,GAAAgD,KAAA,CAALhD,KAAK;IACLH,UAAU,GAAAmD,KAAA,CAAVnD,UAAU;IACVoD,WAAW,GAAAD,KAAA,CAAXC,WAAW;IACXC,MAAM,GAAAF,KAAA,CAANE,MAAM;IACNC,0BAA0B,GAAAH,KAAA,CAA1BG,0BAA0B;IAC1BC,yBAAyB,GAAAJ,KAAA,CAAzBI,yBAAyB;IACzBC,MAAM,GAAAL,KAAA,CAANK,MAAM;IACNC,YAAY,GAAAN,KAAA,CAAZM,YAAY;IACZC,SAAS,GAAAP,KAAA,CAATO,SAAS;IACTrD,UAAU,GAAA8C,KAAA,CAAV9C,UAAU;IACVsD,OAAO,GAAAR,KAAA,CAAPQ,OAAO;IACPrD,iBAAiB,GAAA6C,KAAA,CAAjB7C,iBAAiB;IACjBkC,IAAI,GAAAW,KAAA,CAAJX,IAAI;IACJoB,kBAAkB,GAAAT,KAAA,CAAlBS,kBAAkB,CAAA;EAElB,IAAAC,qBAAA,GAMIC,2BAA2B,CAAC;AAC9BV,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,0BAA0B,EAA1BA,0BAA0B;AAC1BC,MAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBC,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,YAAY,EAAZA,YAAY;AACZjB,MAAAA,IAAI,EAAJA,IAAAA;AACF,KAAC,CAAC;IAbAF,cAAc,GAAAuB,qBAAA,CAAdvB,cAAc;IACdC,SAAS,GAAAsB,qBAAA,CAATtB,SAAS;IACTO,6BAA6B,GAAAe,qBAAA,CAA7Bf,6BAA6B;IAC7BC,SAAS,GAAAc,qBAAA,CAATd,SAAS;IACTC,eAAe,GAAAa,qBAAA,CAAfb,eAAe,CAAA;AAWjB,EAAA,IAAMe,kBAAkB,GAAGzD,iBAAiB,IAAIqD,OAAO,CAAA;AACvD,EAAA,IAAMK,aAAa,GAAGC,eAAe,EAAE,KAAK,cAAc,CAAA;AAC1D;AACA,EAAA,IAAMC,wBAAwB,GAAG7D,UAAU,IAAI0D,kBAAkB,CAAA;EAEjE,OAAAzC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACMsC,kBAAkB,KAAK,SAAS,GAChCO,gBAAgB,CAAC;AACf3B,IAAAA,IAAI,EAAJA,IAAI;AACJ4B,IAAAA,MAAM,EAAE,SAAS;AACjBC,IAAAA,KAAK,EAAErE,UAAU,GAAG,4BAA4B,GAAG,0BAA0B;AAC7EG,IAAAA,KAAK,EAALA,KAAAA;GACD,CAAC,GACFmE,aAAa,CAAC;AACZ9B,IAAAA,IAAI,EAAJA,IAAI;AACJ+B,IAAAA,OAAO,EAAE,MAAM;AACfH,IAAAA,MAAM,EAAE,SAAS;AACjBC,IAAAA,KAAK,EAAErE,UAAU,GAAG,4BAA4B,GAAG,0BAA0B;AAC7EG,IAAAA,KAAK,EAALA,KAAAA;AACF,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAEN;AACAqE,IAAAA,IAAI,EAAE,CAAC;AACP7D,IAAAA,eAAe,EAAER,KAAK,CAACU,MAAM,CAACE,WAAW;AAEzC0D,IAAAA,UAAU,EAAEC,SAAS,CAACvE,KAAK,CAACsC,OAAO,CAACC,sBAAsB,CAACiC,GAAG,CAACnC,IAAI,CAAC,CAAC,CAAC;AACtEoC,IAAAA,aAAa,EAAEF,SAAS,CAACvE,KAAK,CAACsC,OAAO,CAACC,sBAAsB,CAACmC,MAAM,CAACrC,IAAI,CAAC,CAAC,CAAC;AAC5EsC,IAAAA,WAAW,EAAEJ,SAAS,CACpBtC,cAAc,CAAC;AAAEjC,MAAAA,KAAK,EAALA,KAAK;AAAEG,MAAAA,iBAAiB,EAAjBA,iBAAiB;AAAEgC,MAAAA,cAAc,EAAdA,cAAc;AAAEC,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,IAAI,EAAJA,IAAAA;AAAK,KAAC,CAC9E,CAAC;IACDuC,YAAY,EAAEnC,eAAe,CAAC;AAC5BzC,MAAAA,KAAK,EAALA,KAAK;AACL2C,MAAAA,6BAA6B,EAA7BA,6BAA6B;AAC7BC,MAAAA,SAAS,EAATA,SAAS;AACTC,MAAAA,eAAe,EAAfA,eAAe;AACfR,MAAAA,IAAI,EAAJA,IAAAA;AACF,KAAC,CAAC;AAEFkB,IAAAA,SAAS,EAATA,SAAS;AACTvC,IAAAA,KAAK,EAAE,MAAM;IACbe,MAAM,EAAEgC,wBAAwB,GAAGlC,SAAS,GAAG0C,SAAS,CAACM,eAAe,CAACxC,IAAI,CAAC,CAAC;IAC/EyC,SAAS,EAAEf,wBAAwB,GAAGlC,SAAS,GAAG0C,SAAS,CAACM,eAAe,CAACxC,IAAI,CAAC,CAAA;AAAC,GAAA,EAC9EwB,aAAa,GAAG,EAAE,GAAG;AAAEkB,IAAAA,MAAM,EAAE,MAAA;GAAQ,CAAA,CAAA;AAE/C,EAAC;IAEYC,oCAAoC,GAAG,SAAvCA,oCAAoCA,CAAAC,KAAA,EAIiC;AAAA,EAAA,IAHhFC,UAAU,GAAAD,KAAA,CAAVC,UAAU;IACVC,WAAW,GAAAF,KAAA,CAAXE,WAAW;IACX9C,IAAI,GAAA4C,KAAA,CAAJ5C,IAAI,CAAA;EAEJ,IAAI6C,UAAU,KAAK,QAAQ,EAAE;IAC3B,OAAOL,eAAe,CAACxC,IAAI,CAAC,CAAA;AAC9B,GAAA;EAEA,IAAI6C,UAAU,KAAK,UAAU,EAAE;IAC7B,OAAOE,yBAAyB,CAAC/C,IAAI,CAAC,CAAA;AACxC,GAAA;;AAEA;EACA,OAAO8C,WAAW,GAAGC,yBAAyB,CAAC/C,IAAI,CAAC,GAAGwC,eAAe,CAACxC,IAAI,CAAC,CAAA;AAC9E;;;;"}
@@ -1,3 +1,4 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
1
2
  import React__default from 'react';
2
3
  import '../BaseInput/index.js';
3
4
  import { InputChevronIcon } from './InputChevronIcon.web.js';
@@ -8,11 +9,16 @@ import { getActionListContainerRole } from '../../ActionList/getA11yRoles.js';
8
9
  import '../../../utils/metaAttribute/index.js';
9
10
  import { getTagsGroup } from '../../Tag/getTagsGroup.js';
10
11
  import { useFirstRender } from '../../../utils/useFirstRender.js';
12
+ import { useTableContext } from '../../Table/TableContext.js';
13
+ import { rowDensityToIsTableInputCellMapping, tableEditableCellRowDensityToInputSizeMap, validationStateToInputTrailingIconMap } from '../../Table/tokens.js';
14
+ import { useTableEditableCell } from '../../Table/TableEditableCellContext.js';
11
15
  import { jsx } from 'react/jsx-runtime';
12
16
  import { isReactNative } from '../../../utils/platform/isReactNative.js';
13
17
  import { BaseInput } from '../BaseInput/BaseInput.js';
14
18
  import { MetaConstants } from '../../../utils/metaAttribute/metaConstants.js';
15
19
 
20
+ 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; }
21
+ 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; }
16
22
  var useControlledDropdownInput = function useControlledDropdownInput(props) {
17
23
  var isFirstRender = useFirstRender();
18
24
  var _useDropdown = useDropdown(),
@@ -107,7 +113,7 @@ var useControlledDropdownInput = function useControlledDropdownInput(props) {
107
113
  }, [changeCallbackTriggerer]);
108
114
  };
109
115
  var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
110
- var _props$placeholder, _props$maxRows, _props$label;
116
+ var _props$placeholder, _props$validationStat, _props$maxRows, _props$label;
111
117
  var _useDropdown2 = useDropdown(),
112
118
  isOpen = _useDropdown2.isOpen,
113
119
  activeTagIndex = _useDropdown2.activeTagIndex,
@@ -131,6 +137,10 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
131
137
  removeOption = _useDropdown2.removeOption,
132
138
  setChangeCallbackTriggerer = _useDropdown2.setChangeCallbackTriggerer,
133
139
  changeCallbackTriggerer = _useDropdown2.changeCallbackTriggerer;
140
+ var _useTableContext = useTableContext(),
141
+ rowDensity = _useTableContext.rowDensity;
142
+ var _useTableEditableCell = useTableEditableCell(),
143
+ isInsideTableEditableCell = _useTableEditableCell.isInsideTableEditableCell;
134
144
  var dropdownTriggerPlaceholder = (_props$placeholder = props.placeholder) !== null && _props$placeholder !== void 0 ? _props$placeholder : 'Select Option';
135
145
  var isAutoCompleteInHeader = !props.isSelectInput && hasAutoCompleteInBottomSheetHeader;
136
146
  var getShowAllTags = React__default.useCallback(function () {
@@ -201,7 +211,15 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
201
211
  },
202
212
  // eslint-disable-next-line react-hooks/exhaustive-deps
203
213
  [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options]);
204
- return /*#__PURE__*/jsx(BaseInput, {
214
+ var tableInputProps = {
215
+ isTableInputCell: rowDensityToIsTableInputCellMapping[rowDensity],
216
+ id: 'table-editable-cell-input',
217
+ size: tableEditableCellRowDensityToInputSizeMap[rowDensity],
218
+ trailingIcon: validationStateToInputTrailingIconMap[(_props$validationStat = props.validationState) !== null && _props$validationStat !== void 0 ? _props$validationStat : 'none'],
219
+ showHintsAsTooltip: true
220
+ };
221
+ var isValidationStateNone = props.validationState === 'none' || props.validationState === undefined;
222
+ return /*#__PURE__*/jsx(BaseInput, _objectSpread({
205
223
  as: props.isSelectInput ? 'button' : 'input',
206
224
  ref: !isReactNative() ?
207
225
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -285,7 +303,7 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
285
303
  onChange: props.isSelectInput ? undefined : props.onInputValueChange,
286
304
  onKeyDown: props.onTriggerKeydown,
287
305
  size: props.size,
288
- trailingInteractionElement: isAutoCompleteInHeader ? null : /*#__PURE__*/jsx(InputChevronIcon, {
306
+ trailingInteractionElement: isAutoCompleteInHeader || isInsideTableEditableCell && !isValidationStateNone ? null : /*#__PURE__*/jsx(InputChevronIcon, {
289
307
  onClick: function onClick() {
290
308
  if (!props.isDisabled) {
291
309
  // Icon onClicks to the SelectInput itself
@@ -299,7 +317,7 @@ var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
299
317
  isDisabled: props.isDisabled,
300
318
  isOpen: isOpen
301
319
  })
302
- });
320
+ }, isInsideTableEditableCell ? tableInputProps : undefined));
303
321
  };
304
322
  var BaseDropdownInputTrigger = /*#__PURE__*/React__default.forwardRef(_BaseDropdownInputTrigger);
305
323