@dxc-technology/halstack-react 0.0.0-ebb089f → 0.0.0-ebf4fe2

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 (438) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -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 +169 -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 +43 -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 +61 -0
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -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/box/Box.js +116 -0
  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 +161 -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 +52 -94
  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 +302 -406
  77. package/date-input/DateInput.d.ts +4 -0
  78. package/{dist/date-input → date-input}/DateInput.js +80 -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 +593 -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 +185 -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 +16 -16
  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 +303 -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/inline/Inline.d.ts +4 -0
  126. package/inline/Inline.js +60 -0
  127. package/inline/Inline.stories.tsx +305 -0
  128. package/inline/types.d.ts +36 -0
  129. package/inline/types.js +5 -0
  130. package/inset/Inset.d.ts +3 -0
  131. package/inset/Inset.js +51 -0
  132. package/inset/Inset.stories.tsx +229 -0
  133. package/inset/types.d.ts +37 -0
  134. package/inset/types.js +5 -0
  135. package/layout/ApplicationLayout.d.ts +11 -0
  136. package/layout/ApplicationLayout.js +199 -0
  137. package/layout/ApplicationLayout.stories.tsx +126 -0
  138. package/layout/Icons.d.ts +5 -0
  139. package/{dist/layout → layout}/Icons.js +19 -8
  140. package/layout/SidenavContext.d.ts +5 -0
  141. package/layout/SidenavContext.js +19 -0
  142. package/layout/types.d.ts +52 -0
  143. package/layout/types.js +5 -0
  144. package/link/Link.d.ts +4 -0
  145. package/link/Link.js +136 -0
  146. package/link/Link.stories.tsx +186 -0
  147. package/link/Link.test.js +83 -0
  148. package/link/types.d.ts +54 -0
  149. package/link/types.js +5 -0
  150. package/list/List.d.ts +4 -0
  151. package/list/List.js +47 -0
  152. package/list/List.stories.tsx +89 -0
  153. package/list/types.d.ts +7 -0
  154. package/list/types.js +5 -0
  155. package/main.d.ts +48 -0
  156. package/{dist/main.js → main.js} +138 -96
  157. package/number-input/NumberInput.d.ts +4 -0
  158. package/number-input/NumberInput.js +76 -0
  159. package/number-input/NumberInput.stories.tsx +115 -0
  160. package/number-input/NumberInput.test.js +506 -0
  161. package/number-input/NumberInputContext.d.ts +4 -0
  162. package/{dist/number-input → number-input}/NumberInputContext.js +5 -2
  163. package/number-input/numberInputContextTypes.d.ts +19 -0
  164. package/number-input/numberInputContextTypes.js +5 -0
  165. package/number-input/types.d.ts +124 -0
  166. package/number-input/types.js +5 -0
  167. package/package.json +27 -20
  168. package/{dist/paginator → paginator}/Icons.js +9 -9
  169. package/paginator/Paginator.d.ts +4 -0
  170. package/paginator/Paginator.js +171 -0
  171. package/paginator/Paginator.stories.tsx +63 -0
  172. package/paginator/Paginator.test.js +308 -0
  173. package/paginator/types.d.ts +38 -0
  174. package/paginator/types.js +5 -0
  175. package/password-input/PasswordInput.d.ts +4 -0
  176. package/{dist/password-input → password-input}/PasswordInput.js +40 -77
  177. package/password-input/PasswordInput.stories.tsx +131 -0
  178. package/password-input/PasswordInput.test.js +180 -0
  179. package/password-input/types.d.ts +110 -0
  180. package/password-input/types.js +5 -0
  181. package/progress-bar/ProgressBar.d.ts +4 -0
  182. package/{dist/progress-bar → progress-bar}/ProgressBar.js +23 -95
  183. package/progress-bar/ProgressBar.stories.jsx +58 -0
  184. package/progress-bar/ProgressBar.test.js +65 -0
  185. package/progress-bar/types.d.ts +37 -0
  186. package/progress-bar/types.js +5 -0
  187. package/quick-nav/QuickNav.d.ts +4 -0
  188. package/quick-nav/QuickNav.js +116 -0
  189. package/quick-nav/QuickNav.stories.tsx +237 -0
  190. package/quick-nav/types.d.ts +21 -0
  191. package/quick-nav/types.js +5 -0
  192. package/radio-group/Radio.d.ts +4 -0
  193. package/radio-group/Radio.js +141 -0
  194. package/radio-group/RadioGroup.d.ts +4 -0
  195. package/radio-group/RadioGroup.js +282 -0
  196. package/radio-group/RadioGroup.stories.tsx +100 -0
  197. package/radio-group/RadioGroup.test.js +695 -0
  198. package/radio-group/types.d.ts +114 -0
  199. package/radio-group/types.js +5 -0
  200. package/resultsetTable/ResultsetTable.d.ts +4 -0
  201. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +43 -147
  202. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  203. package/resultsetTable/ResultsetTable.test.js +348 -0
  204. package/resultsetTable/types.d.ts +67 -0
  205. package/resultsetTable/types.js +5 -0
  206. package/row/Row.d.ts +3 -0
  207. package/row/Row.js +127 -0
  208. package/row/Row.stories.tsx +237 -0
  209. package/row/types.d.ts +28 -0
  210. package/row/types.js +5 -0
  211. package/select/Icons.d.ts +10 -0
  212. package/select/Icons.js +93 -0
  213. package/select/Listbox.d.ts +4 -0
  214. package/select/Listbox.js +175 -0
  215. package/select/Option.d.ts +4 -0
  216. package/select/Option.js +110 -0
  217. package/select/Select.d.ts +4 -0
  218. package/select/Select.js +660 -0
  219. package/select/Select.stories.tsx +626 -0
  220. package/select/Select.test.js +2162 -0
  221. package/select/types.d.ts +212 -0
  222. package/select/types.js +5 -0
  223. package/sidenav/Sidenav.d.ts +9 -0
  224. package/sidenav/Sidenav.js +147 -0
  225. package/sidenav/Sidenav.stories.tsx +182 -0
  226. package/sidenav/Sidenav.test.js +56 -0
  227. package/sidenav/types.d.ts +50 -0
  228. package/sidenav/types.js +5 -0
  229. package/slider/Slider.d.ts +4 -0
  230. package/{dist/slider → slider}/Slider.js +76 -162
  231. package/slider/Slider.stories.tsx +177 -0
  232. package/slider/Slider.test.js +150 -0
  233. package/slider/types.d.ts +82 -0
  234. package/slider/types.js +5 -0
  235. package/spinner/Spinner.d.ts +4 -0
  236. package/spinner/Spinner.js +250 -0
  237. package/spinner/Spinner.stories.jsx +103 -0
  238. package/spinner/Spinner.test.js +64 -0
  239. package/spinner/types.d.ts +32 -0
  240. package/spinner/types.js +5 -0
  241. package/stack/Stack.d.ts +4 -0
  242. package/stack/Stack.js +52 -0
  243. package/stack/Stack.stories.tsx +225 -0
  244. package/stack/types.d.ts +28 -0
  245. package/stack/types.js +5 -0
  246. package/switch/Switch.d.ts +4 -0
  247. package/switch/Switch.js +195 -0
  248. package/switch/Switch.stories.tsx +160 -0
  249. package/switch/Switch.test.js +98 -0
  250. package/switch/types.d.ts +62 -0
  251. package/switch/types.js +5 -0
  252. package/table/Table.d.ts +4 -0
  253. package/{dist/table → table}/Table.js +12 -26
  254. package/table/Table.stories.jsx +277 -0
  255. package/table/Table.test.js +26 -0
  256. package/table/types.d.ts +21 -0
  257. package/table/types.js +5 -0
  258. package/tabs/Tabs.d.ts +4 -0
  259. package/tabs/Tabs.js +211 -0
  260. package/tabs/Tabs.stories.tsx +112 -0
  261. package/tabs/Tabs.test.js +140 -0
  262. package/tabs/types.d.ts +82 -0
  263. package/tabs/types.js +5 -0
  264. package/tabs-nav/NavTabs.d.ts +8 -0
  265. package/tabs-nav/NavTabs.js +125 -0
  266. package/tabs-nav/NavTabs.stories.tsx +170 -0
  267. package/tabs-nav/NavTabs.test.js +82 -0
  268. package/tabs-nav/Tab.d.ts +4 -0
  269. package/tabs-nav/Tab.js +132 -0
  270. package/tabs-nav/types.d.ts +53 -0
  271. package/tabs-nav/types.js +5 -0
  272. package/tag/Tag.d.ts +4 -0
  273. package/tag/Tag.js +183 -0
  274. package/tag/Tag.stories.tsx +142 -0
  275. package/tag/Tag.test.js +60 -0
  276. package/tag/types.d.ts +69 -0
  277. package/tag/types.js +5 -0
  278. package/text/Text.d.ts +7 -0
  279. package/text/Text.js +30 -0
  280. package/text/Text.stories.tsx +19 -0
  281. package/text-input/Suggestion.d.ts +4 -0
  282. package/text-input/Suggestion.js +55 -0
  283. package/text-input/TextInput.d.ts +4 -0
  284. package/{dist/text-input → text-input}/TextInput.js +282 -486
  285. package/text-input/TextInput.stories.tsx +474 -0
  286. package/text-input/TextInput.test.js +1712 -0
  287. package/text-input/types.d.ts +178 -0
  288. package/text-input/types.js +5 -0
  289. package/textarea/Textarea.d.ts +4 -0
  290. package/{dist/textarea → textarea}/Textarea.js +50 -142
  291. package/textarea/Textarea.stories.jsx +157 -0
  292. package/textarea/Textarea.test.js +437 -0
  293. package/textarea/types.d.ts +137 -0
  294. package/textarea/types.js +5 -0
  295. package/toggle-group/ToggleGroup.d.ts +4 -0
  296. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +36 -148
  297. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  298. package/toggle-group/ToggleGroup.test.js +156 -0
  299. package/toggle-group/types.d.ts +105 -0
  300. package/toggle-group/types.js +5 -0
  301. package/useTheme.d.ts +2 -0
  302. package/{dist/useTheme.js → useTheme.js} +2 -2
  303. package/useTranslatedLabels.d.ts +2 -0
  304. package/useTranslatedLabels.js +20 -0
  305. package/wizard/Wizard.d.ts +4 -0
  306. package/wizard/Wizard.js +292 -0
  307. package/wizard/Wizard.stories.tsx +214 -0
  308. package/wizard/Wizard.test.js +141 -0
  309. package/wizard/types.d.ts +64 -0
  310. package/wizard/types.js +5 -0
  311. package/README.md +0 -66
  312. package/babel.config.js +0 -7
  313. package/dist/BackgroundColorContext.js +0 -46
  314. package/dist/ThemeContext.js +0 -250
  315. package/dist/V3Select/V3Select.js +0 -549
  316. package/dist/V3Select/index.d.ts +0 -27
  317. package/dist/V3Textarea/V3Textarea.js +0 -264
  318. package/dist/V3Textarea/index.d.ts +0 -27
  319. package/dist/accordion/Accordion.js +0 -353
  320. package/dist/accordion/index.d.ts +0 -28
  321. package/dist/accordion-group/AccordionGroup.js +0 -186
  322. package/dist/accordion-group/index.d.ts +0 -16
  323. package/dist/alert/index.d.ts +0 -51
  324. package/dist/badge/Badge.js +0 -63
  325. package/dist/box/Box.js +0 -156
  326. package/dist/box/index.d.ts +0 -25
  327. package/dist/button/Button.stories.js +0 -27
  328. package/dist/button/index.d.ts +0 -24
  329. package/dist/card/Card.js +0 -254
  330. package/dist/card/index.d.ts +0 -22
  331. package/dist/checkbox/index.d.ts +0 -24
  332. package/dist/chip/Chip.js +0 -265
  333. package/dist/chip/index.d.ts +0 -22
  334. package/dist/date/Date.js +0 -379
  335. package/dist/date/index.d.ts +0 -27
  336. package/dist/date-input/index.d.ts +0 -95
  337. package/dist/dialog/Dialog.js +0 -218
  338. package/dist/dialog/index.d.ts +0 -18
  339. package/dist/dropdown/index.d.ts +0 -26
  340. package/dist/file-input/FileInput.js +0 -644
  341. package/dist/file-input/FileItem.js +0 -287
  342. package/dist/file-input/index.d.ts +0 -81
  343. package/dist/footer/Footer.js +0 -421
  344. package/dist/footer/index.d.ts +0 -25
  345. package/dist/header/Header.js +0 -470
  346. package/dist/header/index.d.ts +0 -25
  347. package/dist/heading/index.d.ts +0 -17
  348. package/dist/input-text/Icons.js +0 -22
  349. package/dist/input-text/InputText.js +0 -705
  350. package/dist/input-text/index.d.ts +0 -36
  351. package/dist/layout/ApplicationLayout.js +0 -327
  352. package/dist/link/Link.js +0 -237
  353. package/dist/link/index.d.ts +0 -23
  354. package/dist/main.d.ts +0 -40
  355. package/dist/number-input/NumberInput.js +0 -136
  356. package/dist/number-input/index.d.ts +0 -113
  357. package/dist/paginator/Paginator.js +0 -305
  358. package/dist/paginator/index.d.ts +0 -20
  359. package/dist/password-input/index.d.ts +0 -94
  360. package/dist/progress-bar/index.d.ts +0 -18
  361. package/dist/radio/Radio.js +0 -209
  362. package/dist/radio/index.d.ts +0 -23
  363. package/dist/resultsetTable/index.d.ts +0 -19
  364. package/dist/select/Select.js +0 -1137
  365. package/dist/select/index.d.ts +0 -131
  366. package/dist/sidenav/Sidenav.js +0 -179
  367. package/dist/sidenav/index.d.ts +0 -13
  368. package/dist/slider/index.d.ts +0 -29
  369. package/dist/spinner/Spinner.js +0 -381
  370. package/dist/spinner/index.d.ts +0 -17
  371. package/dist/switch/Switch.js +0 -222
  372. package/dist/switch/index.d.ts +0 -24
  373. package/dist/table/index.d.ts +0 -13
  374. package/dist/tabs/Tabs.js +0 -343
  375. package/dist/tabs/index.d.ts +0 -19
  376. package/dist/tag/Tag.js +0 -282
  377. package/dist/tag/index.d.ts +0 -24
  378. package/dist/text-input/index.d.ts +0 -135
  379. package/dist/textarea/index.d.ts +0 -117
  380. package/dist/toggle/Toggle.js +0 -220
  381. package/dist/toggle/index.d.ts +0 -21
  382. package/dist/toggle-group/index.d.ts +0 -21
  383. package/dist/upload/Upload.js +0 -205
  384. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  385. package/dist/upload/buttons-upload/Icons.js +0 -40
  386. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  387. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  388. package/dist/upload/file-upload/FileToUpload.js +0 -189
  389. package/dist/upload/file-upload/Icons.js +0 -66
  390. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  391. package/dist/upload/index.d.ts +0 -15
  392. package/dist/upload/transaction/Icons.js +0 -160
  393. package/dist/upload/transaction/Transaction.js +0 -148
  394. package/dist/upload/transactions/Transactions.js +0 -138
  395. package/dist/wizard/Icons.js +0 -65
  396. package/dist/wizard/Wizard.js +0 -405
  397. package/dist/wizard/index.d.ts +0 -18
  398. package/test/Accordion.test.js +0 -33
  399. package/test/AccordionGroup.test.js +0 -125
  400. package/test/Alert.test.js +0 -53
  401. package/test/Box.test.js +0 -10
  402. package/test/Button.test.js +0 -18
  403. package/test/Card.test.js +0 -30
  404. package/test/Checkbox.test.js +0 -45
  405. package/test/Chip.test.js +0 -25
  406. package/test/Date.test.js +0 -395
  407. package/test/DateInput.test.js +0 -242
  408. package/test/Dialog.test.js +0 -23
  409. package/test/Dropdown.test.js +0 -145
  410. package/test/FileInput.test.js +0 -201
  411. package/test/Footer.test.js +0 -94
  412. package/test/Header.test.js +0 -34
  413. package/test/Heading.test.js +0 -83
  414. package/test/InputText.test.js +0 -239
  415. package/test/Link.test.js +0 -43
  416. package/test/NumberInput.test.js +0 -259
  417. package/test/Paginator.test.js +0 -181
  418. package/test/PasswordInput.test.js +0 -83
  419. package/test/ProgressBar.test.js +0 -35
  420. package/test/Radio.test.js +0 -37
  421. package/test/ResultsetTable.test.js +0 -330
  422. package/test/Select.test.js +0 -928
  423. package/test/Sidenav.test.js +0 -45
  424. package/test/Slider.test.js +0 -74
  425. package/test/Spinner.test.js +0 -32
  426. package/test/Switch.test.js +0 -45
  427. package/test/Table.test.js +0 -36
  428. package/test/Tabs.test.js +0 -109
  429. package/test/Tag.test.js +0 -32
  430. package/test/TextInput.test.js +0 -731
  431. package/test/Textarea.test.js +0 -193
  432. package/test/ToggleGroup.test.js +0 -85
  433. package/test/Upload.test.js +0 -60
  434. package/test/V3Select.test.js +0 -212
  435. package/test/V3TextArea.test.js +0 -51
  436. package/test/Wizard.test.js +0 -130
  437. package/test/mocks/pngMock.js +0 -1
  438. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,474 @@
