@dxc-technology/halstack-react 0.0.0-b3de035 → 0.0.0-b50ba80

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 (421) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +10 -0
  4. package/HalstackContext.js +243 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +226 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +168 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +40 -153
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +59 -0
  25. package/badge/types.d.ts +4 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +84 -0
  29. package/bleed/Bleed.stories.tsx +342 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/{dist/box → box}/Box.js +15 -45
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/button/Button.d.ts +4 -0
  39. package/{dist/button → button}/Button.js +33 -97
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/Button.test.js +35 -0
  42. package/button/types.d.ts +53 -0
  43. package/button/types.js +5 -0
  44. package/card/Card.d.ts +4 -0
  45. package/card/Card.js +163 -0
  46. package/card/Card.stories.tsx +201 -0
  47. package/card/Card.test.js +50 -0
  48. package/card/ice-cream.jpg +0 -0
  49. package/card/types.d.ts +67 -0
  50. package/card/types.js +5 -0
  51. package/checkbox/Checkbox.d.ts +4 -0
  52. package/{dist/checkbox → checkbox}/Checkbox.js +50 -95
  53. package/checkbox/Checkbox.stories.tsx +188 -0
  54. package/checkbox/Checkbox.test.js +78 -0
  55. package/checkbox/types.d.ts +64 -0
  56. package/checkbox/types.js +5 -0
  57. package/chip/Chip.d.ts +4 -0
  58. package/chip/Chip.js +161 -0
  59. package/chip/Chip.stories.tsx +119 -0
  60. package/chip/Chip.test.js +56 -0
  61. package/chip/types.d.ts +45 -0
  62. package/chip/types.js +5 -0
  63. package/{dist/common → common}/OpenSans.css +0 -0
  64. package/{dist/common → common}/RequiredComponent.js +3 -11
  65. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  68. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  69. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  70. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  75. package/{dist/common → common}/utils.js +0 -0
  76. package/{dist/common → common}/variables.js +141 -339
  77. package/date-input/DateInput.d.ts +4 -0
  78. package/{dist/date-input → date-input}/DateInput.js +77 -108
  79. package/date-input/DateInput.stories.tsx +138 -0
  80. package/date-input/DateInput.test.js +479 -0
  81. package/date-input/types.d.ts +107 -0
  82. package/date-input/types.js +5 -0
  83. package/dialog/Dialog.d.ts +4 -0
  84. package/dialog/Dialog.js +138 -0
  85. package/dialog/Dialog.stories.tsx +212 -0
  86. package/dialog/Dialog.test.js +40 -0
  87. package/dialog/types.d.ts +43 -0
  88. package/dialog/types.js +5 -0
  89. package/dropdown/Dropdown.d.ts +4 -0
  90. package/{dist/dropdown → dropdown}/Dropdown.js +54 -207
  91. package/dropdown/Dropdown.stories.tsx +249 -0
  92. package/dropdown/Dropdown.test.js +189 -0
  93. package/dropdown/types.d.ts +80 -0
  94. package/dropdown/types.js +5 -0
  95. package/file-input/FileInput.d.ts +4 -0
  96. package/file-input/FileInput.js +590 -0
  97. package/file-input/FileInput.stories.tsx +507 -0
  98. package/file-input/FileInput.test.js +457 -0
  99. package/file-input/FileItem.d.ts +14 -0
  100. package/file-input/FileItem.js +186 -0
  101. package/file-input/types.d.ts +112 -0
  102. package/file-input/types.js +5 -0
  103. package/footer/Footer.d.ts +4 -0
  104. package/footer/Footer.js +183 -0
  105. package/footer/Footer.stories.tsx +130 -0
  106. package/footer/Footer.test.js +109 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/{dist/footer → footer}/Icons.js +15 -15
  109. package/footer/types.d.ts +65 -0
  110. package/footer/types.js +5 -0
  111. package/header/Header.d.ts +7 -0
  112. package/header/Header.js +300 -0
  113. package/header/Header.stories.tsx +172 -0
  114. package/header/Header.test.js +79 -0
  115. package/header/Icons.d.ts +2 -0
  116. package/{dist/header → header}/Icons.js +7 -32
  117. package/header/types.d.ts +47 -0
  118. package/header/types.js +5 -0
  119. package/heading/Heading.d.ts +4 -0
  120. package/{dist/heading → heading}/Heading.js +25 -96
  121. package/heading/Heading.stories.tsx +54 -0
  122. package/heading/Heading.test.js +186 -0
  123. package/heading/types.d.ts +33 -0
  124. package/heading/types.js +5 -0
  125. package/inset/Inset.d.ts +3 -0
  126. package/inset/Inset.js +84 -0
  127. package/inset/Inset.stories.tsx +229 -0
  128. package/inset/types.d.ts +37 -0
  129. package/inset/types.js +5 -0
  130. package/layout/ApplicationLayout.d.ts +10 -0
  131. package/layout/ApplicationLayout.js +218 -0
  132. package/layout/ApplicationLayout.stories.tsx +171 -0
  133. package/{dist/layout → layout}/Icons.js +7 -7
  134. package/layout/types.d.ts +57 -0
  135. package/layout/types.js +5 -0
  136. package/link/Link.d.ts +4 -0
  137. package/link/Link.js +162 -0
  138. package/link/Link.stories.tsx +186 -0
  139. package/link/Link.test.js +83 -0
  140. package/link/types.d.ts +55 -0
  141. package/link/types.js +5 -0
  142. package/list/List.d.ts +4 -0
  143. package/list/List.js +47 -0
  144. package/list/List.stories.tsx +95 -0
  145. package/list/types.d.ts +7 -0
  146. package/list/types.js +5 -0
  147. package/main.d.ts +47 -0
  148. package/{dist/main.js → main.js} +124 -96
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +76 -0
  151. package/number-input/NumberInput.stories.tsx +115 -0
  152. package/number-input/NumberInput.test.js +506 -0
  153. package/number-input/NumberInputContext.d.ts +4 -0
  154. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +124 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +34 -20
  160. package/{dist/paginator → paginator}/Icons.js +9 -9
  161. package/paginator/Paginator.d.ts +4 -0
  162. package/paginator/Paginator.js +192 -0
  163. package/paginator/Paginator.stories.tsx +63 -0
  164. package/paginator/Paginator.test.js +266 -0
  165. package/paginator/types.d.ts +38 -0
  166. package/paginator/types.js +5 -0
  167. package/password-input/PasswordInput.d.ts +4 -0
  168. package/{dist/password-input → password-input}/PasswordInput.js +37 -77
  169. package/password-input/PasswordInput.stories.tsx +131 -0
  170. package/password-input/PasswordInput.test.js +181 -0
  171. package/password-input/types.d.ts +110 -0
  172. package/password-input/types.js +5 -0
  173. package/progress-bar/ProgressBar.d.ts +4 -0
  174. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  175. package/progress-bar/ProgressBar.stories.jsx +58 -0
  176. package/progress-bar/ProgressBar.test.js +65 -0
  177. package/progress-bar/types.d.ts +37 -0
  178. package/progress-bar/types.js +5 -0
  179. package/quick-nav/QuickNav.d.ts +4 -0
  180. package/quick-nav/QuickNav.js +67 -0
  181. package/quick-nav/QuickNav.stories.tsx +237 -0
  182. package/quick-nav/types.d.ts +21 -0
  183. package/quick-nav/types.js +5 -0
  184. package/radio/Radio.d.ts +4 -0
  185. package/{dist/radio → radio}/Radio.js +23 -59
  186. package/radio/Radio.stories.tsx +192 -0
  187. package/radio/Radio.test.js +71 -0
  188. package/radio/types.d.ts +54 -0
  189. package/radio/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +141 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +280 -0
  194. package/radio-group/RadioGroup.stories.tsx +100 -0
  195. package/radio-group/RadioGroup.test.js +695 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/ResultsetTable.d.ts +4 -0
  199. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  200. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  201. package/resultsetTable/ResultsetTable.test.js +306 -0
  202. package/resultsetTable/types.d.ts +67 -0
  203. package/resultsetTable/types.js +5 -0
  204. package/row/Row.d.ts +3 -0
  205. package/row/Row.js +127 -0
  206. package/row/Row.stories.tsx +237 -0
  207. package/row/types.d.ts +28 -0
  208. package/row/types.js +5 -0
  209. package/select/Icons.d.ts +10 -0
  210. package/select/Icons.js +93 -0
  211. package/select/Listbox.d.ts +4 -0
  212. package/select/Listbox.js +149 -0
  213. package/select/Option.d.ts +4 -0
  214. package/select/Option.js +110 -0
  215. package/select/Select.d.ts +4 -0
  216. package/select/Select.js +655 -0
  217. package/select/Select.stories.tsx +582 -0
  218. package/select/Select.test.js +2057 -0
  219. package/select/types.d.ts +213 -0
  220. package/select/types.js +5 -0
  221. package/sidenav/Sidenav.d.ts +9 -0
  222. package/{dist/sidenav → sidenav}/Sidenav.js +21 -64
  223. package/sidenav/Sidenav.stories.tsx +182 -0
  224. package/sidenav/Sidenav.test.js +56 -0
  225. package/sidenav/types.d.ts +50 -0
  226. package/sidenav/types.js +5 -0
  227. package/slider/Slider.d.ts +4 -0
  228. package/{dist/slider → slider}/Slider.js +76 -162
  229. package/slider/Slider.stories.tsx +177 -0
  230. package/slider/Slider.test.js +150 -0
  231. package/slider/types.d.ts +82 -0
  232. package/slider/types.js +5 -0
  233. package/spinner/Spinner.d.ts +4 -0
  234. package/spinner/Spinner.js +250 -0
  235. package/spinner/Spinner.stories.jsx +103 -0
  236. package/spinner/Spinner.test.js +64 -0
  237. package/spinner/types.d.ts +32 -0
  238. package/spinner/types.js +5 -0
  239. package/stack/Stack.d.ts +3 -0
  240. package/stack/Stack.js +97 -0
  241. package/stack/Stack.stories.tsx +164 -0
  242. package/stack/types.d.ts +24 -0
  243. package/stack/types.js +5 -0
  244. package/switch/Switch.d.ts +4 -0
  245. package/switch/Switch.js +192 -0
  246. package/switch/Switch.stories.tsx +160 -0
  247. package/switch/Switch.test.js +98 -0
  248. package/switch/types.d.ts +62 -0
  249. package/switch/types.js +5 -0
  250. package/table/Table.d.ts +4 -0
  251. package/{dist/table → table}/Table.js +12 -26
  252. package/table/Table.stories.jsx +277 -0
  253. package/table/Table.test.js +26 -0
  254. package/table/types.d.ts +21 -0
  255. package/table/types.js +5 -0
  256. package/tabs/Tabs.d.ts +4 -0
  257. package/tabs/Tabs.js +211 -0
  258. package/tabs/Tabs.stories.tsx +112 -0
  259. package/tabs/Tabs.test.js +140 -0
  260. package/tabs/types.d.ts +82 -0
  261. package/tabs/types.js +5 -0
  262. package/tag/Tag.d.ts +4 -0
  263. package/tag/Tag.js +183 -0
  264. package/tag/Tag.stories.tsx +142 -0
  265. package/tag/Tag.test.js +60 -0
  266. package/tag/types.d.ts +69 -0
  267. package/tag/types.js +5 -0
  268. package/text/Text.d.ts +7 -0
  269. package/text/Text.js +30 -0
  270. package/text/Text.stories.tsx +19 -0
  271. package/text-input/Suggestion.d.ts +4 -0
  272. package/text-input/Suggestion.js +55 -0
  273. package/text-input/TextInput.d.ts +4 -0
  274. package/{dist/text-input → text-input}/TextInput.js +280 -483
  275. package/text-input/TextInput.stories.tsx +474 -0
  276. package/text-input/TextInput.test.js +1712 -0
  277. package/text-input/types.d.ts +178 -0
  278. package/text-input/types.js +5 -0
  279. package/textarea/Textarea.d.ts +4 -0
  280. package/{dist/textarea → textarea}/Textarea.js +48 -131
  281. package/textarea/Textarea.stories.jsx +157 -0
  282. package/textarea/Textarea.test.js +437 -0
  283. package/textarea/types.d.ts +137 -0
  284. package/textarea/types.js +5 -0
  285. package/toggle-group/ToggleGroup.d.ts +4 -0
  286. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +36 -148
  287. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  288. package/toggle-group/ToggleGroup.test.js +156 -0
  289. package/toggle-group/types.d.ts +105 -0
  290. package/toggle-group/types.js +5 -0
  291. package/useTheme.d.ts +2 -0
  292. package/{dist/useTheme.js → useTheme.js} +2 -2
  293. package/wizard/Wizard.d.ts +4 -0
  294. package/wizard/Wizard.js +290 -0
  295. package/wizard/Wizard.stories.tsx +214 -0
  296. package/wizard/Wizard.test.js +141 -0
  297. package/wizard/types.d.ts +64 -0
  298. package/wizard/types.js +5 -0
  299. package/README.md +0 -66
  300. package/babel.config.js +0 -8
  301. package/dist/BackgroundColorContext.js +0 -46
  302. package/dist/ThemeContext.js +0 -250
  303. package/dist/V3Select/V3Select.js +0 -549
  304. package/dist/V3Select/index.d.ts +0 -27
  305. package/dist/V3Textarea/V3Textarea.js +0 -264
  306. package/dist/V3Textarea/index.d.ts +0 -27
  307. package/dist/accordion/Accordion.js +0 -353
  308. package/dist/accordion/index.d.ts +0 -28
  309. package/dist/accordion-group/AccordionGroup.js +0 -186
  310. package/dist/accordion-group/index.d.ts +0 -16
  311. package/dist/alert/index.d.ts +0 -51
  312. package/dist/badge/Badge.js +0 -63
  313. package/dist/box/index.d.ts +0 -25
  314. package/dist/button/index.d.ts +0 -24
  315. package/dist/card/Card.js +0 -254
  316. package/dist/card/index.d.ts +0 -22
  317. package/dist/checkbox/index.d.ts +0 -24
  318. package/dist/chip/Chip.js +0 -265
  319. package/dist/chip/index.d.ts +0 -22
  320. package/dist/date/Date.js +0 -379
  321. package/dist/date/index.d.ts +0 -27
  322. package/dist/date-input/index.d.ts +0 -95
  323. package/dist/dialog/Dialog.js +0 -218
  324. package/dist/dialog/index.d.ts +0 -18
  325. package/dist/dropdown/index.d.ts +0 -26
  326. package/dist/file-input/FileInput.js +0 -644
  327. package/dist/file-input/FileItem.js +0 -287
  328. package/dist/file-input/index.d.ts +0 -81
  329. package/dist/footer/Footer.js +0 -421
  330. package/dist/footer/index.d.ts +0 -25
  331. package/dist/header/Header.js +0 -470
  332. package/dist/header/index.d.ts +0 -25
  333. package/dist/heading/index.d.ts +0 -17
  334. package/dist/input-text/Icons.js +0 -22
  335. package/dist/input-text/InputText.js +0 -705
  336. package/dist/input-text/index.d.ts +0 -36
  337. package/dist/layout/ApplicationLayout.js +0 -327
  338. package/dist/link/Link.js +0 -237
  339. package/dist/link/index.d.ts +0 -23
  340. package/dist/main.d.ts +0 -40
  341. package/dist/number-input/NumberInput.js +0 -136
  342. package/dist/number-input/index.d.ts +0 -113
  343. package/dist/paginator/Paginator.js +0 -283
  344. package/dist/paginator/index.d.ts +0 -20
  345. package/dist/password-input/index.d.ts +0 -94
  346. package/dist/progress-bar/index.d.ts +0 -18
  347. package/dist/radio/index.d.ts +0 -23
  348. package/dist/resultsetTable/index.d.ts +0 -19
  349. package/dist/select/Select.js +0 -1069
  350. package/dist/select/index.d.ts +0 -53
  351. package/dist/sidenav/index.d.ts +0 -13
  352. package/dist/slider/index.d.ts +0 -29
  353. package/dist/spinner/Spinner.js +0 -381
  354. package/dist/spinner/index.d.ts +0 -17
  355. package/dist/switch/Switch.js +0 -222
  356. package/dist/switch/index.d.ts +0 -24
  357. package/dist/table/index.d.ts +0 -13
  358. package/dist/tabs/Tabs.js +0 -343
  359. package/dist/tabs/index.d.ts +0 -19
  360. package/dist/tag/Tag.js +0 -282
  361. package/dist/tag/index.d.ts +0 -24
  362. package/dist/text-input/index.d.ts +0 -135
  363. package/dist/textarea/index.d.ts +0 -117
  364. package/dist/toggle/Toggle.js +0 -220
  365. package/dist/toggle/index.d.ts +0 -21
  366. package/dist/toggle-group/index.d.ts +0 -21
  367. package/dist/upload/Upload.js +0 -205
  368. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  369. package/dist/upload/buttons-upload/Icons.js +0 -40
  370. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  371. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  372. package/dist/upload/file-upload/FileToUpload.js +0 -189
  373. package/dist/upload/file-upload/Icons.js +0 -66
  374. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  375. package/dist/upload/index.d.ts +0 -15
  376. package/dist/upload/transaction/Icons.js +0 -160
  377. package/dist/upload/transaction/Transaction.js +0 -148
  378. package/dist/upload/transactions/Transactions.js +0 -138
  379. package/dist/wizard/Icons.js +0 -65
  380. package/dist/wizard/Wizard.js +0 -405
  381. package/dist/wizard/index.d.ts +0 -18
  382. package/test/Accordion.test.js +0 -33
  383. package/test/AccordionGroup.test.js +0 -125
  384. package/test/Alert.test.js +0 -53
  385. package/test/Box.test.js +0 -10
  386. package/test/Button.test.js +0 -18
  387. package/test/Card.test.js +0 -30
  388. package/test/Checkbox.test.js +0 -45
  389. package/test/Chip.test.js +0 -25
  390. package/test/Date.test.js +0 -395
  391. package/test/DateInput.test.js +0 -242
  392. package/test/Dialog.test.js +0 -23
  393. package/test/Dropdown.test.js +0 -145
  394. package/test/FileInput.test.js +0 -201
  395. package/test/Footer.test.js +0 -94
  396. package/test/Header.test.js +0 -34
  397. package/test/Heading.test.js +0 -83
  398. package/test/InputText.test.js +0 -248
  399. package/test/Link.test.js +0 -43
  400. package/test/NumberInput.test.js +0 -259
  401. package/test/Paginator.test.js +0 -177
  402. package/test/PasswordInput.test.js +0 -83
  403. package/test/ProgressBar.test.js +0 -35
  404. package/test/Radio.test.js +0 -37
  405. package/test/ResultsetTable.test.js +0 -329
  406. package/test/Sidenav.test.js +0 -45
  407. package/test/Slider.test.js +0 -74
  408. package/test/Spinner.test.js +0 -32
  409. package/test/Switch.test.js +0 -45
  410. package/test/Table.test.js +0 -36
  411. package/test/Tabs.test.js +0 -109
  412. package/test/Tag.test.js +0 -32
  413. package/test/TextInput.test.js +0 -732
  414. package/test/Textarea.test.js +0 -193
  415. package/test/ToggleGroup.test.js +0 -85
  416. package/test/Upload.test.js +0 -60
  417. package/test/V3Select.test.js +0 -212
  418. package/test/V3TextArea.test.js +0 -51
  419. package/test/Wizard.test.js +0 -130
  420. package/test/mocks/pngMock.js +0 -1
  421. package/test/mocks/svgMock.js +0 -1
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -21,9 +19,7 @@ var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
23
 
