pixel-react 1.21.66 → 1.21.68

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 (109) hide show
  1. package/lib/StyleGuide/ColorPalette/colorPaletteList.js +5 -4
  2. package/lib/StyleGuide/ColorPalette/colorPaletteList.js.map +1 -1
  3. package/lib/components/AudioPlayer/AudioPlayer.js +1 -1
  4. package/lib/components/AudioPlayer/AudioPlayer.js.map +1 -1
  5. package/lib/components/AudioPlayer/__tests__/AudioPlayer.test.d.ts +1 -0
  6. package/lib/components/AudioPlayer/__tests__/AudioPlayer.test.js +68 -0
  7. package/lib/components/AudioPlayer/__tests__/AudioPlayer.test.js.map +1 -0
  8. package/lib/components/Button/__tests__/Button.test.d.ts +1 -0
  9. package/lib/components/Button/__tests__/Button.test.js +45 -0
  10. package/lib/components/Button/__tests__/Button.test.js.map +1 -0
  11. package/lib/components/Button/types.d.ts +2 -2
  12. package/lib/components/CardPanel/CardPanel.js +3 -1
  13. package/lib/components/CardPanel/CardPanel.js.map +1 -1
  14. package/lib/components/CardPanel/__tests__/CardPanel.test.d.ts +1 -0
  15. package/lib/components/CardPanel/__tests__/CardPanel.test.js +36 -0
  16. package/lib/components/CardPanel/__tests__/CardPanel.test.js.map +1 -0
  17. package/lib/components/Drawer/Drawer.js +4 -3
  18. package/lib/components/Drawer/Drawer.js.map +1 -1
  19. package/lib/components/Drawer/__tests__/Drawer.test.d.ts +1 -0
  20. package/lib/components/Drawer/__tests__/Drawer.test.js +48 -0
  21. package/lib/components/Drawer/__tests__/Drawer.test.js.map +1 -0
  22. package/lib/components/Editor/Editor.d.ts +7 -1
  23. package/lib/components/Editor/Editor.js +29 -345
  24. package/lib/components/Editor/Editor.js.map +1 -1
  25. package/lib/components/Editor/__tests__/beautify.test.d.ts +1 -0
  26. package/lib/components/Editor/__tests__/beautify.test.js +15 -0
  27. package/lib/components/Editor/__tests__/beautify.test.js.map +1 -0
  28. package/lib/components/Editor/beautify.d.ts +1 -0
  29. package/lib/components/Editor/beautify.js +40 -0
  30. package/lib/components/Editor/beautify.js.map +1 -0
  31. package/lib/components/Editor/useVariableDropdown.d.ts +17 -0
  32. package/lib/components/Editor/useVariableDropdown.js +252 -0
  33. package/lib/components/Editor/useVariableDropdown.js.map +1 -0
  34. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.d.ts +1 -1
  35. package/lib/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.js +0 -1
  36. package/lib/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.js.map +1 -1
  37. package/lib/components/Icon/Icon.js +16 -3
  38. package/lib/components/Icon/Icon.js.map +1 -1
  39. package/lib/components/Icon/__tests__/Icon.test.d.ts +1 -0
  40. package/lib/components/Icon/__tests__/Icon.test.js +66 -0
  41. package/lib/components/Icon/__tests__/Icon.test.js.map +1 -0
  42. package/lib/components/Icon/iconList.js +5 -5
  43. package/lib/components/Icon/types.d.ts +2 -1
  44. package/lib/components/Input/Input.js +13 -10
  45. package/lib/components/Input/Input.js.map +1 -1
  46. package/lib/components/Input/__tests__/Input.test.d.ts +1 -0
  47. package/lib/components/Input/__tests__/Input.test.js +45 -0
  48. package/lib/components/Input/__tests__/Input.test.js.map +1 -0
  49. package/lib/components/Input/types.d.ts +2 -1
  50. package/lib/components/MultiSelect/Dropdown.js +3 -4
  51. package/lib/components/MultiSelect/Dropdown.js.map +1 -1
  52. package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
  53. package/lib/components/MultiSelect/MultiSelect.js +17 -6
  54. package/lib/components/MultiSelect/MultiSelect.js.map +1 -1
  55. package/lib/components/MultiSelect/MultiSelectTypes.d.ts +2 -2
  56. package/lib/components/MultiSelect/__tests__/MultiSelect.test.d.ts +1 -0
  57. package/lib/components/MultiSelect/__tests__/MultiSelect.test.js +30 -0
  58. package/lib/components/MultiSelect/__tests__/MultiSelect.test.js.map +1 -0
  59. package/lib/components/MultiSelect/dropdownTypes.d.ts +3 -0
  60. package/lib/components/Select/Select.js +14 -7
  61. package/lib/components/Select/Select.js.map +1 -1
  62. package/lib/components/Select/__tests__/Select.test.d.ts +1 -0
  63. package/lib/components/Select/__tests__/Select.test.js +33 -0
  64. package/lib/components/Select/__tests__/Select.test.js.map +1 -0
  65. package/lib/components/Select/components/Dropdown.js +3 -3
  66. package/lib/components/Select/components/Dropdown.js.map +1 -1
  67. package/lib/components/Select/components/types.d.ts +1 -0
  68. package/lib/components/Select/components/types.js.map +1 -1
  69. package/lib/components/Select/types.d.ts +2 -2
  70. package/lib/components/Table/Table.js +3 -3
  71. package/lib/components/Table/Table.js.map +1 -1
  72. package/lib/components/Table/Types.d.ts +8 -0
  73. package/lib/components/Table/__tests__/Table.test.d.ts +1 -0
  74. package/lib/components/Table/__tests__/Table.test.js +26 -0
  75. package/lib/components/Table/__tests__/Table.test.js.map +1 -0
  76. package/lib/components/Table/components/SortableRow.js +2 -3
  77. package/lib/components/Table/components/SortableRow.js.map +1 -1
  78. package/lib/components/Table/components/TableHeader.js +3 -3
  79. package/lib/components/Table/components/TableHeader.js.map +1 -1
  80. package/lib/components/Table/components/VirtualizedRows.js +1 -1
  81. package/lib/components/Table/components/VirtualizedRows.js.map +1 -1
  82. package/lib/components/TableTree/TableTree.js +1 -1
  83. package/lib/components/TableTree/TableTree.js.map +1 -1
  84. package/lib/components/TableTreeFn/Components/TableBody.js +1 -1
  85. package/lib/components/TableTreeFn/Components/TableBody.js.map +1 -1
  86. package/lib/components/TableTreeFn/Components/TableCell.js +1 -1
  87. package/lib/components/TableTreeFn/Components/TableCell.js.map +1 -1
  88. package/lib/components/TableTreeFn/Components/TableHead.js +2 -2
  89. package/lib/components/TableTreeFn/Components/TableHead.js.map +1 -1
  90. package/lib/components/TableTreeFn/Components/TableRow.js +1 -1
  91. package/lib/components/TableTreeFn/Components/TableRow.js.map +1 -1
  92. package/lib/components/TableTreeFn/TableTreeFn.js +2 -2
  93. package/lib/components/TableTreeFn/TableTreeFn.js.map +1 -1
  94. package/lib/components/TableTreeFn/__tests__/TableTreeFn.test.d.ts +1 -0
  95. package/lib/components/TableTreeFn/__tests__/TableTreeFn.test.js +17 -0
  96. package/lib/components/TableTreeFn/__tests__/TableTreeFn.test.js.map +1 -0
  97. package/lib/components/TableTreeFn/types.d.ts +8 -0
  98. package/lib/components/Tabs/Tabs.d.ts +1 -1
  99. package/lib/components/Tabs/Tabs.js +2 -2
  100. package/lib/components/Tabs/Tabs.js.map +1 -1
  101. package/lib/components/Tabs/types.d.ts +4 -0
  102. package/lib/index.d.ts +37 -11
  103. package/lib/index.js +8 -8
  104. package/lib/styles.css +1 -1
  105. package/lib/tsconfig.tsbuildinfo +1 -1
  106. package/lib/utils/computeTreeCountsAndFormatNodes/computeTreeCountsAndFormatNodes.d.ts +2 -2
  107. package/lib/utils/computeTreeCountsAndFormatNodes/computeTreeCountsAndFormatNodes.js +23 -9
  108. package/lib/utils/computeTreeCountsAndFormatNodes/computeTreeCountsAndFormatNodes.js.map +1 -1
  109. package/package.json +9 -3