1
+ import React from "react";
2
+ import { userEvent, within, waitFor } from "@storybook/testing-library";
3
+ import { fireEvent } from "@testing-library/react";
4
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
5
+ import Title from "../../.storybook/components/Title";
6
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
+ import DarkContainer from "../../.storybook/components/DarkSection";
8
+ import DxcTextInput from "./TextInput";
9
+
10
+ export default {
11
+ title: "Text input",
12
+ component: DxcTextInput,
13
+ };
14
+
15
+ const action = {
16
+ onClick: () => {},
17
+ icon: (
18
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
19
+ <path d="M0 0h24v24H0V0z" fill="none" />
20
+ <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" />
21
+ </svg>
22
+ ),
23
+ };
24
+
25
+ const actionLargeIcon = {
26
+ onClick: () => {},
27
+ icon: (
28
+ <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
29
+ <path d="M0 0h24v24H0V0z" fill="none" />
30
+ <path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" />
31
+ </svg>
32
+ ),
33
+ };
34
+
35
+ const country = ["Afghanistan"];
36
+ const countries = [
37
+ "Afghanistan",
38
+ "Albania",
39
+ "Algeria",
40
+ "Andorra Andorra Andorra Andorra Andorra Andorra Andorra Andorra",
41
+ "Angola",
42
+ "Antigua and Barbuda Antigua and Barbuda Antigua and Barbuda",
43
+ "Bahamas",
44
+ "Bahrain",
45
+ "Bangladesh",
46
+ "Barbados",
47
+ "Cabo Verde",
48
+ "Cambodia",
49
+ "Cameroon",
50
+ "Canada",
51
+ "Cayman Islands, The",
52
+ "Central African Republic",
53
+ "Chad",
54
+ "Democratic Republic of the Congo",
55
+ "Dominican Republic",
56
+ "Dominica",
57
+ "Denmark",
58
+ "Djibouti",
59
+ ];
60
+
61
+ export const Chromatic = () => (
62
+ <>
63
+ <ExampleContainer pseudoState="pseudo-hover">
64
+ <Title title="Hovered input" theme="light" level={4} />
65
+ <DxcTextInput label="Text input" />
66
+ </ExampleContainer>
67
+ <ExampleContainer pseudoState="pseudo-focus-within">
68
+ <Title title="Focused input" theme="light" level={4} />
69
+ <DxcTextInput label="Text input" />
70
+ </ExampleContainer>
71
+ <ExampleContainer pseudoState="pseudo-hover">
72
+ <Title title="Hovered action" theme="light" level={4} />
73
+ <DxcTextInput label="Text input" defaultValue="Text" clearable />
74
+ </ExampleContainer>
75
+ <ExampleContainer>
76
+ <Title title="Without label" theme="light" level={4} />
77
+ <DxcTextInput />
78
+ </ExampleContainer>
79
+ <ExampleContainer>
80
+ <Title title="With label and placeholder" theme="light" level={4} />
81
+ <DxcTextInput label="Text input" placeholder="Placeholder" />
82
+ </ExampleContainer>
83
+ <ExampleContainer>
84
+ <Title title="Helper text, optional, and clearable" theme="light" level={4} />
85
+ <DxcTextInput label="Text input" clearable defaultValue="Text" helperText="Help message" optional />
86
+ </ExampleContainer>
87
+ <ExampleContainer>
88
+ <Title title="Clearable and large icon action" theme="light" level={4} />
89
+ <DxcTextInput
90
+ label="Text input"
91
+ defaultValue="Text text text text text text text text text text"
92
+ clearable
93
+ action={actionLargeIcon}
94
+ />
95
+ </ExampleContainer>
96
+ <ExampleContainer>
97
+ <Title title="Prefix" theme="light" level={4} />
98
+ <DxcTextInput label="With prefix" prefix="+34" />
99
+ </ExampleContainer>
100
+ <ExampleContainer>
101
+ <Title title="Suffix and action" theme="light" level={4} />
102
+ <DxcTextInput label="With suffix" suffix="USD" action={action} />
103
+ </ExampleContainer>
104
+ <ExampleContainer>
105
+ <Title title="Invalid" theme="light" level={4} />
106
+ <DxcTextInput
107
+ label="Error text input"
108
+ helperText="Help message"
109
+ error="Error message."
110
+ defaultValue="Text"
111
+ clearable
112
+ optional
113
+ action={action}
114
+ />
115
+ </ExampleContainer>
116
+ <ExampleContainer pseudoState="pseudo-hover">
117
+ <Title title="Invalid and hovered" theme="light" level={4} />
118
+ <DxcTextInput
119
+ label="Error text input"
120
+ helperText="Help message"
121
+ placeholder="Placeholder"
122
+ error="Error message."
123
+ />
124
+ </ExampleContainer>
125
+ <ExampleContainer>
126
+ <Title title="Disabled and placeholder" theme="light" level={4} />
127
+ <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
128
+ </ExampleContainer>
129
+ <ExampleContainer>
130
+ <Title title="Disabled, helper text, optional, value and action" theme="light" level={4} />
131
+ <DxcTextInput
132
+ label="Disabled text input"
133
+ helperText="Help message"
134
+ disabled
135
+ optional
136
+ defaultValue="Text"
137
+ action={action}
138
+ />
139
+ </ExampleContainer>
140
+ <ExampleContainer>
141
+ <Title title="Disabled with prefix and suffix" theme="light" level={4} />
142
+ <DxcTextInput
143
+ label="Disabled text input"
144
+ helperText="Help message"
145
+ disabled
146
+ optional
147
+ prefix="+34"
148
+ suffix="USD"
149
+ defaultValue="Text"
150
+ action={action}
151
+ />
152
+ </ExampleContainer>
153
+ <BackgroundColorProvider color="#333333">
154
+ <DarkContainer>
155
+ <Title title="Dark" theme="dark" level={2} />
156
+ <ExampleContainer pseudoState="pseudo-hover">
157
+ <Title title="Hovered" theme="dark" level={4} />
158
+ <DxcTextInput label="Text input" />
159
+ </ExampleContainer>
160
+ <ExampleContainer pseudoState="pseudo-focus-within">
161
+ <Title title="Focused" theme="dark" level={4} />
162
+ <DxcTextInput label="Text input" />
163
+ </ExampleContainer>
164
+ <ExampleContainer pseudoState="pseudo-hover">
165
+ <Title title="Hovered action" theme="dark" level={4} />
166
+ <DxcTextInput label="Text input" defaultValue="Text" clearable />
167
+ </ExampleContainer>
168
+ <ExampleContainer>
169
+ <Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
170
+ <DxcTextInput
171
+ label="Text input"
172
+ helperText="Help message"
173
+ placeholder="Placeholder"
174
+ clearable
175
+ optional
176
+ action={action}
177
+ />
178
+ </ExampleContainer>
179
+ <ExampleContainer>
180
+ <Title title="Invalid" theme="dark" level={4} />
181
+ <DxcTextInput
182
+ label="Error text input"
183
+ helperText="Help message"
184
+ error="Error message."
185
+ defaultValue="Text"
186
+ clearable
187
+ action={action}
188
+ />
189
+ </ExampleContainer>
190
+ <ExampleContainer pseudoState="pseudo-hover">
191
+ <Title title="Invalid and hovered" theme="dark" level={4} />
192
+ <DxcTextInput
193
+ label="Error text input"
194
+ helperText="Help message"
195
+ placeholder="Placeholder"
196
+ error="Error message."
197
+ />
198
+ </ExampleContainer>
199
+ <ExampleContainer>
200
+ <Title title="Prefix and suffix" theme="dark" level={4} />
201
+ <DxcTextInput label="With prefix and suffix" prefix="+34" suffix="USD" />
202
+ </ExampleContainer>
203
+ <ExampleContainer>
204
+ <Title title="Disabled and placeholder" theme="dark" level={4} />
205
+ <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
206
+ </ExampleContainer>
207
+ <ExampleContainer>
208
+ <Title title="Disabled, helper text, optional, value and action" theme="dark" level={4} />
209
+ <DxcTextInput
210
+ label="Disabled text input"
211
+ helperText="Help message"
212
+ disabled
213
+ optional
214
+ defaultValue="Text"
215
+ action={action}
216
+ />
217
+ </ExampleContainer>
218
+ <ExampleContainer>
219
+ <Title title="Disabled with prefix and suffix" theme="dark" level={4} />
220
+ <DxcTextInput
221
+ label="Disabled text input"
222
+ helperText="Help message"
223
+ disabled
224
+ optional
225
+ prefix="+34"
226
+ suffix="USD"
227
+ defaultValue="Text"
228
+ action={action}
229
+ />
230
+ </ExampleContainer>
231
+ </DarkContainer>
232
+ </BackgroundColorProvider>
233
+ <Title title="Margins" theme="light" level={2} />
234
+ <ExampleContainer>
235
+ <Title title="Xxsmall margin" theme="light" level={4} />
236
+ <DxcTextInput label="Xxsmall" margin="xxsmall" />
237
+ </ExampleContainer>
238
+ <ExampleContainer>
239
+ <Title title="Xsmall margin" theme="light" level={4} />
240
+ <DxcTextInput label="Xsmall" margin="xsmall" />
241
+ </ExampleContainer>
242
+ <ExampleContainer>
243
+ <Title title="Small margin" theme="light" level={4} />
244
+ <DxcTextInput label="Small" margin="small" />
245
+ </ExampleContainer>
246
+ <ExampleContainer>
247
+ <Title title="Medium margin" theme="light" level={4} />
248
+ <DxcTextInput label="Medium" margin="medium" />
249
+ </ExampleContainer>
250
+ <ExampleContainer>
251
+ <Title title="Large margin" theme="light" level={4} />
252
+ <DxcTextInput label="Large" margin="large" />
253
+ </ExampleContainer>
254
+ <ExampleContainer>
255
+ <Title title="Xlarge margin" theme="light" level={4} />
256
+ <DxcTextInput label="Xlarge" margin="xlarge" />
257
+ </ExampleContainer>
258
+ <ExampleContainer>
259
+ <Title title="Xxlarge margin" theme="light" level={4} />
260
+ <DxcTextInput label="Xxlarge" margin="xxlarge" />
261
+ </ExampleContainer>
262
+ <Title title="Sizes" theme="light" level={2} />
263
+ <ExampleContainer>
264
+ <Title title="Small size" theme="light" level={4} />
265
+ <DxcTextInput label="Small" size="small" />
266
+ </ExampleContainer>
267
+ <ExampleContainer>
268
+ <Title title="Medium size" theme="light" level={4} />
269
+ <DxcTextInput label="Medium" size="medium" />
270
+ </ExampleContainer>
271
+ <ExampleContainer>
272
+ <Title title="Large size" theme="light" level={4} />
273
+ <DxcTextInput label="Large" size="large" />
274
+ </ExampleContainer>
275
+ <ExampleContainer>
276
+ <Title title="FillParent size" theme="light" level={4} />
277
+ <DxcTextInput label="FillParent" size="fillParent" />
278
+ </ExampleContainer>
279
+ </>
280
+ );
281
+
282
+ const FocusedActionTextInput = () => (
283
+ <ExampleContainer expanded>
284
+ <Title title="Focused action" theme="light" level={4} />
285
+ <DxcTextInput label="Text input" action={action} clearable />
286
+ </ExampleContainer>
287
+ );
288
+
289
+ const ActivedActionTextInput = () => (
290
+ <ExampleContainer pseudoState="pseudo-active" expanded>
291
+ <Title title="Actived action" theme="light" level={4} />
292
+ <DxcTextInput label="Text input" action={action} clearable />
293
+ </ExampleContainer>
294
+ );
295
+
296
+ const ShowOptionsAutosuggest = () => (
297
+ <ExampleContainer expanded>
298
+ <Title title="Show options" theme="light" level={4} />
299
+ <DxcTextInput label="Text input" suggestions={countries} clearable />
300
+ </ExampleContainer>
301
+ );
302
+
303
+ const HoveredOptionAutosuggest = () => (
304
+ <ExampleContainer expanded pseudoState="pseudo-hover">
305
+ <Title title="Hovered option" theme="light" level={4} />
306
+ <DxcTextInput label="Text input" suggestions={country} clearable />
307
+ </ExampleContainer>
308
+ );
309
+
310
+ const FocusedOptionAutosuggest = () => (
311
+ <ExampleContainer expanded>
312
+ <Title title="Focused option" theme="light" level={4} />
313
+ <DxcTextInput label="Text input" suggestions={country} clearable />
314
+ </ExampleContainer>
315
+ );
316
+
317
+ const ActivedOptionAutosuggest = () => (
318
+ <ExampleContainer expanded pseudoState="pseudo-active">
319
+ <Title title="Actived option" theme="light" level={4} />
320
+ <DxcTextInput label="Text input" suggestions={country} clearable />
321
+ </ExampleContainer>
322
+ );
323
+
324
+ const FocusedActionTextInputOnDark = () => (
325
+ <BackgroundColorProvider color="#333333">
326
+ <DarkContainer>
327
+ <ExampleContainer expanded>
328
+ <Title title="Focused action" theme="dark" level={4} />
329
+ <DxcTextInput label="Text input" action={action} clearable />
330
+ </ExampleContainer>
331
+ </DarkContainer>
332
+ </BackgroundColorProvider>
333
+ );
334
+
335
+ const ActivedActionTextInputOnDark = () => (
336
+ <BackgroundColorProvider color="#333333">
337
+ <DarkContainer>
338
+ <ExampleContainer pseudoState="pseudo-active" expanded>
339
+ <Title title="Actived action" theme="dark" level={4} />
340
+ <DxcTextInput label="Text input" action={action} clearable />
341
+ </ExampleContainer>
342
+ </DarkContainer>
343
+ </BackgroundColorProvider>
344
+ );
345
+
346
+ const ShowOptionsAutosuggestOnDark = () => (
347
+ <BackgroundColorProvider color="#333333">
348
+ <DarkContainer>
349
+ <ExampleContainer expanded>
350
+ <Title title="Show options" theme="dark" level={4} />
351
+ <DxcTextInput label="Text input" suggestions={countries} clearable />
352
+ </ExampleContainer>
353
+ </DarkContainer>
354
+ </BackgroundColorProvider>
355
+ );
356
+
357
+ const HoveredActionAutosuggestOnDark = () => (
358
+ <BackgroundColorProvider color="#333333">
359
+ <DarkContainer>
360
+ <ExampleContainer expanded pseudoState="pseudo-hover">
361
+ <Title title="Hovered option" theme="dark" level={4} />
362
+ <DxcTextInput label="Text input" suggestions={country} clearable />
363
+ </ExampleContainer>
364
+ </DarkContainer>
365
+ </BackgroundColorProvider>
366
+ );
367
+
368
+ const FocusedOptionAutosuggestOnDark = () => (
369
+ <BackgroundColorProvider color="#333333">
370
+ <DarkContainer>
371
+ <ExampleContainer expanded>
372
+ <Title title="Focused option" theme="dark" level={4} />
373
+ <DxcTextInput label="Text input" suggestions={country} clearable />
374
+ </ExampleContainer>
375
+ </DarkContainer>
376
+ </BackgroundColorProvider>
377
+ );
378
+
379
+ const ActivedOptionAutosuggestOnDark = () => (
380
+ <BackgroundColorProvider color="#333333">
381
+ <DarkContainer>
382
+ <ExampleContainer expanded pseudoState="pseudo-active">
383
+ <Title title="Actived option" theme="dark" level={4} />
384
+ <DxcTextInput label="Text input" suggestions={country} clearable />
385
+ </ExampleContainer>
386
+ </DarkContainer>
387
+ </BackgroundColorProvider>
388
+ );
389
+
390
+ export const FocusedAction = FocusedActionTextInput.bind({});
391
+ FocusedAction.play = async ({ canvasElement }) => {
392
+ const canvas = within(canvasElement);
393
+ const action = canvas.getByRole("button");
394
+ await action.focus();
395
+ };
396
+
397
+ export const ActivedAction = ActivedActionTextInput.bind({});
398
+ ActivedAction.play = async ({ canvasElement }) => {
399
+ const canvas = within(canvasElement);
400
+ const action = canvas.getByRole("button");
401
+ await userEvent.click(action);
402
+ };
403
+
404
+ export const ShowOptions = ShowOptionsAutosuggest.bind({});
405
+ ShowOptions.play = async ({ canvasElement }) => {
406
+ const canvas = within(canvasElement);
407
+ const autosuggest = canvas.getByRole("combobox");
408
+ await userEvent.click(autosuggest);
409
+ };
410
+
411
+ export const HoveredOption = HoveredOptionAutosuggest.bind({});
412
+ HoveredOption.play = async ({ canvasElement }) => {
413
+ const canvas = within(canvasElement);
414
+ const autosuggest = canvas.getByRole("combobox");
415
+ await userEvent.click(autosuggest);
416
+ };
417
+
418
+ export const FocusedOption = FocusedOptionAutosuggest.bind({});
419
+ FocusedOption.play = async ({ canvasElement }) => {
420
+ const canvas = within(canvasElement);
421
+ const autosuggest = canvas.getByRole("combobox");
422
+ await userEvent.click(autosuggest);
423
+ fireEvent.keyDown(autosuggest, { key: "ArrowDown", code: "ArrowDown", keyCode: 40, charCode: 40 });
424
+ };
425
+
426
+ export const ActivedOption = ActivedOptionAutosuggest.bind({});
427
+ ActivedOption.play = async ({ canvasElement }) => {
428
+ const canvas = within(canvasElement);
429
+ const autosuggest = canvas.getByRole("combobox");
430
+ await userEvent.click(autosuggest);
431
+ };
432
+
433
+ export const FocusedActionOnDark = FocusedActionTextInputOnDark.bind({});
434
+ FocusedActionOnDark.play = async ({ canvasElement }) => {
435
+ const canvas = within(canvasElement);
436
+ const action = canvas.getByRole("button");
437
+ await action.focus();
438
+ };
439
+
440
+ export const ActivedActionOnDark = ActivedActionTextInputOnDark.bind({});
441
+ ActivedActionOnDark.play = async ({ canvasElement }) => {
442
+ const canvas = within(canvasElement);
443
+ const action = canvas.getByRole("button");
444
+ await userEvent.click(action);
445
+ };
446
+
447
+ export const ShowOptionsOnDark = ShowOptionsAutosuggestOnDark.bind({});
448
+ ShowOptionsOnDark.play = async ({ canvasElement }) => {
449
+ const canvas = within(canvasElement);
450
+ const autosuggest = canvas.getByRole("combobox");
451
+ await userEvent.click(autosuggest);
452
+ };
453
+
454
+ export const HoveredActionOnDark = HoveredActionAutosuggestOnDark.bind({});
455
+ HoveredActionOnDark.play = async ({ canvasElement }) => {
456
+ const canvas = within(canvasElement);
457
+ const autosuggest = canvas.getByRole("combobox");
458
+ await userEvent.click(autosuggest);
459
+ };
460
+
461
+ export const FocusedOptionOnDark = FocusedOptionAutosuggestOnDark.bind({});
462
+ FocusedOptionOnDark.play = async ({ canvasElement }) => {
463
+ const canvas = within(canvasElement);
464
+ const autosuggest = canvas.getByRole("combobox");
465
+ await userEvent.click(autosuggest);
466
+ fireEvent.keyDown(autosuggest, { key: "ArrowDown", code: "ArrowDown", keyCode: 40, charCode: 40 });
467
+ };
468
+
469
+ export const ActivedOptionOnDark = ActivedOptionAutosuggestOnDark.bind({});
470
+ ActivedOptionOnDark.play = async ({ canvasElement }) => {
471
+ const canvas = within(canvasElement);
472
+ const autosuggest = canvas.getByRole("combobox");
473
+ await userEvent.click(autosuggest);
474
+ };