28
24
  var _variables = require("../common/variables.js");
29
25
 
@@ -31,179 +27,65 @@ var _utils = require("../common/utils.js");
31
27
 
32
28
  var _uuid = require("uuid");
33
29
 
34
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
35
-
36
- var _NumberInputContext = _interopRequireDefault(require("../number-input/NumberInputContext.js"));
37
-
38
- function _templateObject17() {
39
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: calc((39px - 1.75em) / 2) 0 calc((39px - 1.75em) / 2) 1em;\n align-items: center;\n font-size: 0.875rem;\n line-height: 1.75em;\n"]);
40
-
41
- _templateObject17 = function _templateObject17() {
42
- return data;
43
- };
30
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
44
31
 
45
- return data;
46
- }
47
-
48
- function _templateObject16() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n color: ", ";\n\n svg {\n line-height: 1.75em;\n font-size: 0.875rem;\n }\n"]);
50
-
51
- _templateObject16 = function _templateObject16() {
52
- return data;
53
- };
54
-
55
- return data;
56
- }
57
-
58
- function _templateObject15() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: calc((39px - 1.75em) / 2) 0 calc((39px - 1.75em) / 2) 1em;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.75em;\n"]);
60
-
61
- _templateObject15 = function _templateObject15() {
62
- return data;
63
- };
32
+ var _NumberInputContext = _interopRequireDefault(require("../number-input/NumberInputContext"));
64
33
 
