@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-c9efd3e

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 (396) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -6
  4. package/HalstackContext.js +126 -111
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +104 -161
  9. package/accordion/Accordion.stories.tsx +84 -140
  10. package/accordion/Accordion.test.js +25 -41
  11. package/accordion/types.d.ts +6 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +31 -98
  15. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  16. package/accordion-group/AccordionGroup.test.js +52 -105
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +12 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +32 -125
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -42
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -3
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +19 -60
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +92 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/button/Button.accessibility.test.js +127 -0
  54. package/button/Button.d.ts +1 -1
  55. package/button/Button.js +64 -117
  56. package/button/Button.stories.tsx +151 -100
  57. package/button/Button.test.js +20 -17
  58. package/button/types.d.ts +12 -8
  59. package/card/Card.accessibility.test.js +36 -0
  60. package/card/Card.d.ts +1 -1
  61. package/card/Card.js +48 -89
  62. package/card/Card.stories.tsx +12 -42
  63. package/card/Card.test.js +11 -22
  64. package/card/types.d.ts +6 -11
  65. package/checkbox/Checkbox.accessibility.test.js +87 -0
  66. package/checkbox/Checkbox.d.ts +2 -2
  67. package/checkbox/Checkbox.js +140 -182
  68. package/checkbox/Checkbox.stories.tsx +128 -94
  69. package/checkbox/Checkbox.test.js +160 -39
  70. package/checkbox/types.d.ts +11 -3
  71. package/chip/Chip.accessibility.test.js +67 -0
  72. package/chip/Chip.js +43 -80
  73. package/chip/Chip.stories.tsx +102 -26
  74. package/chip/Chip.test.js +18 -33
  75. package/chip/types.d.ts +4 -4
  76. package/common/coreTokens.d.ts +237 -0
  77. package/common/coreTokens.js +184 -0
  78. package/common/utils.d.ts +1 -0
  79. package/common/utils.js +6 -12
  80. package/common/variables.d.ts +1395 -0
  81. package/common/variables.js +942 -1145
  82. package/container/Container.d.ts +4 -0
  83. package/container/Container.js +194 -0
  84. package/container/Container.stories.tsx +214 -0
  85. package/container/types.d.ts +74 -0
  86. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  87. package/contextual-menu/ContextualMenu.d.ts +7 -0
  88. package/contextual-menu/ContextualMenu.js +71 -0
  89. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  90. package/contextual-menu/ContextualMenu.test.js +71 -0
  91. package/contextual-menu/MenuItemAction.d.ts +4 -0
  92. package/contextual-menu/MenuItemAction.js +46 -0
  93. package/contextual-menu/types.d.ts +22 -0
  94. package/date-input/Calendar.d.ts +4 -0
  95. package/date-input/Calendar.js +214 -0
  96. package/date-input/DateInput.accessibility.test.js +216 -0
  97. package/date-input/DateInput.js +150 -299
  98. package/date-input/DateInput.stories.tsx +203 -56
  99. package/date-input/DateInput.test.js +700 -371
  100. package/date-input/DatePicker.d.ts +4 -0
  101. package/date-input/DatePicker.js +115 -0
  102. package/date-input/Icons.d.ts +6 -0
  103. package/date-input/Icons.js +58 -0
  104. package/date-input/YearPicker.d.ts +4 -0
  105. package/date-input/YearPicker.js +100 -0
  106. package/date-input/types.d.ts +72 -15
  107. package/dialog/Dialog.accessibility.test.js +69 -0
  108. package/dialog/Dialog.d.ts +1 -1
  109. package/dialog/Dialog.js +73 -107
  110. package/dialog/Dialog.stories.tsx +320 -167
  111. package/dialog/Dialog.test.js +287 -20
  112. package/dialog/types.d.ts +18 -25
  113. package/divider/Divider.accessibility.test.js +33 -0
  114. package/divider/Divider.d.ts +4 -0
  115. package/divider/Divider.js +36 -0
  116. package/divider/Divider.stories.tsx +223 -0
  117. package/divider/Divider.test.js +38 -0
  118. package/divider/types.d.ts +21 -0
  119. package/dropdown/Dropdown.accessibility.test.js +180 -0
  120. package/dropdown/Dropdown.d.ts +1 -1
  121. package/dropdown/Dropdown.js +231 -303
  122. package/dropdown/Dropdown.stories.tsx +235 -57
  123. package/dropdown/Dropdown.test.js +575 -165
  124. package/dropdown/DropdownMenu.d.ts +4 -0
  125. package/dropdown/DropdownMenu.js +63 -0
  126. package/dropdown/DropdownMenuItem.d.ts +4 -0
  127. package/dropdown/DropdownMenuItem.js +70 -0
  128. package/dropdown/types.d.ts +35 -19
  129. package/file-input/FileInput.accessibility.test.js +160 -0
  130. package/file-input/FileInput.d.ts +2 -2
  131. package/file-input/FileInput.js +241 -391
  132. package/file-input/FileInput.stories.tsx +123 -12
  133. package/file-input/FileInput.test.js +292 -367
  134. package/file-input/FileItem.d.ts +4 -14
  135. package/file-input/FileItem.js +52 -117
  136. package/file-input/types.d.ts +25 -8
  137. package/flex/Flex.d.ts +4 -0
  138. package/flex/Flex.js +57 -0
  139. package/flex/Flex.stories.tsx +112 -0
  140. package/flex/types.d.ts +97 -0
  141. package/footer/Footer.accessibility.test.js +117 -0
  142. package/footer/Footer.d.ts +1 -1
  143. package/footer/Footer.js +73 -118
  144. package/footer/Footer.stories.tsx +87 -21
  145. package/footer/Footer.test.js +33 -57
  146. package/footer/Icons.d.ts +3 -2
  147. package/footer/Icons.js +67 -8
  148. package/footer/types.d.ts +26 -27
  149. package/grid/Grid.d.ts +7 -0
  150. package/grid/Grid.js +76 -0
  151. package/grid/Grid.stories.tsx +219 -0
  152. package/grid/types.d.ts +115 -0
  153. package/grid/types.js +5 -0
  154. package/header/Header.accessibility.test.js +84 -0
  155. package/header/Header.d.ts +4 -3
  156. package/header/Header.js +88 -182
  157. package/header/Header.stories.tsx +118 -39
  158. package/header/Header.test.js +13 -26
  159. package/header/Icons.d.ts +2 -2
  160. package/header/Icons.js +4 -9
  161. package/header/types.d.ts +7 -21
  162. package/heading/Heading.accessibility.test.js +33 -0
  163. package/heading/Heading.js +10 -32
  164. package/heading/Heading.test.js +71 -88
  165. package/heading/types.d.ts +7 -7
  166. package/icon/Icon.accessibility.test.js +30 -0
  167. package/icon/Icon.d.ts +4 -0
  168. package/icon/Icon.js +33 -0
  169. package/icon/Icon.stories.tsx +28 -0
  170. package/icon/types.d.ts +4 -0
  171. package/icon/types.js +5 -0
  172. package/image/Image.accessibility.test.js +56 -0
  173. package/image/Image.d.ts +4 -0
  174. package/image/Image.js +70 -0
  175. package/image/Image.stories.tsx +129 -0
  176. package/image/types.d.ts +72 -0
  177. package/image/types.js +5 -0
  178. package/inset/Inset.js +14 -55
  179. package/inset/Inset.stories.tsx +37 -36
  180. package/inset/types.d.ts +2 -2
  181. package/layout/ApplicationLayout.d.ts +15 -6
  182. package/layout/ApplicationLayout.js +52 -117
  183. package/layout/ApplicationLayout.stories.tsx +81 -45
  184. package/layout/Icons.d.ts +8 -5
  185. package/layout/Icons.js +49 -59
  186. package/layout/types.d.ts +21 -32
  187. package/link/Link.accessibility.test.js +112 -0
  188. package/link/Link.js +32 -51
  189. package/link/Link.stories.tsx +74 -7
  190. package/link/Link.test.js +24 -44
  191. package/link/types.d.ts +14 -14
  192. package/main.d.ts +14 -12
  193. package/main.js +63 -99
  194. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  195. package/nav-tabs/NavTabs.d.ts +7 -0
  196. package/{tabs-nav → nav-tabs}/NavTabs.js +30 -62
  197. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  198. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  199. package/nav-tabs/NavTabsContext.d.ts +3 -0
  200. package/nav-tabs/NavTabsContext.js +8 -0
  201. package/nav-tabs/Tab.js +118 -0
  202. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  203. package/nav-tabs/types.js +5 -0
  204. package/number-input/NumberInput.accessibility.test.js +228 -0
  205. package/number-input/NumberInput.js +46 -36
  206. package/number-input/NumberInput.stories.tsx +42 -26
  207. package/number-input/NumberInput.test.js +860 -377
  208. package/number-input/NumberInputContext.d.ts +3 -4
  209. package/number-input/NumberInputContext.js +3 -14
  210. package/number-input/types.d.ts +17 -5
  211. package/package.json +49 -51
  212. package/paginator/Icons.d.ts +5 -0
  213. package/paginator/Icons.js +21 -47
  214. package/paginator/Paginator.accessibility.test.js +79 -0
  215. package/paginator/Paginator.js +23 -59
  216. package/paginator/Paginator.stories.tsx +24 -0
  217. package/paginator/Paginator.test.js +280 -211
  218. package/paginator/types.d.ts +3 -3
  219. package/paragraph/Paragraph.accessibility.test.js +28 -0
  220. package/paragraph/Paragraph.d.ts +5 -0
  221. package/paragraph/Paragraph.js +22 -0
  222. package/paragraph/Paragraph.stories.tsx +27 -0
  223. package/password-input/Icons.d.ts +6 -0
  224. package/password-input/Icons.js +35 -0
  225. package/password-input/PasswordInput.accessibility.test.js +153 -0
  226. package/password-input/PasswordInput.js +57 -126
  227. package/password-input/PasswordInput.stories.tsx +1 -33
  228. package/password-input/PasswordInput.test.js +160 -142
  229. package/password-input/types.d.ts +8 -7
  230. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  231. package/progress-bar/ProgressBar.js +65 -91
  232. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  233. package/progress-bar/ProgressBar.test.js +72 -44
  234. package/progress-bar/types.d.ts +3 -3
  235. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  236. package/quick-nav/QuickNav.js +29 -47
  237. package/quick-nav/QuickNav.stories.tsx +146 -27
  238. package/quick-nav/types.d.ts +10 -10
  239. package/radio-group/Radio.d.ts +1 -1
  240. package/radio-group/Radio.js +59 -76
  241. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  242. package/radio-group/RadioGroup.js +67 -114
  243. package/radio-group/RadioGroup.stories.tsx +132 -18
  244. package/radio-group/RadioGroup.test.js +518 -457
  245. package/radio-group/types.d.ts +10 -10
  246. package/resultset-table/Icons.d.ts +7 -0
  247. package/resultset-table/Icons.js +47 -0
  248. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  249. package/resultset-table/ResultsetTable.d.ts +7 -0
  250. package/resultset-table/ResultsetTable.js +170 -0
  251. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  252. package/resultset-table/ResultsetTable.test.js +381 -0
  253. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  254. package/resultset-table/types.js +5 -0
  255. package/select/Icons.d.ts +7 -7
  256. package/select/Icons.js +1 -5
  257. package/select/Listbox.d.ts +1 -1
  258. package/select/Listbox.js +42 -51
  259. package/select/Option.js +27 -50
  260. package/select/Select.accessibility.test.js +217 -0
  261. package/select/Select.js +152 -207
  262. package/select/Select.stories.tsx +515 -139
  263. package/select/Select.test.js +2001 -1751
  264. package/select/types.d.ts +16 -20
  265. package/sidenav/Sidenav.accessibility.test.js +59 -0
  266. package/sidenav/Sidenav.d.ts +6 -5
  267. package/sidenav/Sidenav.js +132 -78
  268. package/sidenav/Sidenav.stories.tsx +246 -151
  269. package/sidenav/Sidenav.test.js +26 -45
  270. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  271. package/{layout → sidenav}/SidenavContext.js +3 -9
  272. package/sidenav/types.d.ts +52 -26
  273. package/slider/Slider.accessibility.test.js +104 -0
  274. package/slider/Slider.d.ts +2 -2
  275. package/slider/Slider.js +148 -181
  276. package/slider/Slider.test.js +185 -81
  277. package/slider/types.d.ts +7 -3
  278. package/spinner/Spinner.accessibility.test.js +96 -0
  279. package/spinner/Spinner.js +31 -75
  280. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  281. package/spinner/Spinner.test.js +26 -35
  282. package/spinner/types.d.ts +3 -3
  283. package/status-light/StatusLight.accessibility.test.js +157 -0
  284. package/status-light/StatusLight.d.ts +4 -0
  285. package/status-light/StatusLight.js +51 -0
  286. package/status-light/StatusLight.stories.tsx +74 -0
  287. package/status-light/StatusLight.test.js +25 -0
  288. package/status-light/types.d.ts +17 -0
  289. package/status-light/types.js +5 -0
  290. package/switch/Switch.accessibility.test.js +89 -0
  291. package/switch/Switch.d.ts +2 -2
  292. package/switch/Switch.js +145 -126
  293. package/switch/Switch.stories.tsx +37 -60
  294. package/switch/Switch.test.js +138 -56
  295. package/switch/types.d.ts +7 -3
  296. package/table/DropdownTheme.js +62 -0
  297. package/table/Table.accessibility.test.js +82 -0
  298. package/table/Table.d.ts +6 -2
  299. package/table/Table.js +78 -35
  300. package/table/Table.stories.tsx +651 -0
  301. package/table/Table.test.js +95 -8
  302. package/table/types.d.ts +34 -6
  303. package/tabs/Tab.d.ts +4 -0
  304. package/tabs/Tab.js +116 -0
  305. package/tabs/Tabs.accessibility.test.js +56 -0
  306. package/tabs/Tabs.js +314 -141
  307. package/tabs/Tabs.stories.tsx +120 -6
  308. package/tabs/Tabs.test.js +223 -69
  309. package/tabs/types.d.ts +28 -18
  310. package/tag/Tag.accessibility.test.js +69 -0
  311. package/tag/Tag.js +35 -67
  312. package/tag/Tag.stories.tsx +18 -8
  313. package/tag/Tag.test.js +18 -37
  314. package/tag/types.d.ts +9 -9
  315. package/text-input/Suggestion.js +40 -28
  316. package/text-input/Suggestions.d.ts +4 -0
  317. package/text-input/Suggestions.js +86 -0
  318. package/text-input/TextInput.accessibility.test.js +321 -0
  319. package/text-input/TextInput.js +311 -514
  320. package/text-input/TextInput.stories.tsx +266 -275
  321. package/text-input/TextInput.test.js +1419 -1375
  322. package/text-input/types.d.ts +43 -16
  323. package/textarea/Textarea.accessibility.test.js +155 -0
  324. package/textarea/Textarea.js +70 -113
  325. package/textarea/Textarea.stories.tsx +174 -0
  326. package/textarea/Textarea.test.js +152 -183
  327. package/textarea/types.d.ts +9 -5
  328. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  329. package/toggle-group/ToggleGroup.d.ts +2 -2
  330. package/toggle-group/ToggleGroup.js +92 -106
  331. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  332. package/toggle-group/ToggleGroup.test.js +69 -88
  333. package/toggle-group/types.d.ts +26 -17
  334. package/typography/Typography.accessibility.test.js +339 -0
  335. package/typography/Typography.d.ts +4 -0
  336. package/typography/Typography.js +23 -0
  337. package/typography/Typography.stories.tsx +198 -0
  338. package/typography/types.d.ts +18 -0
  339. package/typography/types.js +5 -0
  340. package/useTheme.d.ts +1147 -1
  341. package/useTheme.js +2 -9
  342. package/useTranslatedLabels.d.ts +84 -1
  343. package/useTranslatedLabels.js +1 -7
  344. package/utils/BaseTypography.d.ts +21 -0
  345. package/utils/BaseTypography.js +94 -0
  346. package/utils/FocusLock.d.ts +13 -0
  347. package/utils/FocusLock.js +124 -0
  348. package/wizard/Wizard.accessibility.test.js +55 -0
  349. package/wizard/Wizard.js +24 -66
  350. package/wizard/Wizard.stories.tsx +40 -1
  351. package/wizard/Wizard.test.js +54 -81
  352. package/wizard/types.d.ts +8 -8
  353. package/card/ice-cream.jpg +0 -0
  354. package/common/OpenSans.css +0 -81
  355. package/common/RequiredComponent.js +0 -32
  356. package/common/fonts/OpenSans-Bold.ttf +0 -0
  357. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  358. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  359. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  360. package/common/fonts/OpenSans-Italic.ttf +0 -0
  361. package/common/fonts/OpenSans-Light.ttf +0 -0
  362. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  363. package/common/fonts/OpenSans-Regular.ttf +0 -0
  364. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  365. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  366. package/list/List.d.ts +0 -4
  367. package/list/List.js +0 -47
  368. package/list/List.stories.tsx +0 -95
  369. package/list/types.d.ts +0 -7
  370. package/number-input/numberInputContextTypes.d.ts +0 -19
  371. package/resultsetTable/ResultsetTable.d.ts +0 -4
  372. package/resultsetTable/ResultsetTable.js +0 -254
  373. package/resultsetTable/ResultsetTable.test.js +0 -306
  374. package/row/Row.d.ts +0 -3
  375. package/row/Row.js +0 -127
  376. package/row/Row.stories.tsx +0 -237
  377. package/row/types.d.ts +0 -28
  378. package/slider/Slider.stories.tsx +0 -177
  379. package/stack/Stack.d.ts +0 -3
  380. package/stack/Stack.js +0 -97
  381. package/stack/Stack.stories.tsx +0 -164
  382. package/stack/types.d.ts +0 -24
  383. package/table/Table.stories.jsx +0 -277
  384. package/tabs-nav/NavTabs.d.ts +0 -8
  385. package/tabs-nav/Tab.js +0 -132
  386. package/text/Text.d.ts +0 -7
  387. package/text/Text.js +0 -30
  388. package/text/Text.stories.tsx +0 -19
  389. package/textarea/Textarea.stories.jsx +0 -157
  390. /package/{list → action-icon}/types.js +0 -0
  391. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  392. /package/{row → container}/types.js +0 -0
  393. /package/{stack → contextual-menu}/types.js +0 -0
  394. /package/{tabs-nav → divider}/types.js +0 -0
  395. /package/{number-input/numberInputContextTypes.js → flex/types.js} +0 -0
  396. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,14 +1,15 @@