@@ -0,0 +1,252 @@
1
+ import { useState, useRef, useEffect, useCallback } from 'react';
2
+ import { calculateDropdownPosition } from './calculateDropdownPosition';
3
+ export const useVariableDropdown = ({ editor, variableOptionsList, addForloopPrefix, isRequisiteType, setValue, }) => {
4
+ const decorationsRef = useRef([]);
5
+ const varRef = useRef(null);
6
+ const filterVarRef = useRef(null);
7
+ const [currentLine, setCurrentLine] = useState(0);
8
+ const [isTextSelected, setIsTextSelected] = useState(false);
9
+ const [showDropdown, setShowDropdown] = useState(false);
10
+ const [dropdownPosition, setDropdownPosition] = useState({ top: 0, left: 0 });
11
+ const [filteredVariableOptions, setFilteredVariableOptions] = useState([]);
12
+ // Setup listeners when editor is available
13
+ useEffect(() => {
14
+ if (!editor)
15
+ return;
16
+ const cursorPositionDisposable = editor.onDidChangeCursorPosition((e) => {
17
+ setCurrentLine(e.position.lineNumber);
18
+ const position = editor.getPosition();
19
+ const model = editor.getModel();
20
+ if (!position || !model)
21
+ return;
22
+ const currentLineContent = model.getLineContent(position.lineNumber);
23
+ const col = position.column - 1;
24
+ if (col === 0) {
25
+ setShowDropdown(false);
26
+ return;
27
+ }
28
+ const dollarIndex = currentLineContent.lastIndexOf('$', col - 1);
29
+ const openIndex = currentLineContent.lastIndexOf('${', col - 1);
30
+ const closeIndex = openIndex !== -1 ? currentLineContent.indexOf('}', openIndex + 2) : -1;
31
+ const insideVariable = openIndex !== -1 && closeIndex !== -1 && col - 1 > openIndex && col - 1 < closeIndex;
32
+ const isCloserEnd = !/\}/.test(currentLineContent.slice(dollarIndex + 1, col));
33
+ if (dollarIndex !== -1 &&
34
+ col > dollarIndex &&
35
+ !/\s/.test(currentLineContent.slice(dollarIndex + 1, col)) &&
36
+ !insideVariable &&
37
+ isCloserEnd) {
38
+ varRef.current = dollarIndex;
39
+ filterVarRef.current = currentLineContent.slice(dollarIndex + 1, col);
40
+ const filterVal = (filterVarRef.current ?? '').toLowerCase();
41
+ const filteredVariable = variableOptionsList.filter((opt) => {
42
+ const variableName = opt.type === '_startforloop' && addForloopPrefix ? `FLV_for:${opt.name}` : opt.name;
43
+ return variableName.toLowerCase().includes(filterVal);
44
+ });
45
+ setFilteredVariableOptions(filteredVariable);
46
+ const visiblePosition = editor.getScrolledVisiblePosition(position);
47
+ const editorDomNode = editor.getDomNode();
48
+ if (visiblePosition && editorDomNode) {
49
+ setDropdownPosition(calculateDropdownPosition(visiblePosition, editorDomNode, 150));
50
+ }
51
+ if (['keyboard', 'mouse', 'deleteLeft'].includes(e?.source || '')) {
52
+ setShowDropdown(true);
53
+ }
54
+ }
55
+ else {
56
+ setShowDropdown(false);
57
+ varRef.current = null;
58
+ filterVarRef.current = null;
59
+ }
60
+ });
61
+ const mouseDownDisposable = editor.onMouseDown(() => {
62
+ setTimeout(() => {
63
+ const position = editor.getPosition();
64
+ const model = editor.getModel();
65
+ if (!position || !model)
66
+ return;
67
+ const currentLineContent = model.getLineContent(position.lineNumber);
68
+ const columnIndex = position.column - 2;
69
+ if (currentLineContent[columnIndex] === '$') {
70
+ varRef.current = columnIndex;
71
+ filterVarRef.current = '';
72
+ }
73
+ else {
74
+ varRef.current = null;
75
+ filterVarRef.current = null;
76
+ }
77
+ }, 0);
78
+ });
79
+ const cursorSelectionDisposable = editor.onDidChangeCursorSelection(() => {
80
+ const selections = editor.getSelections() || [];
81
+ const hasSelection = selections.some((sel) => sel.startLineNumber !== sel.endLineNumber || sel.startColumn !== sel.endColumn);
82
+ setIsTextSelected(hasSelection);
83
+ });
84
+ const modelContentDisposable = editor.onDidChangeModelContent(() => {
85
+ const content = editor.getValue();
86
+ setValue(content);
87
+ const position = editor.getPosition();
88
+ const model = editor.getModel();
89
+ if (!position || !model)
90
+ return;
91
+ const currentLineContent = model.getLineContent(position.lineNumber);
92
+ const columnIndex = position.column - 2;
93
+ const currentVarIndex = varRef.current ?? columnIndex;
94
+ if (currentLineContent[currentVarIndex] === '$') {
95
+ if (varRef.current === null) {
96
+ varRef.current = columnIndex;
97
+ }
98
+ filterVarRef.current = currentLineContent.slice(varRef.current + 1, columnIndex);
99
+ const filteredVariable = variableOptionsList.filter((opt) => {
100
+ const variableName = opt.type === '_startforloop' && addForloopPrefix ? `FLV_for:${opt.name}` : opt.name;
101
+ return variableName.toLowerCase().includes((filterVarRef.current ?? '').toLowerCase());
102
+ });
103
+ if (filteredVariable.length) {
104
+ setFilteredVariableOptions(filteredVariable);
105
+ }
106
+ else {
107
+ setFilteredVariableOptions([]);
108
+ if (varRef.current !== columnIndex && currentLineContent[columnIndex] === ' ') {
109
+ varRef.current = null;
110
+ filterVarRef.current = null;
111
+ setShowDropdown(false);
112
+ }
113
+ }
114
+ const visiblePosition = editor.getScrolledVisiblePosition(position);
115
+ const editorDomNode = editor.getDomNode();
116
+ if (visiblePosition && editorDomNode) {
117
+ setDropdownPosition(calculateDropdownPosition(visiblePosition, editorDomNode, 150));
118
+ }
119
+ }
120
+ else {
121
+ varRef.current = null;
122
+ filterVarRef.current = null;
123
+ }
124
+ });
125
+ const blurDisposable = editor.onDidBlurEditorWidget(() => {
126
+ setShowDropdown(false);
127
+ varRef.current = null;
128
+ filterVarRef.current = null;
129
+ decorationsRef.current = [];
130
+ setCurrentLine(0);
131
+ });
132
+ return () => {
133
+ cursorPositionDisposable.dispose();
134
+ mouseDownDisposable.dispose();
135
+ cursorSelectionDisposable.dispose();
136
+ modelContentDisposable.dispose();
137
+ blurDisposable.dispose();
138
+ };
139
+ }, [editor, variableOptionsList, addForloopPrefix, setValue]);
140
+ // Decoration hook
141
+ useEffect(() => {
142
+ if (!editor || !currentLine)
143
+ return;
144
+ const decorations = [];
145
+ const lineNumberDecorations = [];
146
+ if (isTextSelected) {
147
+ lineNumberDecorations.push({
148
+ range: {
149
+ startLineNumber: currentLine,
150
+ startColumn: 1,
151
+ endLineNumber: currentLine,
152
+ endColumn: 1,
153
+ },
154
+ options: {
155
+ isWholeLine: false,
156
+ linesDecorationsClassName: 'active-line-number',
157
+ },
158
+ });
159
+ }
160
+ else {
161
+ decorations.push({
162
+ range: {
163
+ startLineNumber: currentLine,
164
+ startColumn: 1,
165
+ endLineNumber: currentLine,
166
+ endColumn: 1,
167
+ },
168
+ options: {
169
+ isWholeLine: true,
170
+ className: 'current-line-background',
171
+ },
172
+ });
173
+ }
174
+ const decorationIds = decorationsRef.current || [];
175
+ decorationsRef.current = editor.deltaDecorations(decorationIds, [
176
+ ...decorations,
177
+ ...lineNumberDecorations,
178
+ ]);
179
+ }, [editor, currentLine, isTextSelected]);
180
+ const insertSuggestion = useCallback((textToInsert, moveMarkers, currentPositionOffset) => {
181
+ if (!editor)
182
+ return;
183
+ const position = editor.getPosition();
184
+ if (!position)
185
+ return;
186
+ const currentVarIndex = varRef.current ?? 0;
187
+ editor.executeEdits('', [
188
+ {
189
+ range: {
190
+ startLineNumber: position.lineNumber,
191
+ startColumn: currentVarIndex + currentPositionOffset,
192
+ endLineNumber: position.lineNumber,
193
+ endColumn: currentVarIndex + (position.column - currentVarIndex),
194
+ },
195
+ text: textToInsert,
196
+ forceMoveMarkers: moveMarkers,
197
+ },
198
+ ]);
199
+ // Update decorations for the current line
200
+ const decorationIds = decorationsRef.current || [];
201
+ decorationsRef.current = editor.deltaDecorations(decorationIds, [
202
+ {
203
+ range: {
204
+ startLineNumber: currentLine,
205
+ startColumn: 1,
206
+ endLineNumber: currentLine,
207
+ endColumn: 1,
208
+ },
209
+ options: {
210
+ isWholeLine: false,
211
+ },
212
+ },
213
+ ]);
214
+ filterVarRef.current = null;
215
+ varRef.current = null;
216
+ setShowDropdown(false);
217
+ }, [editor, currentLine]);
218
+ const handleSelectSuggestion = useCallback((suggestion, type) => {
219
+ const val = `{${type}${type === 'FLV_for:' ? '' : '_'}${suggestion}}`;
220
+ insertSuggestion(val, false, 2);
221
+ }, [insertSuggestion]);
222
+ const handleSelectVariable = useCallback((option) => {
223
+ if (isRequisiteType) {
224
+ insertSuggestion(`'${option.name}'`, true, 1);
225
+ }
226
+ else {
227
+ const typePrefix = option.parentVariableType === 'STEPGROUP'
228
+ ? 'SGV'
229
+ : option?.type === 'GLOBAL'
230
+ ? 'GV'
231
+ : option?.type === 'LOCAL'
232
+ ? 'LV'
233
+ : (option?._id ?? option?.id ?? '').includes('PARAMETER')
234
+ ? 'SGP'
235
+ : option?.type === '_startforloop'
236
+ ? 'FLV_for:'
237
+ : option?.type === 'DATAPROVIDER'
238
+ ? 'DPV'
239
+ : 'PEV';
240
+ const suggestionText = option?.type === 'DATAPROVIDER' ? `${option?.dpName}:${option?.varname}` : option?.name;
241
+ handleSelectSuggestion(suggestionText, typePrefix);
242
+ }
243
+ }, [isRequisiteType, handleSelectSuggestion, insertSuggestion]);
244
+ return {
245
+ showDropdown,
246
+ setShowDropdown,
247
+ dropdownPosition,
248
+ filteredVariableOptions,
249
+ handleSelectVariable,
250
+ };
251
+ };
252
+ //# sourceMappingURL=useVariableDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVariableDropdown.js","sourceRoot":"","sources":["../../../src/components/Editor/useVariableDropdown.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import * as Types from './types';
3
3
  export declare const enhance: (ColumnIndicatorComponent: Types.ColumnIndicatorComponent) => React.FC<Omit<Types.ColumnIndicatorProps, "selected" | "onSelect">>;