65
- return data;
66
- }
34
+ var _Suggestion = _interopRequireDefault(require("./Suggestion"));
67
35
 
68
- function _templateObject14() {
69
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: calc((39px - 1.75em) / 2) 0 calc((39px - 1.75em) / 2) 1em;\n line-height: 1.75em;\n list-style-type: none;\n cursor: pointer;\n\n ", "\n"]);
70
-
71
- _templateObject14 = function _templateObject14() {
72
- return data;
73
- };
74
-
75
- return data;
76
- }
77
-
78
- function _templateObject13() {
79
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: absolute;\n z-index: 1;\n max-height: 160px;\n overflow: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0;\n width: 100%;\n box-sizing: border-box;\n cursor: default;\n border-radius: 4px;\n border: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
80
-
81
- _templateObject13 = function _templateObject13() {
82
- return data;
83
- };
84
-
85
- return data;
86
- }
87
-
88
- function _templateObject12() {
89
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n"]);
90
-
91
- _templateObject12 = function _templateObject12() {
92
- return data;
93
- };
94
-
95
- return data;
96
- }
97
-
98
- function _templateObject11() {
99
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: calc(1rem * 0.25);\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"]);
100
-
101
- _templateObject11 = function _templateObject11() {
102
- return data;
103
- };
104
-
105
- return data;
106
- }
107
-
108
- function _templateObject10() {
109
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: calc(1rem * 1.5);\n line-height: calc(1rem * 1.5);\n margin: 0 calc(1rem * 0.25);\n padding: 0 0 0 calc(1rem * 0.5);\n ", ";\n font-family: ", ";\n font-size: 1rem;\n pointer-events: none;\n"]);
110
-
111
- _templateObject10 = function _templateObject10() {
112
- return data;
113
- };
114
-
115
- return data;
116
- }
117
-
118
- function _templateObject9() {
119
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: calc(1rem * 1.5);\n line-height: calc(1rem * 1.5);\n margin-left: calc(1rem * 0.25);\n padding: 0 calc(1rem * 0.5) 0 0;\n ", ";\n font-family: ", ";\n font-size: 1rem;\n pointer-events: none;\n"]);
120
-
121
- _templateObject9 = function _templateObject9() {
122
- return data;
123
- };
124
-
125
- return data;
126
- }
127
-
128
- function _templateObject8() {
129
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: calc(1rem * 0.25);\n ", "\n\n box-shadow: 0 0 0 2px transparent;\n background-color: ", ";\n\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
130
-
131
- _templateObject8 = function _templateObject8() {
132
- return data;
133
- };
134
-
135
- return data;
136
- }
137
-
138
- function _templateObject7() {
139
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"]);
140
-
141
- _templateObject7 = function _templateObject7() {
142
- return data;
143
- };
144
-
145
- return data;
146
- }
147
-
148
- function _templateObject6() {
149
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n width: 100%;\n background: none;\n border: none;\n outline: none;\n padding: 0 calc(1rem * 0.5);\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n ", "\n\n ::placeholder {\n color: ", ";\n }\n"]);
150
-
151
- _templateObject6 = function _templateObject6() {
152
- return data;
153
- };
154
-
155
- return data;
156
- }
157
-
158
- function _templateObject5() {
159
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n margin: calc(1rem * 0.25) 0;\n padding: 0 calc(1rem * 0.5);\n\n ", "\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"]);
160
-
161
- _templateObject5 = function _templateObject5() {
162
- return data;
163
- };
164
-
165
- return data;
166
- }
167
-
168
- function _templateObject4() {
169
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
170
-
171
- _templateObject4 = function _templateObject4() {
172
- return data;
173
- };
36
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
174
37
 
175
- return data;
176
- }
38
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
177
39
 
178
- function _templateObject3() {
179
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"]);
40
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
180
41
 
181
- _templateObject3 = function _templateObject3() {
182
- return data;
183
- };
184
-
185
- return data;
186
- }
187
-
188
- function _templateObject2() {
189
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
190
-
191
- _templateObject2 = function _templateObject2() {
192
- return data;
193
- };
194
-
195
- return data;
196
- }
197
-
198
- function _templateObject() {
199
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
200
-
201
- _templateObject = function _templateObject() {
202
- return data;
203
- };
204
-
205
- return data;
206
- }
42
+ var textInputIcons = {
43
+ error: /*#__PURE__*/_react["default"].createElement("svg", {
44
+ xmlns: "http://www.w3.org/2000/svg",
45
+ height: "24px",
46
+ viewBox: "0 0 24 24",
47
+ width: "24px",
48
+ fill: "currentColor"
49
+ }, /*#__PURE__*/_react["default"].createElement("path", {
50
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
51
+ })),
52
+ clear: /*#__PURE__*/_react["default"].createElement("svg", {
53
+ xmlns: "http://www.w3.org/2000/svg",
54
+ width: "24",
55
+ height: "24",
56
+ viewBox: "0 0 24 24",
57
+ fill: "currentColor"
58
+ }, /*#__PURE__*/_react["default"].createElement("path", {
59
+ d: "M0 0h24v24H0V0z",
60
+ fill: "none"
61
+ }), /*#__PURE__*/_react["default"].createElement("path", {
62
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
63
+ })),
64
+ increment: /*#__PURE__*/_react["default"].createElement("svg", {
65
+ xmlns: "http://www.w3.org/2000/svg",
66
+ height: "24px",
67
+ viewBox: "0 0 24 24",
68
+ width: "24px",
69
+ fill: "currentColor"
70
+ }, /*#__PURE__*/_react["default"].createElement("path", {
71
+ d: "M0 0h24v24H0z",
72
+ fill: "none"
73
+ }), /*#__PURE__*/_react["default"].createElement("path", {
74
+ d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
75
+ })),
76
+ decrement: /*#__PURE__*/_react["default"].createElement("svg", {
77
+ xmlns: "http://www.w3.org/2000/svg",
78
+ height: "24px",
79
+ viewBox: "0 0 24 24",
80
+ width: "24px",
81
+ fill: "currentColor"
82
+ }, /*#__PURE__*/_react["default"].createElement("path", {
83
+ d: "M0 0h24v24H0z",
84
+ fill: "none"
85
+ }), /*#__PURE__*/_react["default"].createElement("path", {
86
+ d: "M19 13H5v-2h14v2z"
87
+ }))
88
+ };
207
89
 