1
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";
2
+ import { userEvent, within } from "@storybook/testing-library";
5
3
  import Title from "../../.storybook/components/Title";
6
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
- import DarkContainer from "../../.storybook/components/DarkSection";
8
5
  import DxcTextInput from "./TextInput";
6
+ import Suggestions from "./Suggestions";
7
+ import { ThemeProvider } from "styled-components";
8
+ import useTheme from "../useTheme";
9
+ import { HalstackProvider } from "../HalstackContext";
9
10
 
10
11
  export default {
11
- title: "Text input",
12
+ title: "Text Input",
12
13
  component: DxcTextInput,
13
14
  };
14
15
 
@@ -22,7 +23,7 @@ const action = {
22
23
  ),
23
24
  };
24
25
 
25
- const actionLargeIcon = {
26
+ const actionLargeIconSVG = {
26
27
  onClick: () => {},
27
28
  icon: (
28
29
  <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
@@ -32,14 +33,19 @@ const actionLargeIcon = {
32
33
  ),
33
34
  };
34
35
 
36
+ const actionLargeIconURL = {
37
+ onClick: () => {},
38
+ icon: "search",
39
+ };
40
+
35
41
  const country = ["Afghanistan"];
36
42
  const countries = [
37
43
  "Afghanistan",
38
44
  "Albania",
39
45
  "Algeria",
40
- "Andorra Andorra Andorra Andorra Andorra Andorra Andorra Andorra",
46
+ "Andorra",
41
47
  "Angola",
42
- "Antigua and Barbuda Antigua and Barbuda Antigua and Barbuda",
48
+ "Antigua and Barbuda",
43
49
  "Bahamas",
44
50
  "Bahrain",
45
51
  "Bangladesh",
@@ -58,6 +64,13 @@ const countries = [
58
64
  "Djibouti",
59
65
  ];
60
66
 
67
+ const opinionatedTheme = {
68
+ textInput: {
69
+ fontColor: "#000000",
70
+ hoverBorderColor: "#a46ede",
71
+ },
72
+ };
73
+
61
74
  export const Chromatic = () => (
62
75
  <>
63
76
  <ExampleContainer pseudoState="pseudo-hover">
@@ -72,6 +85,14 @@ export const Chromatic = () => (
72
85
  <Title title="Hovered action" theme="light" level={4} />
73
86
  <DxcTextInput label="Text input" defaultValue="Text" clearable />
74
87
  </ExampleContainer>
88
+ <ExampleContainer pseudoState="pseudo-active">
89
+ <Title title="Actived action" theme="light" level={4} />
90
+ <DxcTextInput label="Text input" action={action} clearable />
91
+ </ExampleContainer>
92
+ <ExampleContainer pseudoState="pseudo-focus">
93
+ <Title title="Focused action" theme="light" level={4} />
94
+ <DxcTextInput label="Text input" action={action} clearable />
95
+ </ExampleContainer>
75
96
  <ExampleContainer>
76
97
  <Title title="Without label" theme="light" level={4} />
77
98
  <DxcTextInput />
@@ -85,12 +106,21 @@ export const Chromatic = () => (
85
106
  <DxcTextInput label="Text input" clearable defaultValue="Text" helperText="Help message" optional />
86
107
  </ExampleContainer>
87
108
  <ExampleContainer>
88
- <Title title="Clearable and large icon action" theme="light" level={4} />
109
+ <Title title="Clearable and large icon action (SVG)" theme="light" level={4} />
110
+ <DxcTextInput
111
+ label="Text input"
112
+ defaultValue="Text text text text text text text text text text"
113
+ clearable
114
+ action={actionLargeIconSVG}
115
+ />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="Clearable and large icon action (URL)" theme="light" level={4} />
89
119
  <DxcTextInput
90
120
  label="Text input"
91
121
  defaultValue="Text text text text text text text text text text"
92
122
  clearable
93
- action={actionLargeIcon}
123
+ action={actionLargeIconURL}
94
124
  />
95
125
  </ExampleContainer>
96
126
  <ExampleContainer>
@@ -150,86 +180,45 @@ export const Chromatic = () => (
150
180
  action={action}
151
181
  />
152
182
  </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>
183
+ <ExampleContainer>
184
+ <Title title="Read only" theme="light" level={4} />
185
+ <DxcTextInput
186
+ label="Example label"
187
+ helperText="Help message"
188
+ clearable
189
+ readOnly
190
+ optional
191
+ prefix="+34"
192
+ defaultValue="Text"
193
+ action={action}
194
+ />
195
+ </ExampleContainer>
196
+ <ExampleContainer pseudoState="pseudo-hover">
197
+ <Title title="Hovered read only" theme="light" level={4} />
198
+ <DxcTextInput
199
+ label="Example label"
200
+ helperText="Help message"
201
+ clearable
202
+ readOnly
203
+ optional
204
+ prefix="+34"
205
+ defaultValue="Text"
206
+ action={action}
207
+ />
208
+ </ExampleContainer>
209
+ <ExampleContainer pseudoState="pseudo-active">
210
+ <Title title="Active read only" theme="light" level={4} />
211
+ <DxcTextInput
212
+ label="Example label"
213
+ helperText="Help message"
214
+ clearable
215
+ readOnly
216
+ optional
217
+ prefix="+34"
218
+ defaultValue="Text"
219
+ action={action}
220
+ />
221
+ </ExampleContainer>
233
222
  <Title title="Margins" theme="light" level={2} />
234
223
  <ExampleContainer>
235
224
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -276,199 +265,201 @@ export const Chromatic = () => (
276
265
  <Title title="FillParent size" theme="light" level={4} />
277
266
  <DxcTextInput label="FillParent" size="fillParent" />
278
267
  </ExampleContainer>
268
+ <Title title="Opinionated theme" theme="light" level={2} />
269
+ <ExampleContainer>
270
+ <HalstackProvider theme={opinionatedTheme}>
271
+ <ExampleContainer pseudoState="pseudo-hover">
272
+ <Title title="Hovered input" theme="light" level={4} />
273
+ <DxcTextInput label="Text input" helperText="Help message" />
274
+ </ExampleContainer>
275
+ <ExampleContainer pseudoState="pseudo-focus-within">
276
+ <Title title="Focused input" theme="light" level={4} />
277
+ <DxcTextInput label="Text input" helperText="Help message" />
278
+ </ExampleContainer>
279
+ <ExampleContainer pseudoState="pseudo-hover">
280
+ <Title title="Hovered action" theme="light" level={4} />
281
+ <DxcTextInput label="Text input" helperText="Help message" defaultValue="Text" clearable />
282
+ </ExampleContainer>
283
+ <ExampleContainer pseudoState="pseudo-active">
284
+ <Title title="Actived action" theme="light" level={4} />
285
+ <DxcTextInput label="Text input" helperText="Help message" action={action} clearable />
286
+ </ExampleContainer>
287
+ <ExampleContainer pseudoState="pseudo-focus">
288
+ <Title title="Focused action" theme="light" level={4} />
289
+ <DxcTextInput label="Text input" helperText="Help message" action={action} clearable />
290
+ </ExampleContainer>
291
+ <ExampleContainer>
292
+ <Title title="Prefix" theme="light" level={4} />
293
+ <DxcTextInput label="With prefix" prefix="+34" helperText="Help message" />
294
+ </ExampleContainer>
295
+ <ExampleContainer>
296
+ <Title title="Suffix and action" theme="light" level={4} />
297
+ <DxcTextInput label="With suffix" helperText="Help message" suffix="USD" action={action} />
298
+ </ExampleContainer>
299
+ <ExampleContainer>
300
+ <Title title="Invalid" theme="light" level={4} />
301
+ <DxcTextInput
302
+ label="Error text input"
303
+ helperText="Help message"
304
+ error="Error message."
305
+ defaultValue="Text"
306
+ clearable
307
+ optional
308
+ action={action}
309
+ />
310
+ </ExampleContainer>
311
+ <ExampleContainer>
312
+ <Title title="Disabled and placeholder" theme="light" level={4} />
313
+ <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" prefix="+34" suffix="USD" />
314
+ </ExampleContainer>
315
+ <ExampleContainer>
316
+ <Title title="Disabled, helper text, optional, value and action" theme="light" level={4} />
317
+ <DxcTextInput
318
+ label="Disabled text input"
319
+ helperText="Help message"
320
+ disabled
321
+ optional
322
+ defaultValue="Text"
323
+ action={action}
324
+ />
325
+ </ExampleContainer>
326
+ </HalstackProvider>
327
+ </ExampleContainer>
279
328
  </>
280
329
  );
281
330
 
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
- );
331
+ const AutosuggestListbox = () => {
332
+ const colorsTheme: any = useTheme();
356
333
 
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 />
334
+ return (
335
+ <ThemeProvider theme={colorsTheme.textInput}>
336
+ <ExampleContainer>
337
+ <Title title="Autosuggest listbox" theme="light" level={2} />
338
+ <ExampleContainer>
339
+ <Title
340
+ title="List dialog uses a Radix Popover to appear over elements with a certain z-index"
341
+ theme="light"
342
+ level={3}
343
+ />
344
+ <div
345
+ style={{
346
+ display: "flex",
347
+ flexDirection: "column",
348
+ gap: "20px",
349
+ height: "150px",
350
+ width: "500px",
351
+ marginBottom: "250px",
352
+ padding: "20px",
353
+ border: "1px solid black",
354
+ borderRadius: "4px",
355
+ overflow: "auto",
356
+ zIndex: "1300",
357
+ position: "relative",
358
+ }}
359
+ >
360
+ <DxcTextInput
361
+ label="Label"
362
+ suggestions={countries}
363
+ optional
364
+ placeholder="Choose an option"
365
+ size="fillParent"
366
+ />
367
+ <button style={{ zIndex: "1", width: "100px" }}>Submit</button>
368
+ </div>
369
+ </ExampleContainer>
370
+ <Title title="Listbox suggestion states" theme="light" level={3} />
371
+ <ExampleContainer pseudoState="pseudo-hover">
372
+ <Title title="Hovered suggestion" theme="light" level={4} />
373
+ <Suggestions
374
+ id="x"
375
+ value=""
376
+ suggestions={country}
377
+ visualFocusIndex={-1}
378
+ highlightedSuggestions={false}
379
+ searchHasErrors={false}
380
+ isSearching={false}
381
+ suggestionOnClick={() => {}}
382
+ styles={{ width: 350 }}
383
+ />
384
+ </ExampleContainer>
385
+ <ExampleContainer pseudoState="pseudo-active">
386
+ <Title title="Active suggestion" theme="light" level={4} />
387
+ <Suggestions
388
+ id="x"
389
+ value=""
390
+ suggestions={country}
391
+ visualFocusIndex={-1}
392
+ highlightedSuggestions={false}
393
+ searchHasErrors={false}
394
+ isSearching={false}
395
+ suggestionOnClick={(suggestion) => {}}
396
+ styles={{ width: 350 }}
397
+ />
398
+ </ExampleContainer>
399
+ <ExampleContainer>
400
+ <Title title="Focused suggestion" theme="light" level={4} />
401
+ <Suggestions
402
+ id="x"
403
+ value=""
404
+ suggestions={country}
405
+ visualFocusIndex={0}
406
+ highlightedSuggestions={false}
407
+ searchHasErrors={false}
408
+ isSearching={false}
409
+ suggestionOnClick={(suggestion) => {}}
410
+ styles={{ width: 350 }}
411
+ />
412
+ </ExampleContainer>
413
+ <ExampleContainer>
414
+ <Title title="Highlighted suggestion" theme="light" level={4} />
415
+ <Suggestions
416
+ id="x"
417
+ value="Afgh"
418
+ suggestions={country}
419
+ visualFocusIndex={-1}
420
+ highlightedSuggestions={true}
421
+ searchHasErrors={false}
422
+ isSearching={false}
423
+ suggestionOnClick={(suggestion) => {}}
424
+ styles={{ width: 350 }}
425
+ />
426
+ </ExampleContainer>
363
427
  </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 />
428
+ <ExampleContainer>
429
+ <Title title="Autosuggest Error" theme="light" level={3} />
430
+ <Suggestions
431
+ id="x"
432
+ value=""
433
+ suggestions={country}
434
+ visualFocusIndex={-1}
435
+ highlightedSuggestions={false}
436
+ searchHasErrors={true}
437
+ isSearching={false}
438
+ suggestionOnClick={(suggestion) => {}}
439
+ styles={{ width: 350 }}
440
+ />
374
441
  </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 />
442
+ <ExampleContainer>
443
+ <Title title="Autosuggest Searching message" theme="light" level={3} />
444
+ <Suggestions
445
+ id="x"
446
+ value=""
447
+ suggestions={country}
448
+ visualFocusIndex={-1}
449
+ highlightedSuggestions={false}
450
+ searchHasErrors={false}
451
+ isSearching={true}
452
+ suggestionOnClick={(suggestion) => {}}
453
+ styles={{ width: 350 }}
454
+ />
385
455
  </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 });
456
+ </ThemeProvider>
457
+ );
467
458
  };
468
459
 
469
- export const ActivedOptionOnDark = ActivedOptionAutosuggestOnDark.bind({});
470
- ActivedOptionOnDark.play = async ({ canvasElement }) => {
460
+ export const AutosuggestListboxStates = AutosuggestListbox.bind({});
461
+ AutosuggestListboxStates.play = async ({ canvasElement }) => {
471
462
  const canvas = within(canvasElement);
472
- const autosuggest = canvas.getByRole("combobox");
473
- await userEvent.click(autosuggest);
463
+ const select = canvas.getByRole("combobox");
464
+ await userEvent.click(select);
474
465
  };