4
- declare const EnhancedColumnIndicator: React.FC<Omit<Types.ColumnIndicatorProps, "selected" | "onSelect">>;
4
+ declare const EnhancedColumnIndicator: React.FC<Omit<Types.ColumnIndicatorProps, "onSelect" | "selected">>;
5
5
  export default EnhancedColumnIndicator;
@@ -13,6 +13,5 @@ function areModelsEqual(a, b) {
13
13
  return undefined;
14
14
  }
15
15
  }
16
- // @ts-expect-error
17
16
  expect.addEqualityTesters([areModelsEqual]);
18
17
  //# sourceMappingURL=areModelsEqual.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"areModelsEqual.js","sourceRoot":"","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,SAAS,cAAc,CAAC,CAAU,EAAE,CAAU;IAC5C,MAAM,SAAS,GAAG,CAAC,YAAY,KAAK,CAAC;IACrC,MAAM,SAAS,GAAG,CAAC,YAAY,KAAK,CAAC;IAErC,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,mBAAmB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,mBAAmB;AACnB,MAAM,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"areModelsEqual.js","sourceRoot":"","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,SAAS,cAAc,CAAC,CAAU,EAAE,CAAU;IAC5C,MAAM,SAAS,GAAG,CAAC,YAAY,KAAK,CAAC;IACrC,MAAM,SAAS,GAAG,CAAC,YAAY,KAAK,CAAC;IAErC,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,mBAAmB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAGD,MAAM,CAAC,kBAAkB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import { forwardRef, useEffect, useRef } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import Components from './iconList';