208
90
  var makeCancelable = function makeCancelable(promise) {
209
91
  var hasCanceled_ = false;
@@ -230,10 +112,6 @@ var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
230
112
  return "This field is required. Please, enter a value.";
231
113
  };
232
114
 
233
- var getLengthErrorMessage = function getLengthErrorMessage(length) {
234
- return "Min length ".concat(length.min, ", max length ").concat(length.max, ".");
235
- };
236
-
237
115
  var getPatternErrorMessage = function getPatternErrorMessage() {
238
116
  return "Please match the format requested.";
239
117
  };
@@ -242,16 +120,27 @@ var patternMatch = function patternMatch(pattern, value) {
242
120
  return new RegExp(pattern).test(value);
243
121
  };
244
122
 
245
- var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
246
- var _action$title;
123
+ var getLastOptionIndex = function getLastOptionIndex(filteredSuggestions) {
124
+ var last = 0;
125
+
126
+ var reducer = function reducer(acc, current) {
127
+ var _current$options;
128
+
129
+ return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
130
+ };
131
+
132
+ if (filteredSuggestions.length > 0) filteredSuggestions[0].options ? last = filteredSuggestions.reduce(reducer, 0) - 1 : last = filteredSuggestions.length - 1;
133
+ return last;
134
+ };
247
135
 
248
- var _ref$label = _ref.label,
249
- label = _ref$label === void 0 ? "" : _ref$label,
136
+ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
137
+ var label = _ref.label,
250
138
  _ref$name = _ref.name,
251
139
  name = _ref$name === void 0 ? "" : _ref$name,
140
+ _ref$defaultValue = _ref.defaultValue,
141
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
252
142
  value = _ref.value,
253
- _ref$helperText = _ref.helperText,
254
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
143
+ helperText = _ref.helperText,
255
144
  _ref$placeholder = _ref.placeholder,
256
145
  placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
257
146
  action = _ref.action,
@@ -267,11 +156,11 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
267
156
  suffix = _ref$suffix === void 0 ? "" : _ref$suffix,
268
157
  onChange = _ref.onChange,
269
158
  onBlur = _ref.onBlur,
270
- _ref$error = _ref.error,
271
- error = _ref$error === void 0 ? "" : _ref$error,
159
+ error = _ref.error,
272
160
  suggestions = _ref.suggestions,
273
161
  pattern = _ref.pattern,
274
- length = _ref.length,
162
+ minLength = _ref.minLength,
163
+ maxLength = _ref.maxLength,
275
164
  _ref$autocomplete = _ref.autocomplete,
276
165
  autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
277
166
  margin = _ref.margin,
@@ -280,49 +169,39 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
280
169
  _ref$tabIndex = _ref.tabIndex,
281
170
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
282
171
 
283
- var _useState = (0, _react.useState)(""),
284
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
285
- innerValue = _useState2[0],
286
- setInnerValue = _useState2[1];
172
+ var _useState = (0, _react.useState)("input-".concat((0, _uuid.v4)())),
173
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
174
+ inputId = _useState2[0];
287
175
 
288
- var _useState3 = (0, _react.useState)(false),
176
+ var _useState3 = (0, _react.useState)(defaultValue),
289
177
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
290
- isOpen = _useState4[0],
291
- changeIsOpen = _useState4[1];
178
+ innerValue = _useState4[0],
179
+ setInnerValue = _useState4[1];
292
180
 
293
181
  var _useState5 = (0, _react.useState)(false),
294
182
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
295
- isSearching = _useState6[0],
296
- changeIsSearching = _useState6[1];
183
+ isOpen = _useState6[0],
184
+ changeIsOpen = _useState6[1];
297
185
 
298
186
  var _useState7 = (0, _react.useState)(false),
299
187
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
300
- isScrollable = _useState8[0],
301
- changeIsScrollable = _useState8[1];
188
+ isSearching = _useState8[0],
189
+ changeIsSearching = _useState8[1];
302
190
 
303
191
  var _useState9 = (0, _react.useState)(false),
304
192
  _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
305
- isActiveSuggestion = _useState10[0],
306
- changeIsActiveSuggestion = _useState10[1];
193
+ isAutosuggestError = _useState10[0],
194
+ changeIsAutosuggestError = _useState10[1];
307
195
 
308
- var _useState11 = (0, _react.useState)(false),
196
+ var _useState11 = (0, _react.useState)([]),
309
197
  _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
310
- isAutosuggestError = _useState12[0],
311
- changeIsAutosuggestError = _useState12[1];
198
+ filteredSuggestions = _useState12[0],
199
+ changeFilteredSuggestions = _useState12[1];
312
200
 
313
- var _useState13 = (0, _react.useState)([]),
201
+ var _useState13 = (0, _react.useState)(-1),
314
202
  _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
315
- filteredSuggestions = _useState14[0],
316
- changeFilteredSuggestions = _useState14[1];
317
-
318
- var _useState15 = (0, _react.useState)(-1),
319
- _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
320
- visualFocusedSuggIndex = _useState16[0],
321
- changeVisualFocusedSuggIndex = _useState16[1];
322
-
323
- var _useState17 = (0, _react.useState)("input-".concat((0, _uuid.v4)())),
324
- _useState18 = (0, _slicedToArray2["default"])(_useState17, 1),
325
- inputId = _useState18[0];
203
+ visualFocusedSuggIndex = _useState14[0],
204
+ changeVisualFocusedSuggIndex = _useState14[1];
326
205
 
327
206
  var suggestionsRef = (0, _react.useRef)(null);
328
207
  var inputRef = (0, _react.useRef)(null);
@@ -330,15 +209,22 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
330
209
  var colorsTheme = (0, _useTheme["default"])();
331
210
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
332
211
  var autosuggestId = "".concat(inputId, "-listBox");
333
- var errorId = "error-message-".concat(inputId);
212
+ var errorId = "error-".concat(inputId);
334
213
  var numberInputContext = (0, _react.useContext)(_NumberInputContext["default"]);
214
+ var lastOptionIndex = (0, _react.useMemo)(function () {
215
+ return getLastOptionIndex(filteredSuggestions);
216
+ }, [filteredSuggestions]);
335
217
 
336
218
  var isNotOptional = function isNotOptional(value) {
337
219
  return value === "" && !optional;
338
220
  };
339
221
 
340
222
  var isLengthIncorrect = function isLengthIncorrect(value) {
341
- return value !== "" && length && length.min && length.max && (value.length < length.min || value.length > length.max);
223
+ return value && minLength && maxLength && (value.length < minLength || value.length > maxLength);
224
+ };
225
+
226
+ var getLengthErrorMessage = function getLengthErrorMessage() {
227
+ return "Min length ".concat(minLength, ", max length ").concat(maxLength, ".");
342
228
  };
343
229
 
344
230
  var isNumberIncorrect = function isNumberIncorrect(value) {
@@ -355,12 +241,12 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
355
241
  if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && parseInt(value) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) return "Value must be greater than or equal to ".concat(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber, ".");else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && parseInt(value) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) return "Value must be less than or equal to ".concat(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber, ".");
356
242
  };
357
243
 
358
- var hasInputSuggestions = function hasInputSuggestions() {
359
- return typeof suggestions === "function" || suggestions && suggestions.length > 0;
244
+ var hasSuggestions = function hasSuggestions() {
245
+ return typeof suggestions === "function" || (suggestions === null || suggestions === void 0 ? void 0 : suggestions.length) > 0;
360
246
  };
361
247
 
362
248
  var openSuggestions = function openSuggestions() {
363
- hasInputSuggestions() && changeIsOpen(true);
249
+ hasSuggestions() && changeIsOpen(true);
364
250
  };
365
251
 
366
252
  var closeSuggestions = function closeSuggestions() {
@@ -376,7 +262,7 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
376
262
  error: getNotOptionalErrorMessage()
377
263
  });else if (isLengthIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
378
264
  value: changedValue,
379
- error: getLengthErrorMessage(length)
265
+ error: getLengthErrorMessage()
380
266
  });else if (newValue && pattern && !patternMatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
381
267
  value: changedValue,
382
268
  error: getPatternErrorMessage()
@@ -384,8 +270,7 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
384
270
  value: changedValue,
385
271
  error: getNumberErrorMessage(newValue)
386
272
  });else onChange === null || onChange === void 0 ? void 0 : onChange({
387
- value: changedValue,
388
- error: null
273
+ value: changedValue
389
274
  });
390
275
  };
391
276
 
@@ -393,13 +278,14 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
393
278
  document.activeElement !== actionRef.current && inputRef.current.focus();
394
279
  };
395
280
 
396
- var handleIOnChange = function handleIOnChange(event) {
397
- openSuggestions();
398
- changeValue(event.target.value);
281
+ var handleInputContainerOnMouseDown = function handleInputContainerOnMouseDown(event) {
282
+ // Avoid input to lose the focus when the container is pressed
283
+ document.activeElement === inputRef.current && event.preventDefault();
399
284
  };
400
285
 
401
- var handleIOnClick = function handleIOnClick() {
286
+ var handleIOnChange = function handleIOnChange(event) {
402
287
  openSuggestions();
288
+ changeValue(event.target.value);
403
289
  };
404
290
 
405
291
  var handleIOnBlur = function handleIOnBlur(event) {
@@ -409,7 +295,7 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
409
295
  error: getNotOptionalErrorMessage()
410
296
  });else if (isLengthIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
411
297
  value: event.target.value,
412
- error: getLengthErrorMessage(length)
298
+ error: getLengthErrorMessage()
413
299
  });else if (event.target.value && pattern && !patternMatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
414
300
  value: event.target.value,
415
301
  error: getPatternErrorMessage()
@@ -417,20 +303,15 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
417
303
  value: event.target.value,
418
304
  error: getNumberErrorMessage(event.target.value)
419
305
  });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
420
- value: event.target.value,
421
- error: null
306
+ value: event.target.value
422
307
  });
423
308
  };
424
309
 
425
- var handleIOnFocus = function handleIOnFocus() {
426
- openSuggestions();
427
- };
428
-
429
310
  var handleIOnKeyDown = function handleIOnKeyDown(event) {
430
311
  switch (event.keyCode) {
431
312
  case 40:
432
313
  // Arrow Down
433
- if (numberInputContext) {
314
+ if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
434
315
  decrementNumber();
435
316
  event.preventDefault();
436
317
  } else {
@@ -441,8 +322,6 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
441
322
  changeVisualFocusedSuggIndex(function (visualFocusedSuggIndex) {
442
323
  if (visualFocusedSuggIndex < filteredSuggestions.length - 1) return visualFocusedSuggIndex + 1;else if (visualFocusedSuggIndex === filteredSuggestions.length - 1) return 0;
443
324
  });
444
- changeIsScrollable(true);
445
- changeIsActiveSuggestion(false);
446
325
  }
447
326
  }
448
327
 
@@ -450,7 +329,7 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
450
329
 
451
330
  case 38:
452
331
  // Arrow Up
453
- if (numberInputContext) {
332
+ if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
454
333
  incrementNumber();
455
334
  event.preventDefault();
456
335
  } else {
@@ -461,8 +340,6 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
461
340
  changeVisualFocusedSuggIndex(function (visualFocusedSuggIndex) {
462
341
  if (visualFocusedSuggIndex === 0 || visualFocusedSuggIndex === -1) return filteredSuggestions.length > 0 ? filteredSuggestions.length - 1 : suggestions.length - 1;else return visualFocusedSuggIndex - 1;
463
342
  });
464
- changeIsScrollable(true);
465
- changeIsActiveSuggestion(false);
466
343
  }
467
344
  }
468
345
 
@@ -472,7 +349,7 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
472
349
  // Esc
473
350
  event.preventDefault();
474
351
 
475
- if (hasInputSuggestions()) {
352
+ if (hasSuggestions()) {
476
353
  changeValue("");
477
354
  isOpen && closeSuggestions();
478
355
  }
@@ -481,7 +358,7 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
481
358
 
482
359
  case 13:
483
360
  // Enter
484
- if (hasInputSuggestions() && !isSearching) {
361
+ if (hasSuggestions() && !isSearching) {
485
362
  var validFocusedSuggestion = filteredSuggestions.length > 0 && visualFocusedSuggIndex >= 0 && visualFocusedSuggIndex < filteredSuggestions.length;
486
363
  validFocusedSuggestion && changeValue(filteredSuggestions[visualFocusedSuggIndex]);
487
364
  isOpen && closeSuggestions();
@@ -491,6 +368,22 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
491
368
  }
492
369
  };
493
370
 
371
+ var handleClearActionOnClick = function handleClearActionOnClick() {
372
+ changeValue("");
373
+ inputRef.current.focus();
374
+ suggestions && closeSuggestions();
375
+ };
376
+
377
+ var handleDecrementActionOnClick = function handleDecrementActionOnClick() {
378
+ decrementNumber();
379
+ inputRef.current.focus();
380
+ };
381
+
382
+ var handleIncrementActionOnClick = function handleIncrementActionOnClick() {
383
+ incrementNumber();
384
+ inputRef.current.focus();
385
+ };
386
+
494
387
  var setNumberProps = function setNumberProps(type, min, max, step) {
495
388
  var _inputRef$current3, _inputRef$current4, _inputRef$current5, _inputRef$current6;
496
389
 
@@ -500,72 +393,6 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
500
393
  step && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.setAttribute("step", step));
501
394
  };
502
395
 