5
5
  import './Icons.scss';
6
- const Icon = forwardRef(({ name, height, width, onClick = () => { }, color = 'var(--brand-color)', // Default color
6
+ const Icon = forwardRef(({ name, height, width, onClick, color = 'var(--brand-color)', // Default color
7
7
  hoverEffect = false, className = '', disabled = false, variant = 'light', isSelected = false, x, y, chartIcon = false, tabIndex = -1, cursorType, withPadding = true, ...props }, ref) => {
8
8
  const IconComponent = Components[name];
9
9
  const iconHeight = height || 16;
@@ -42,7 +42,20 @@ hoverEffect = false, className = '', disabled = false, variant = 'light', isSele
42
42
  };
43
43
  const baseProps = {
44
44
  ref: iconRef,
45
- onClick: disabled ? () => { } : onClick,
45
+ onClick: disabled ? undefined : onClick,
46
+ onKeyDown: (e) => {
47
+ if (disabled)
48
+ return;
49
+ if (onClick && (e.key === 'Enter' || e.key === ' ')) {
50
+ e.preventDefault();
51
+ onClick(e);
52
+ }
53
+ if (props.onKeyDown) {
54
+ props.onKeyDown(e);
55
+ }
56
+ },
57
+ role: props.role || (onClick ? 'button' : 'img'),
58
+ 'aria-disabled': disabled || undefined,
46
59
  style: {
47
60
  height: `${iconHeight}px`,
48
61
  width: `${iconWidth}px`,
@@ -60,7 +73,7 @@ hoverEffect = false, className = '', disabled = false, variant = 'light', isSele
60
73
  tabIndex: tabIndex,
61
74
  ...props,
62
75
  };
63
- return (_jsx(_Fragment, { children: chartIcon === false ? (_jsx("span", { ...baseProps, ref: ref, children: _jsx(IconComponent, { height: "100%", width: "100%", style: { color: iconColor } }) })) : (_jsx("svg", { ...baseProps, children: _jsx(IconComponent, { style: { color: color }, height: height, width: width }) })) }));
76
+ return (_jsx(_Fragment, { children: chartIcon === false ? (_jsx("span", { ...baseProps, ref: ref, children: _jsx(IconComponent, { height: "100%", width: "100%", style: { color: iconColor } }) })) : (_jsx("svg", { ...baseProps, role: "img", "aria-label": name, children: _jsx(IconComponent, { style: { color: color }, height: height, width: width }) })) }));
64
77
  });
65
78
  export default Icon;
66
79
  //# sourceMappingURL=Icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,cAAc,CAAC;AAGtB,MAAM,IAAI,GAAG,UAAU,CACrB,CACE,EACE,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,KAAK,GAAG,oBAAoB,EAAE,gBAAgB;AAC9C,WAAW,GAAG,KAAK,EACnB,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,OAAO,EACjB,UAAU,GAAG,KAAK,EAClB,CAAC,EACD,CAAC,EACD,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,CAAC,CAAC,EACb,UAAU,EACV,WAAW,GAAG,IAAI,EAClB,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC;IAE9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEX,MAAM,SAAS,GACb,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnE,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,aAAa,CAAC;QACvB,CAAC;aAAM,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;YACrC,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE,OAAO;QACZ,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,OAAO;QACtC,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,UAAU,IAAI;YACzB,KAAK,EAAE,GAAG,SAAS,IAAI;YACvB,MAAM,EAAE,SAAS,EAAE;YACnB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;SACrC;QACD,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE;YACzC,eAAe,EAAE,WAAW;YAC5B,kBAAkB,EAAE,QAAQ;YAC5B,kBAAkB,EAAE,UAAU;YAC9B,cAAc,EAAE,OAAO,KAAK,MAAM;YAClC,gBAAgB,EAAE,OAAO,KAAK,QAAQ;YACtC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS;SACzB,CAAC;QACF,QAAQ,EAAE,QAAQ;QAClB,GAAG,KAAK;KACT,CAAC;IAEF,OAAO,CACL,4BACG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CACrB,kBAAU,SAAS,EAAE,GAAG,EAAE,GAAG,YAC3B,KAAC,aAAa,IACZ,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAC3B,GACG,CACR,CAAC,CAAC,CAAC,CACF,iBAAS,SAAS,YAChB,KAAC,aAAa,IACZ,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GACZ,GACE,CACP,GACA,CACJ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render, screen, fireEvent } from '@testing-library/react';
3
+ import { describe, it, expect, vi } from 'vitest';
4
+ import Icon from '../Icon';
5
+ // Mock the IconList to avoid depending on actual SVG imports
6
+ vi.mock('../iconList', () => {
7
+ return {
8
+ default: {
9
+ play: (props) => _jsx("svg", { "data-testid": "mock-play-svg", ...props }),
10
+ close: (props) => _jsx("svg", { "data-testid": "mock-close-svg", ...props }),
11
+ },
12
+ };
13
+ });
14
+ describe('Icon Component', () => {
15
+ it('renders correctly with a valid icon name', () => {
16
+ render(_jsx(Icon, { name: "play" }));
17
+ // By default, it has role="img" when not interactive
18
+ const iconContainer = screen.getByRole('img');
19
+ expect(iconContainer).toBeInTheDocument();
20
+ const svg = screen.getByTestId('mock-play-svg');
21
+ expect(svg).toBeInTheDocument();
22
+ });
23
+ it('returns null if icon name is invalid', () => {
24
+ const { container } = render(_jsx(Icon, { name: "invalid_icon" }));
25
+ expect(container).toBeEmptyDOMElement();
26
+ });
27
+ it('receives role="button" when onClick is provided', () => {
28
+ const handleClick = vi.fn();
29
+ render(_jsx(Icon, { name: "play", onClick: handleClick }));
30
+ const buttonIcon = screen.getByRole('button');
31
+ expect(buttonIcon).toBeInTheDocument();
32
+ });
33
+ it('handles onClick events', () => {
34
+ const handleClick = vi.fn();
35
+ render(_jsx(Icon, { name: "play", onClick: handleClick }));
36
+ const buttonIcon = screen.getByRole('button');
37
+ fireEvent.click(buttonIcon);
38
+ expect(handleClick).toHaveBeenCalledTimes(1);
39
+ });
40
+ it('does not trigger onClick when disabled', () => {
41
+ const handleClick = vi.fn();
42
+ render(_jsx(Icon, { name: "play", onClick: handleClick, disabled: true }));
43
+ // When disabled and onClick is provided, it might still have role="button" but should not fire
44
+ const buttonIcon = screen.getByRole('button');
45
+ expect(buttonIcon).toHaveAttribute('aria-disabled', 'true');
46
+ fireEvent.click(buttonIcon);
47
+ expect(handleClick).not.toHaveBeenCalled();
48
+ });
49
+ it('fires onClick on Enter and Space keys', () => {
50
+ const handleClick = vi.fn();
51
+ render(_jsx(Icon, { name: "play", onClick: handleClick, tabIndex: 0 }));
52
+ const buttonIcon = screen.getByRole('button');
53
+ fireEvent.keyDown(buttonIcon, { key: 'Enter', code: 'Enter' });
54
+ expect(handleClick).toHaveBeenCalledTimes(1);
55
+ fireEvent.keyDown(buttonIcon, { key: ' ', code: 'Space' });
56
+ expect(handleClick).toHaveBeenCalledTimes(2);
57
+ });
58
+ it('does not fire keyboard events when disabled', () => {
59
+ const handleClick = vi.fn();
60
+ render(_jsx(Icon, { name: "play", onClick: handleClick, tabIndex: 0, disabled: true }));
61
+ const buttonIcon = screen.getByRole('button');
62
+ fireEvent.keyDown(buttonIcon, { key: 'Enter', code: 'Enter' });
63
+ expect(handleClick).not.toHaveBeenCalled();
64
+ });
65
+ });
66
+ //# sourceMappingURL=Icon.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.test.js","sourceRoot":"","sources":["../../../../src/components/Icon/__tests__/Icon.test.tsx"],"names":[],"mappings":"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"}
@@ -437,7 +437,7 @@ import GotoScript from '../../assets/icons/go_to_scripts.svg?react';
437
437
  import SettingIcon from '../../assets/icons/setting-icon.svg?react';
438
438
  import SeleniumIcon from '../../assets/icons/selenium_icon.svg?react';
439
439
  import VideoPreviewIcon from '../../assets/icons/video_preview_icon.svg?react';
440
- import FilterActive from '../../assets/icons/Filter_active.svg?react';
440
+ import FilterActive from '../../assets/icons/filter_active.svg?react';
441
441
  import MaximizedNewIcon from '../../assets/icons/maximize_new_icon.svg?react';
442
442
  import AutoHealing from '../../assets/icons/auto_healing.svg?react';
443
443
  import ClockFilled from '../../assets/icons/clock_filled.svg?react';
@@ -489,7 +489,7 @@ import PromptSlider from '../../assets/icons/prompt_slider.svg?react';
489
489
  import SendPrompt from '../../assets/icons/send_prompt.svg?react';
490
490
  import Access_Key from '../../assets/icons/access_key.svg?react'; //Newly Added icon
491
491
  import List_icon from '../../assets/icons/list_icon.svg?react';
492
- import JSON_icon from '../../assets/icons/jSON_code_icon.svg?react';
492
+ import JSON_icon from '../../assets/icons/JSON_code_icon.svg?react';
493
493
  import Honor_icon from '../../assets/icons/honor_icon.svg?react'; //Newly Added icon
494
494
  import IQOO_icon from '../../assets/icons/iqoo_icon.svg?react'; //Newly Added icon
495
495
  import MOTOROLA_icon from '../../assets/icons/motorola_icon.svg?react'; //Newly Added icon
@@ -498,7 +498,7 @@ import REALME_icon from '../../assets/icons/realme_icon.svg?react'; //Newly Adde
498
498
  import VIVO_icon from '../../assets/icons/vivo_icon.svg?react'; //Newly Added icon
499
499
  import DataSet from '../../assets/icons/data_set.svg?react'; //Newly Added icon
500
500
  import VideoPreview from '../../assets/icons/video_preview.svg?react'; //Newly Added icon
501
- import Minimize_tree from '../../assets/icons/minimize_tree.svg?react';
501
+ import Minimize_tree from '../../assets/icons/Minimize_Tree.svg?react';
502
502
  import Record from '../../assets/icons/record.svg?react';
503
503
  import AddElement from '../../assets/icons/add_element.svg?react';
504
504
  import ElementSlider from '../../assets/icons/element_slider.svg?react';
@@ -553,7 +553,7 @@ import AndroidBrowserIcon from '../../assets/icons/android_browser.svg?react';
553
553
  import IosBrowserIcon from '../../assets/icons/ios_browser.svg?react';
554
554
  import ManualMobileWhiteIcon from '../../assets/icons/manualMobileWhiteIcon.svg?react';
555
555
  import ManualMobileIcon from '../../assets/icons/manualMobileIcon.svg?react';
556
- import DeviceFarm_Arrow_icon from '../../assets/icons/deviceFarm_Arrow_icon.svg?react';
556
+ import DeviceFarm_Arrow_icon from '../../assets/icons/DeviceFarm_Arrow_icon.svg?react';
557
557
  import CertifiedIcon from '../../assets/icons/certified.svg?react';
558
558
  import VerifiedIcon from '../../assets/icons/verified.svg?react';
559
559
  import IssuedByIcon from '../../assets/icons/issued_by.svg?react';
@@ -580,7 +580,7 @@ import Empty_page_web_icon from '../../assets/icons/empty_page_web_icon.svg?reac
580
580
  import Screenshot_empty_icon from '../../assets/icons/screenshot_empty_icon.svg?react';
581
581
  import Video_empty_icon from '../../assets/icons/video_empty_icon.svg?react';
582
582
  import Optmizer_icon from '../../assets/icons/optmizer_icon.svg?react';
583
- import Warning_info_icon from '../../assets/icons/warning_info_icon.svg?react';
583
+ import Warning_info_icon from '../../assets/icons/Warning_info_icon.svg?react';
584
584
  import Request_generation_icon from '../../assets/icons/request_generation.svg?react';
585
585
  import Up_Control_Icon from '../../assets/icons/up_control_icon.svg?react';
586
586
  import Down_Control_Icon from '../../assets/icons/down_control_icon.svg?react';
@@ -1,4 +1,5 @@
1
- export interface IconProps {
1
+ import { HTMLAttributes } from 'react';
2
+ export interface IconProps extends Omit<HTMLAttributes<HTMLElement>, 'onClick'> {
2
3
  name: string;
3
4
  className?: string;
4
5
  height?: number;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef, useState, useEffect } from 'react';
2
+ import { forwardRef, useState, useEffect, useId } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import './Input.scss';
5
5
  import { checkEmpty } from '../../utils/checkEmpty/checkEmpty';
@@ -27,6 +27,9 @@ const Input = forwardRef(({ type = 'text', variant = 'primary', name = '', label
27
27
  const [isFocused, setIsFocused] = useState(false);
28
28
  const clearIcon = iconProps?.isClearIcon;
29
29
  const showIcon = iconProps?.isShowIcon;
30
+ const uniqueId = useId();
31
+ const inputId = props.id || name || uniqueId;
32
+ const helperTextId = `${inputId}-helper-text`;
30
33
  useEffect(() => {
31
34
  if (value !== internalValue) {
32
35
  setInternalValue(value);
@@ -143,12 +146,12 @@ const Input = forwardRef(({ type = 'text', variant = 'primary', name = '', label
143
146
  'ff-input-container--disabled': !!disabled,
144
147
  }), children: [isLabelRequired && (_jsxs("label", { className: classNames(`ff-input-label-container ff-input-label-container--${size}`, {
145
148
  'ff-input-label-container--danger': (displayErrorImmediately || touched) && !!error,
146
- }), htmlFor: name, children: [required && _jsx("span", { className: "required-asterisk", children: "*" }), _jsx("span", { className: classNames(`ff-input-label ff-input-label--${variant}`, {
149
+ }), htmlFor: inputId, children: [required && _jsx("span", { className: "required-asterisk", children: "*" }), _jsx("span", { className: classNames(`ff-input-label ff-input-label--${variant}`, {
147
150
  'ff-input-label--no-hover': !!internalValue,
148
151
  'ff-input-label--disabled': !!disabled,
149
152
  'ff-input-label--danger': (displayErrorImmediately || touched) && !!error,
150
153
  'ff-input-label--focused': isFocused,
151
- }), children: label })] })), _jsx("input", { style: { background: background || 'transparent' }, readOnly: readOnly, ref: ref, name: name, value: internalValue || value, type: type, spellCheck: false, id: name, className: classNames(`ff-input ff-input-${variant} default-input ff-input--${size}`, {
154
+ }), children: label })] })), _jsx("input", { style: { background: background || 'transparent' }, readOnly: readOnly, ref: ref, name: name, value: internalValue || value, type: type, spellCheck: false, id: inputId, "aria-invalid": !!error, "aria-required": !!required, "aria-describedby": (((displayErrorImmediately || touched) && (error || isHelperTextRequired) && helperText) || reserveHelperTextSpace) ? helperTextId : undefined, className: classNames(`ff-input ff-input-${variant} default-input ff-input--${size}`, {
152
155
  ['ff-input--transparentBackground']: !!transparentBackground,
153
156
  'ff-input--disabled': !!disabled,
154
157
  'ff-input--danger': (displayErrorImmediately || touched) && !!error,
@@ -164,13 +167,13 @@ const Input = forwardRef(({ type = 'text', variant = 'primary', name = '', label
164
167
  ['arrow-container-label']: label,
165
168
  ['arrow-container-label-error']: !!error && (label || required),
166
169
  ['arrow-container-no-label-error']: !!error && !label,
167
- }), children: [_jsx(Icon, { name: "arrow_up", hoverEffect: false, height: 7, width: 12, color: value == maxValue
170
+ }), children: [_jsx(Icon, { name: "arrow_up", tabIndex: disabled ? -1 : 0, "aria-label": "Increment", hoverEffect: false, height: 7, width: 12, color: value == maxValue
168
171
  ? 'var(--private-chip-bg-color)'
169
172
  : 'var(--text-area-default-color)', onClick: () => {
170
173
  if (disabled)
171
174
  return;
172
175
  handleIncrementDecrement('increment');
173
- }, disabled: disabled }), _jsx(Icon, { name: "arrow_down", height: 7, width: 12, color: value == minValue
176
+ }, disabled: disabled }), _jsx(Icon, { name: "arrow_down", tabIndex: disabled ? -1 : 0, "aria-label": "Decrement", height: 7, width: 12, color: value == minValue
174
177
  ? 'var(--private-chip-bg-color)'
175
178
  : 'var(--text-area-default-color)', onClick: () => {
176
179
  if (disabled)
@@ -178,7 +181,7 @@ const Input = forwardRef(({ type = 'text', variant = 'primary', name = '', label
178
181
  handleIncrementDecrement('decrement');
179
182
  }, disabled: disabled })] })), showSearchIcon && !(type === 'number') && (_jsx("div", { className: classNames('arrow-container', {
180
183
  ['arrow-container-searchIcon']: showSearchIcon,
181
- }), children: _jsx(Tooltip, { title: searchIconProps?.toolTipTitle || 'search', children: _jsx(Icon, { name: searchIconProps?.name || 'search', hoverEffect: false, height: searchIconProps?.height || 14, width: searchIconProps?.height || 14, color: "var(--text-area-default-color)", onClick: (e) => {
184
+ }), children: _jsx(Tooltip, { title: searchIconProps?.toolTipTitle || 'search', children: _jsx(Icon, { name: searchIconProps?.name || 'search', tabIndex: searchIconProps?.disabled ? -1 : 0, "aria-label": searchIconProps?.toolTipTitle || 'search', hoverEffect: false, height: searchIconProps?.height || 14, width: searchIconProps?.height || 14, color: "var(--text-area-default-color)", onClick: (e) => {
182
185
  if (handleSearchIconClick) {
183
186
  handleSearchIconClick(e);
184
187
  }
@@ -188,18 +191,18 @@ const Input = forwardRef(({ type = 'text', variant = 'primary', name = '', label
188
191
  ['ff-input-clear-icon-container--with-label']: (label || required) && clearIcon,
189
192
  ['ff-input-clear-icon-container--no-label']: !label && clearIcon,
190
193
  ['ff-input-clear-icon-container--isOnly-clear-icon']: !showIcon && clearIcon,
191
- }), children: _jsx(Tooltip, { title: clearIcon ? 'Clear' : '', children: _jsx(Icon, { name: clearIcon ? 'close' : '', hoverEffect: false, height: 16, width: 16, color: "var(--brand-color)", onClick: handleClearValue, disabled: iconProps?.isIconDisable, cursorType: "pointer" }) }) })), showIcon && !(type === 'number') && (_jsx("div", { className: classNames('ff-input-icon-container', {
194
+ }), children: _jsx(Tooltip, { title: clearIcon ? 'Clear' : '', children: _jsx(Icon, { name: clearIcon ? 'close' : '', tabIndex: iconProps?.isIconDisable ? -1 : 0, "aria-label": "Clear input", hoverEffect: false, height: 16, width: 16, color: "var(--brand-color)", onClick: handleClearValue, disabled: iconProps?.isIconDisable, cursorType: "pointer" }) }) })), showIcon && !(type === 'number') && (_jsx("div", { className: classNames('ff-input-icon-container', {
192
195
  ['ff-input-icon-container--default']: showIcon,
193
196
  ['ff-input-icon-container--error']: !!error,
194
197
  ['ff-input-icon-container--with-label']: (label || required) && showIcon,
195
198
  ['ff-input-icon-container--no-label']: !label && showIcon,
196
199
  }), children: _jsx(Tooltip, { title: showIcon && !iconProps?.isIconDisable
197
200
  ? iconProps?.iconToolTipTitle
198
- : '', children: _jsx(Icon, { name: iconProps?.iconName || '', hoverEffect: false, height: 16, width: 16, color: iconProps?.iconColor || 'var(--text-area-default-color)', onClick: (e) => {
201
+ : '', children: _jsx(Icon, { name: iconProps?.iconName || '', tabIndex: iconProps?.isIconDisable ? -1 : 0, "aria-label": iconProps?.iconToolTipTitle || 'icon', hoverEffect: false, height: 16, width: 16, color: iconProps?.iconColor || 'var(--text-area-default-color)', onClick: (e) => {
199
202
  if (iconProps?.onIconClick) {
200
203
  iconProps?.onIconClick(e);
201
204
  }
202
- }, disabled: iconProps?.isIconDisable, cursorType: "pointer" }) }) })), reserveHelperTextSpace && (_jsx("span", { className: classNames('ff-input-message', {
205
+ }, disabled: iconProps?.isIconDisable, cursorType: "pointer" }) }) })), reserveHelperTextSpace && (_jsx("span", { id: helperTextId, className: classNames('ff-input-message', {
203
206
  'ff-input-message--space': !!reserveHelperTextSpace,
204
207
  'ff-input-message--showHelperText': !!isHelperTextRequired,
205
208
  'ff-input-message--danger': (displayErrorImmediately || touched) && !!error,
@@ -209,7 +212,7 @@ const Input = forwardRef(({ type = 'text', variant = 'primary', name = '', label
209
212
  : '' })), !reserveHelperTextSpace &&
210
213
  (displayErrorImmediately || touched) &&
211
214
  helperText &&
212
- (error || isHelperTextRequired) && (_jsx("span", { className: classNames(helperTextWidth ? 'ff-input-width' : 'ff-input-message', {
215
+ (error || isHelperTextRequired) && (_jsx("span", { id: helperTextId, className: classNames(helperTextWidth ? 'ff-input-width' : 'ff-input-message', {
213
216
  'ff-input-message--showHelperText': !!isHelperTextRequired,
214
217
  'ff-input-message--danger': !!error,
215
218
  }), style: {