503
- (0, _react.useLayoutEffect)(function () {
504
- var _suggestionsRef$curre;
505
-
506
- isScrollable && (suggestionsRef === null || suggestionsRef === void 0 ? void 0 : (_suggestionsRef$curre = suggestionsRef.current) === null || _suggestionsRef$curre === void 0 ? void 0 : _suggestionsRef$curre.scrollTo({
507
- top: visualFocusedSuggIndex * 39
508
- }));
509
- return changeIsScrollable(false);
510
- }, [isScrollable, visualFocusedSuggIndex]);
511
- (0, _react.useEffect)(function () {
512
- if (typeof suggestions === "function") {
513
- changeIsSearching(true);
514
- changeIsAutosuggestError(false);
515
- changeFilteredSuggestions([]);
516
- var cancelablePromise = makeCancelable(suggestions(value !== null && value !== void 0 ? value : innerValue));
517
- cancelablePromise.promise.then(function (promiseResponse) {
518
- changeIsSearching(false);
519
- changeIsAutosuggestError(false);
520
- changeFilteredSuggestions(promiseResponse);
521
- })["catch"](function (err) {
522
- if (!err.isCanceled) {
523
- changeIsSearching(false);
524
- changeIsAutosuggestError(true);
525
- }
526
- });
527
- return function () {
528
- cancelablePromise.cancel();
529
- };
530
- } else if (suggestions && suggestions.length) {
531
- changeFilteredSuggestions(suggestions.filter(function (suggestion) {
532
- return suggestion.toUpperCase().startsWith((value !== null && value !== void 0 ? value : innerValue).toUpperCase());
533
- }));
534
- changeVisualFocusedSuggIndex(-1);
535
- }
536
-
537
- numberInputContext && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
538
- }, [value, innerValue, suggestions]);
539
- var defaultClearAction = {
540
- onClick: function onClick() {
541
- changeValue("");
542
- inputRef.current.focus();
543
- suggestions && closeSuggestions();
544
- },
545
- icon: _react["default"].createElement("svg", {
546
- xmlns: "http://www.w3.org/2000/svg",
547
- width: "24",
548
- height: "24",
549
- viewBox: "0 0 24 24",
550
- fill: "currentColor"
551
- }, _react["default"].createElement("path", {
552
- d: "M0 0h24v24H0V0z",
553
- fill: "none"
554
- }), _react["default"].createElement("path", {
555
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
556
- }))
557
- };
558
-
559
- var errorIcon = _react["default"].createElement("svg", {
560
- xmlns: "http://www.w3.org/2000/svg",
561
- height: "24px",
562
- viewBox: "0 0 24 24",
563
- width: "24px",
564
- fill: "currentColor"
565
- }, _react["default"].createElement("path", {
566
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
567
- }));
568
-
569
396
  var decrementNumber = function decrementNumber() {
570
397
  var numberValue = value !== null && value !== void 0 ? value : innerValue;
571
398
 
@@ -606,178 +433,184 @@ var DxcTextInput = _react["default"].forwardRef(function (_ref, ref) {
606
433
  }
607
434
  };
608
435
 
609
- var decrementAction = {
610
- onClick: function onClick() {
611
- decrementNumber();
612
- inputRef.current.focus();
613
- },
614
- icon: _react["default"].createElement("svg", {
615
- xmlns: "http://www.w3.org/2000/svg",
616
- height: "24px",
617
- viewBox: "0 0 24 24",
618
- width: "24px",
619
- fill: "currentColor"
620
- }, _react["default"].createElement("path", {
621
- d: "M0 0h24v24H0z",
622
- fill: "none"
623
- }), _react["default"].createElement("path", {
624
- d: "M19 13H5v-2h14v2z"
625
- }))
626
- };
627
- var incrementAction = {
628
- onClick: function onClick() {
629
- incrementNumber();
630
- inputRef.current.focus();
631
- },
632
- icon: _react["default"].createElement("svg", {
633
- xmlns: "http://www.w3.org/2000/svg",
634
- height: "24px",
635
- viewBox: "0 0 24 24",
636
- width: "24px",
637
- fill: "currentColor"
638
- }, _react["default"].createElement("path", {
639
- d: "M0 0h24v24H0z",
640
- fill: "none"
641
- }), _react["default"].createElement("path", {
642
- d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
643
- }))
644
- };
436
+ (0, _react.useLayoutEffect)(function () {
437
+ var _suggestionsRef$curre, _visualFocusedOptionE;
645
438
 
646
- var HighlightedSuggestion = function HighlightedSuggestion(_ref2) {
647
- var suggestion = _ref2.suggestion,
648
- index = _ref2.index;
649
- var regEx = new RegExp(value !== null && value !== void 0 ? value : innerValue, "i");
650
- var matchedWords = suggestion.match(regEx);
651
- var noMatchedWords = suggestion.replace(regEx, "");
652
- return _react["default"].createElement(Suggestion, {
653
- id: "suggestion-".concat(index),
654
- onMouseDown: function onMouseDown(event) {
655
- event.button === 0 && changeIsActiveSuggestion(true);
656
- },
657
- onMouseUp: function onMouseUp(event) {
658
- if (event.button === 0 && isActiveSuggestion) {
659
- changeValue(suggestion);
660
- changeIsActiveSuggestion(false);
661
- closeSuggestions();
439
+ var visualFocusedOptionEl = suggestionsRef === null || suggestionsRef === void 0 ? void 0 : (_suggestionsRef$curre = suggestionsRef.current) === null || _suggestionsRef$curre === void 0 ? void 0 : _suggestionsRef$curre.querySelectorAll("[role='option']")[visualFocusedSuggIndex];
440
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
441
+ block: "nearest",
442
+ inline: "start"
443
+ });
444
+ }, [visualFocusedSuggIndex]);
445
+ (0, _react.useEffect)(function () {
446
+ if (typeof suggestions === "function") {
447
+ changeIsSearching(true);
448
+ changeIsAutosuggestError(false);
449
+ changeFilteredSuggestions([]);
450
+ var cancelablePromise = makeCancelable(suggestions(value !== null && value !== void 0 ? value : innerValue));
451
+ cancelablePromise.promise.then(function (promiseResponse) {
452
+ changeIsSearching(false);
453
+ changeIsAutosuggestError(false);
454
+ changeFilteredSuggestions(promiseResponse);
455
+ })["catch"](function (err) {
456
+ if (!err.isCanceled) {
457
+ changeIsSearching(false);
458
+ changeIsAutosuggestError(true);
662
459
  }
663
- },
664
- onMouseEnter: function onMouseEnter() {
665
- changeVisualFocusedSuggIndex(index);
666
- },
667
- onMouseLeave: function onMouseLeave() {
668
- changeIsActiveSuggestion(false);
669
- },
670
- visualFocused: visualFocusedSuggIndex === index,
671
- active: visualFocusedSuggIndex === index && isActiveSuggestion,
672
- role: "option",
673
- "aria-selected": visualFocusedSuggIndex === index && "true"
674
- }, typeof suggestions === "function" ? suggestion : _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement("strong", null, matchedWords), noMatchedWords));
675
- };
460
+ });
461
+ return function () {
462
+ cancelablePromise.cancel();
463
+ };
464
+ } else if ((suggestions === null || suggestions === void 0 ? void 0 : suggestions.length) > 0) {
465
+ changeFilteredSuggestions(suggestions.filter(function (suggestion) {
466
+ return suggestion.toUpperCase().startsWith((value !== null && value !== void 0 ? value : innerValue).toUpperCase());
467
+ }));
468
+ changeVisualFocusedSuggIndex(-1);
469
+ }
676
470
 
677
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
471
+ (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
472
+ }, [value, innerValue, suggestions, numberInputContext]);
473
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
678
474
  theme: colorsTheme.textInput
679
- }, _react["default"].createElement(DxcInput, {
475
+ }, /*#__PURE__*/_react["default"].createElement(TextInputContainer, {
680
476
  margin: margin,
681
- ref: ref,
682
- size: size
683
- }, _react["default"].createElement(Label, {
477
+ size: size,
478
+ ref: ref
479
+ }, label && /*#__PURE__*/_react["default"].createElement(Label, {
684
480
  htmlFor: inputId,
685
481
  disabled: disabled,
686
- backgroundType: backgroundType
687
- }, label, " ", optional && _react["default"].createElement(OptionalLabel, null, "(Optional)")), _react["default"].createElement(HelperText, {
482
+ backgroundType: backgroundType,
483
+ hasHelperText: helperText ? true : false
484
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
688
485
  disabled: disabled,
689
486
  backgroundType: backgroundType
690
- }, helperText), _react["default"].createElement(InputContainer, {
691
- error: error,
487
+ }, helperText), /*#__PURE__*/_react["default"].createElement(InputContainer, {
488
+ error: error ? true : false,
692
489
  disabled: disabled,
693
490
  backgroundType: backgroundType,
694
- onClick: handleInputContainerOnClick
695
- }, prefix && _react["default"].createElement(Prefix, {
491
+ onClick: handleInputContainerOnClick,
492
+ onMouseDown: handleInputContainerOnMouseDown
493
+ }, prefix && /*#__PURE__*/_react["default"].createElement(Prefix, {
696
494
  disabled: disabled,
697
495
  backgroundType: backgroundType
698
- }, prefix), _react["default"].createElement(Input, {
496
+ }, prefix), /*#__PURE__*/_react["default"].createElement(Input, {
699
497
  id: inputId,
700
498
  name: name,
701
499
  value: value !== null && value !== void 0 ? value : innerValue,
702
500
  placeholder: placeholder,
703
- onChange: handleIOnChange,
704
- onClick: handleIOnClick,
705
501
  onBlur: handleIOnBlur,
706
- onFocus: handleIOnFocus,
502
+ onChange: handleIOnChange,
503
+ onFocus: function onFocus() {
504
+ openSuggestions();
505
+ },
707
506
  onKeyDown: handleIOnKeyDown,
507
+ onMouseDown: function onMouseDown(event) {
508
+ event.stopPropagation();
509
+ },
708
510
  disabled: disabled,
709
511
  ref: inputRef,
710
512
  backgroundType: backgroundType,
711
513
  pattern: pattern,
712
- minLength: length === null || length === void 0 ? void 0 : length.min,
713
- maxLength: length === null || length === void 0 ? void 0 : length.max,
514
+ minLength: minLength,
515
+ maxLength: maxLength,
714
516
  autoComplete: autocomplete,
715
517
  tabIndex: tabIndex,
716
- role: isTextInputType() && hasInputSuggestions() ? "combobox" : "textbox",
717
- "aria-autocomplete": isTextInputType() && hasInputSuggestions() ? "list" : undefined,
718
- "aria-controls": isTextInputType() && hasInputSuggestions() ? inputId : undefined,
719
- "aria-expanded": isTextInputType() && hasInputSuggestions() ? isOpen ? "true" : "false" : undefined,
720
- "aria-activedescendant": isTextInputType() && hasInputSuggestions() && isOpen && visualFocusedSuggIndex !== -1 ? "suggestion-".concat(visualFocusedSuggIndex) : undefined,
518
+ role: isTextInputType() && hasSuggestions() ? "combobox" : "textbox",
519
+ "aria-autocomplete": isTextInputType() && hasSuggestions() ? "list" : undefined,
520
+ "aria-controls": isTextInputType() && hasSuggestions() ? autosuggestId : undefined,
521
+ "aria-disabled": disabled,
522
+ "aria-expanded": isTextInputType() && hasSuggestions() ? isOpen ? "true" : "false" : undefined,
523
+ "aria-activedescendant": isTextInputType() && hasSuggestions() && isOpen && visualFocusedSuggIndex !== -1 ? "suggestion-".concat(visualFocusedSuggIndex) : undefined,
721
524
  "aria-invalid": error ? "true" : "false",
722
- "aria-describedby": error ? errorId : undefined,
525
+ "aria-errormessage": error ? errorId : undefined,
723
526
  "aria-required": optional ? "false" : "true"
724
- }), !disabled && error && _react["default"].createElement(ErrorIcon, {
527
+ }), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
725
528
  backgroundType: backgroundType,
726
529
  "aria-label": "Error"
727
- }, errorIcon), !disabled && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && _react["default"].createElement(Action, {
728
- onClick: defaultClearAction.onClick,
530
+ }, textInputIcons.error), !disabled && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
531
+ onClick: function onClick() {
532
+ return handleClearActionOnClick();
533
+ },
534
+ onMouseDown: function onMouseDown(event) {
535
+ event.stopPropagation();
536
+ },
729
537
  backgroundType: backgroundType,
730
538
  tabIndex: tabIndex,
731
- "aria-label": "Clear"
732
- }, defaultClearAction.icon), (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(Action, {
539
+ title: "Clear field",
540
+ "aria-label": "Clear field"
541
+ }, textInputIcons.clear), (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Action, {
733
542
  ref: actionRef,
734
543
  disabled: disabled,
735
- onClick: decrementAction.onClick,
544
+ onClick: function onClick() {
545
+ return handleDecrementActionOnClick();
546
+ },
547
+ onMouseDown: function onMouseDown(event) {
548
+ event.stopPropagation();
549
+ },
736
550
  backgroundType: backgroundType,
737
551
  tabIndex: tabIndex,
738
- "aria-label": "Decrement"
739
- }, decrementAction.icon), _react["default"].createElement(Action, {
552
+ title: "Decrement value",
553
+ "aria-label": "Decrement value"
554
+ }, textInputIcons.decrement), /*#__PURE__*/_react["default"].createElement(Action, {
740
555
  ref: actionRef,
741
556
  disabled: disabled,
742
- onClick: incrementAction.onClick,
557
+ onClick: function onClick() {
558
+ return handleIncrementActionOnClick();
559
+ },
560
+ onMouseDown: function onMouseDown(event) {
561
+ event.stopPropagation();
562
+ },
743
563
  backgroundType: backgroundType,
744
564
  tabIndex: tabIndex,
745
- "aria-label": "Increment"
746
- }, incrementAction.icon)) : action && _react["default"].createElement(Action, {
565
+ title: "Increment value",
566
+ "aria-label": "Increment value"
567
+ }, textInputIcons.increment)) : action && /*#__PURE__*/_react["default"].createElement(Action, {
747
568
  ref: actionRef,
748
569
  disabled: disabled,
749
- onClick: action.onClick,
750
- title: (_action$title = action.title) !== null && _action$title !== void 0 ? _action$title : action.title,
570
+ onClick: function onClick() {
571
+ return action.onClick();
572
+ },
573
+ onMouseDown: function onMouseDown(event) {
574
+ event.stopPropagation();
575
+ },
576
+ title: action.title,
577
+ "aria-label": action.title,
751
578
  backgroundType: backgroundType,
752
579
  tabIndex: tabIndex
753
- }, typeof action.icon === "string" ? _react["default"].createElement(ActionIcon, {
580
+ }, typeof action.icon === "string" ? /*#__PURE__*/_react["default"].createElement(ActionIcon, {
754
581
  src: action.icon
755
- }) : action.icon), suffix && _react["default"].createElement(Suffix, {
582
+ }) : action.icon), suffix && /*#__PURE__*/_react["default"].createElement(Suffix, {
756
583
  disabled: disabled,
757
584
  backgroundType: backgroundType
758
- }, suffix), isOpen && _react["default"].createElement(Suggestions, {
585
+ }, suffix), isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError) && /*#__PURE__*/_react["default"].createElement(Suggestions, {
759
586
  id: autosuggestId,
760
- isError: isAutosuggestError,
587
+ error: isAutosuggestError ? true : false,
761
588
  onMouseDown: function onMouseDown(event) {
762
589
  event.preventDefault();
763
590
  },
764
- onMouseLeave: function onMouseLeave() {
765
- changeVisualFocusedSuggIndex(-1);
766
- },
767
591
  ref: suggestionsRef,
768
592
  role: "listbox",
769
593
  "aria-label": label
770
- }, !isSearching && !isAutosuggestError && filteredSuggestions.length === 0 && _react["default"].createElement(SuggestionsSystemMessage, null, "No results found"), !isSearching && !isAutosuggestError && filteredSuggestions.length > 0 && filteredSuggestions.map(function (suggestion, index) {
771
- return _react["default"].createElement(HighlightedSuggestion, {
772
- key: "suggestion-".concat((0, _uuid.v4)()),
594
+ }, !isSearching && !isAutosuggestError && filteredSuggestions.length > 0 && filteredSuggestions.map(function (suggestion, index) {
595
+ return /*#__PURE__*/_react["default"].createElement(_Suggestion["default"], {
596
+ key: "suggestion-".concat(index),
597
+ id: "suggestion-".concat(index),
598
+ value: value !== null && value !== void 0 ? value : innerValue,
599
+ onClick: function onClick() {
600
+ changeValue(suggestion);
601
+ closeSuggestions();
602
+ },
773
603
  suggestion: suggestion,
774
- index: index
604
+ isLast: index === lastOptionIndex,
605
+ visuallyFocused: visualFocusedSuggIndex === index,
606
+ highlighted: typeof suggestions === "function"
775
607
  });
776
- }), isSearching && _react["default"].createElement(SuggestionsSystemMessage, null, "Searching..."), isAutosuggestError && _react["default"].createElement(SuggestionsError, null, _react["default"].createElement(SuggestionsErrorIcon, {
608
+ }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, "Searching..."), isAutosuggestError && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, {
777
609
  backgroundType: backgroundType
778
- }, errorIcon), "Error fetching data"))), !disabled && _react["default"].createElement(Error, {
610
+ }, textInputIcons.error), "Error fetching data"))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
779
611
  id: errorId,
780
- backgroundType: backgroundType
612
+ backgroundType: backgroundType,
613
+ "aria-live": error ? "assertive" : "off"
781
614
  }, error)));
782
615
  });
783
616
 
@@ -792,7 +625,7 @@ var calculateWidth = function calculateWidth(margin, size) {
792
625
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
793
626
  };
794
627
 
795
- var DxcInput = _styledComponents["default"].div(_templateObject(), function (props) {
628
+ var TextInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
796
629
  return calculateWidth(props.margin, props.size);
797
630
  }, function (props) {
798
631
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -806,7 +639,7 @@ var DxcInput = _styledComponents["default"].div(_templateObject(), function (pro
806
639
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
807
640
  });
808
641
 
809
- var Label = _styledComponents["default"].label(_templateObject2(), function (props) {
642
+ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
810
643
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
811
644
  }, function (props) {
812
645
  return props.theme.fontFamily;
@@ -818,13 +651,15 @@ var Label = _styledComponents["default"].label(_templateObject2(), function (pro
818
651
  return props.theme.labelFontWeight;
819
652
  }, function (props) {
820
653
  return props.theme.labelLineHeight;
654
+ }, function (props) {
655
+ return !props.hasHelperText && "margin-bottom: 0.25rem";
821
656
  });
822
657
 
823
- var OptionalLabel = _styledComponents["default"].span(_templateObject3(), function (props) {
658
+ var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
824
659
  return props.theme.optionalLabelFontWeight;
825
660
  });
826
661
 
827
- var HelperText = _styledComponents["default"].span(_templateObject4(), function (props) {
662
+ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
828
663
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
829
664
  }, function (props) {
830
665
  return props.theme.fontFamily;
@@ -838,7 +673,7 @@ var HelperText = _styledComponents["default"].span(_templateObject4(), function
838
673
  return props.theme.helperTextLineHeight;
839
674
  });
840
675
 
841
- var InputContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
676
+ var InputContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n\n ", "\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
842
677
  if (props.disabled) return props.backgroundType === "dark" ? "background-color: ".concat(props.theme.disabledContainerFillColorOnDark, ";") : "background-color: ".concat(props.theme.disabledContainerFillColor, ";");
843
678
  }, function (props) {
844
679
  if (props.disabled) return props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;else return props.backgroundType === "dark" ? props.theme.enabledBorderColorOnDark : props.theme.enabledBorderColor;
@@ -850,7 +685,7 @@ var InputContainer = _styledComponents["default"].div(_templateObject5(), functi
850
685
  return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.hoverErrorBorderColorOnDark : props.theme.hoverErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n ");
851
686
  });
852
687
 
853
- var Input = _styledComponents["default"].input(_templateObject6(), function (props) {
688
+ var Input = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n height: calc(2.5rem - 2px);\n width: 100%;\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n ", "\n\n ::placeholder {\n color: ", ";\n }\n"])), function (props) {
854
689
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledValueFontColorOnDark : props.theme.disabledValueFontColor : props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
855
690
  }, function (props) {
856
691
  return props.theme.fontFamily;
@@ -866,9 +701,9 @@ var Input = _styledComponents["default"].input(_templateObject6(), function (pro
866
701
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPlaceholderFontColorOnDark : props.theme.disabledPlaceholderFontColor : props.backgroundType === "dark" ? props.theme.placeholderFontColorOnDark : props.theme.placeholderFontColor;
867
702
  });
868
703
 
869
- var ActionIcon = _styledComponents["default"].img(_templateObject7());
704
+ var ActionIcon = _styledComponents["default"].img(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
870
705
 
871
- var Action = _styledComponents["default"].button(_templateObject8(), function (props) {
706
+ var Action = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n ", "\n\n box-shadow: 0 0 0 2px transparent;\n background-color: ", ";\n\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"])), function (props) {
872
707
  return props.theme.fontFamily;
873
708
  }, function (props) {
874
709
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
@@ -877,37 +712,37 @@ var Action = _styledComponents["default"].button(_templateObject8(), function (p
877
712
  }, function (props) {
878
713
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledActionIconColorOnDark : props.theme.disabledActionIconColor : props.backgroundType === "dark" ? props.theme.actionIconColorOnDark : props.theme.actionIconColor;
879
714
  }, function (props) {
880
- return !props.disabled && "\n &:hover {\n background-color: ".concat(props.backgroundType === "dark" ? props.theme.hoverActionBackgroundColorOnDark : props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.hoverActionIconColorOnDark : props.theme.hoverActionIconColor, ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ").concat(props.backgroundType === "dark" ? props.theme.focusActionBorderColorOnDark : props.theme.focusActionBorderColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.focusActionIconColorOnDark : props.theme.focusActionIconColor, ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ").concat(props.backgroundType === "dark" ? props.theme.focusActionBorderColorOnDark : props.theme.focusActionBorderColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.focusActionIconColorOnDark : props.theme.focusActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionBackgroundColorOnDark : props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionIconColorOnDark : props.theme.activeActionIconColor, ";\n }\n ");
715
+ return !props.disabled && "\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.focusActionBorderColorOnDark : props.theme.focusActionBorderColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.focusActionIconColorOnDark : props.theme.focusActionIconColor, ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ").concat(props.backgroundType === "dark" ? props.theme.focusActionBorderColorOnDark : props.theme.focusActionBorderColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.focusActionIconColorOnDark : props.theme.focusActionIconColor, ";\n }\n &:hover {\n background-color: ").concat(props.backgroundType === "dark" ? props.theme.hoverActionBackgroundColorOnDark : props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.hoverActionIconColorOnDark : props.theme.hoverActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionBackgroundColorOnDark : props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionIconColorOnDark : props.theme.activeActionIconColor, ";\n }\n ");
881
716
  });
882
717
 
883
- var Prefix = _styledComponents["default"].span(_templateObject9(), function (props) {
718
+ var Prefix = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n line-height: 1.5rem;\n margin-left: 0.25rem;\n padding: 0 0.5rem 0 0;\n ", ";\n font-family: ", ";\n font-size: 1rem;\n pointer-events: none;\n"])), function (props) {
884
719
  var color = props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPrefixColorOnDark : props.theme.disabledPrefixColor : props.backgroundType === "dark" ? props.theme.prefixColorOnDark : props.theme.prefixColor;
885
720
  return "color: ".concat(color, "; border-right: 1px solid ").concat(color, ";");
886
721
  }, function (props) {
887
722
  return props.theme.fontFamily;
888
723
  });
889
724
 
890
- var Suffix = _styledComponents["default"].span(_templateObject10(), function (props) {
725
+ var Suffix = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n line-height: 1.5rem;\n margin: 0 0.25rem;\n padding: 0 0 0 0.5rem;\n ", ";\n font-family: ", ";\n font-size: 1rem;\n pointer-events: none;\n"])), function (props) {
891
726
  var color = props.disabled ? props.backgroundType === "dark" ? props.theme.disabledSuffixColorOnDark : props.theme.disabledSuffixColor : props.backgroundType === "dark" ? props.theme.suffixColorOnDark : props.theme.suffixColor;
892
727
  return "color: ".concat(color, "; border-left: 1px solid ").concat(color, ";");
893
728
  }, function (props) {
894
729
  return props.theme.fontFamily;
895
730
  });
896
731
 
897
- var ErrorIcon = _styledComponents["default"].span(_templateObject11(), function (props) {
732
+ var ErrorIcon = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
898
733
  return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
899
734
  });
900
735
 
901
- var Error = _styledComponents["default"].span(_templateObject12(), function (props) {
736
+ var Error = _styledComponents["default"].span(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
902
737
  return props.backgroundType === "dark" ? props.theme.errorMessageColorOnDark : props.theme.errorMessageColor;
903
738
  }, function (props) {
904
739
  return props.theme.fontFamily;
905
740
  });
906
741
 
907
- var Suggestions = _styledComponents["default"].ul(_templateObject13(), function (props) {
908
- return props.isError ? props.theme.errorMessageBackgroundColor : "#ffffff";
742
+ var Suggestions = _styledComponents["default"].ul(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-y: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0.25rem 0;\n width: 100%;\n background-color: ", ";\n border: 1px solid\n ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
743
+ return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
909
744
  }, function (props) {
910
- return props.isError ? props.theme.errorMessageBorderColor : props.theme.enabledBorderColor;
745
+ return props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
911
746
  }, function (props) {
912
747
  return props.theme.listOptionFontColor;
913
748
  }, function (props) {
@@ -920,55 +755,17 @@ var Suggestions = _styledComponents["default"].ul(_templateObject13(), function
920
755
  return props.theme.listOptionFontWeight;
921
756
  });
922
757
 
923
- var Suggestion = _styledComponents["default"].li(_templateObject14(), function (props) {
924
- return props.active ? "background-color: ".concat(props.theme.activeListOptionBackgroundColor, ";") : props.visualFocused && "background-color: ".concat(props.theme.hoverListOptionBackgroundColor, ";");
925
- });
926
-
927
- var SuggestionsSystemMessage = _styledComponents["default"].span(_templateObject15(), function (props) {
758
+ var SuggestionsSystemMessage = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n color: ", ";\n line-height: 1.715em;\n"])), function (props) {
928
759
  return props.theme.systemMessageFontColor;
929
760
  });
930
761
 
931
- var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject16(), function (props) {
762
+ var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n color: ", ";\n"])), function (props) {
932
763
  return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
933
764
  });
934
765
 
935
- var SuggestionsError = _styledComponents["default"].span(_templateObject17());
936
-
937
- DxcTextInput.propTypes = {
938
- label: _propTypes["default"].string,
939
- name: _propTypes["default"].string,
940
- value: _propTypes["default"].string,
941
- helperText: _propTypes["default"].string,
942
- placeholder: _propTypes["default"].string,
943
- action: _propTypes["default"].shape({
944
- onClick: _propTypes["default"].func.isRequired,
945
- icon: _propTypes["default"].oneOfType([_propTypes["default"].shape({
946
- type: _propTypes["default"].oneOf(["svg"])
947
- }), _propTypes["default"].string]).isRequired
948
- }),
949
- clearable: _propTypes["default"].bool,
950
- disabled: _propTypes["default"].bool,
951
- optional: _propTypes["default"].bool,
952
- prefix: _propTypes["default"].string,
953
- suffix: _propTypes["default"].string,
954
- onChange: _propTypes["default"].func,
955
- onBlur: _propTypes["default"].func,
956
- error: _propTypes["default"].string,
957
- autocomplete: _propTypes["default"].string,
958
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
959
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
960
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
961
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
962
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
963
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
964
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
965
- suggestions: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].array]),
966
- pattern: _propTypes["default"].string,
967
- length: _propTypes["default"].shape({
968
- min: _propTypes["default"].number,
969
- max: _propTypes["default"].number
970
- }),
971
- tabIndex: _propTypes["default"].number
972
- };
766
+ var SuggestionsError = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n align-items: center;\n line-height: 1.715em;\n color: ", ";\n"])), function (props) {
767
+ return props.theme.errorListDialogFontColor;
768
+ });
769
+
973
770
  var _default = DxcTextInput;
974
771
  exports["default"] = _default;