@dxc-technology/halstack-react 0.0.0-5aa300b → 0.0.0-5b32837

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 (292) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1231 -6
  4. package/HalstackContext.js +121 -105
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +30 -87
  8. package/accordion/Accordion.stories.tsx +52 -115
  9. package/accordion/Accordion.test.js +19 -34
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +29 -77
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +44 -72
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +6 -18
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +19 -58
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +141 -43
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -3
  32. package/bleed/Bleed.js +13 -21
  33. package/bleed/Bleed.stories.tsx +1 -0
  34. package/bleed/types.d.ts +2 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +18 -59
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -15
  40. package/bulleted-list/BulletedList.js +19 -53
  41. package/bulleted-list/BulletedList.stories.tsx +8 -93
  42. package/bulleted-list/types.d.ts +32 -5
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +68 -102
  45. package/button/Button.stories.tsx +104 -94
  46. package/button/Button.test.js +20 -17
  47. package/button/types.d.ts +8 -4
  48. package/card/Card.d.ts +1 -1
  49. package/card/Card.js +48 -89
  50. package/card/Card.stories.tsx +12 -42
  51. package/card/Card.test.js +11 -22
  52. package/card/types.d.ts +6 -12
  53. package/checkbox/Checkbox.js +87 -122
  54. package/checkbox/Checkbox.stories.tsx +68 -54
  55. package/checkbox/Checkbox.test.js +108 -64
  56. package/checkbox/types.d.ts +8 -4
  57. package/chip/Chip.js +36 -64
  58. package/chip/Chip.stories.tsx +80 -17
  59. package/chip/Chip.test.js +16 -31
  60. package/chip/types.d.ts +4 -4
  61. package/common/OpenSans.css +68 -80
  62. package/common/coreTokens.d.ts +237 -0
  63. package/common/coreTokens.js +184 -0
  64. package/common/utils.d.ts +1 -0
  65. package/common/utils.js +6 -12
  66. package/common/variables.d.ts +1383 -0
  67. package/common/variables.js +886 -1143
  68. package/container/Container.d.ts +4 -0
  69. package/container/Container.js +194 -0
  70. package/container/Container.stories.tsx +214 -0
  71. package/container/types.d.ts +74 -0
  72. package/date-input/Calendar.d.ts +1 -1
  73. package/date-input/Calendar.js +52 -96
  74. package/date-input/DateInput.js +103 -107
  75. package/date-input/DateInput.stories.tsx +194 -60
  76. package/date-input/DateInput.test.js +676 -620
  77. package/date-input/DatePicker.js +47 -92
  78. package/date-input/Icons.d.ts +6 -0
  79. package/date-input/Icons.js +58 -0
  80. package/date-input/YearPicker.d.ts +1 -1
  81. package/date-input/YearPicker.js +29 -44
  82. package/date-input/types.d.ts +31 -27
  83. package/dialog/Dialog.d.ts +1 -1
  84. package/dialog/Dialog.js +61 -119
  85. package/dialog/Dialog.stories.tsx +310 -212
  86. package/dialog/Dialog.test.js +269 -32
  87. package/dialog/types.d.ts +18 -26
  88. package/dropdown/Dropdown.js +50 -103
  89. package/dropdown/Dropdown.stories.tsx +200 -82
  90. package/dropdown/Dropdown.test.js +393 -379
  91. package/dropdown/DropdownMenu.js +20 -37
  92. package/dropdown/DropdownMenuItem.js +9 -34
  93. package/dropdown/types.d.ts +17 -19
  94. package/file-input/FileInput.js +184 -256
  95. package/file-input/FileInput.stories.tsx +86 -3
  96. package/file-input/FileInput.test.js +356 -395
  97. package/file-input/FileItem.js +15 -41
  98. package/file-input/types.d.ts +10 -10
  99. package/flex/Flex.js +27 -39
  100. package/flex/Flex.stories.tsx +35 -26
  101. package/flex/types.d.ts +74 -9
  102. package/footer/Footer.d.ts +1 -1
  103. package/footer/Footer.js +70 -117
  104. package/footer/Footer.stories.tsx +55 -21
  105. package/footer/Footer.test.js +33 -57
  106. package/footer/Icons.d.ts +3 -2
  107. package/footer/Icons.js +66 -7
  108. package/footer/types.d.ts +25 -27
  109. package/grid/Grid.d.ts +7 -0
  110. package/grid/Grid.js +76 -0
  111. package/grid/Grid.stories.tsx +219 -0
  112. package/grid/types.d.ts +115 -0
  113. package/header/Header.d.ts +4 -3
  114. package/header/Header.js +48 -133
  115. package/header/Header.stories.tsx +115 -36
  116. package/header/Header.test.js +13 -26
  117. package/header/Icons.d.ts +2 -2
  118. package/header/Icons.js +2 -7
  119. package/header/types.d.ts +5 -20
  120. package/heading/Heading.js +10 -32
  121. package/heading/Heading.test.js +71 -88
  122. package/heading/types.d.ts +7 -7
  123. package/image/Image.d.ts +4 -0
  124. package/image/Image.js +70 -0
  125. package/image/Image.stories.tsx +127 -0
  126. package/image/types.d.ts +72 -0
  127. package/image/types.js +5 -0
  128. package/inset/Inset.js +13 -21
  129. package/inset/Inset.stories.tsx +2 -1
  130. package/inset/types.d.ts +2 -2
  131. package/layout/ApplicationLayout.d.ts +5 -5
  132. package/layout/ApplicationLayout.js +29 -66
  133. package/layout/ApplicationLayout.stories.tsx +1 -1
  134. package/layout/Icons.d.ts +8 -5
  135. package/layout/Icons.js +51 -59
  136. package/layout/SidenavContext.d.ts +1 -1
  137. package/layout/SidenavContext.js +3 -9
  138. package/layout/types.d.ts +5 -6
  139. package/link/Link.js +24 -45
  140. package/link/Link.stories.tsx +60 -0
  141. package/link/Link.test.js +24 -44
  142. package/link/types.d.ts +14 -14
  143. package/main.d.ts +8 -5
  144. package/main.js +33 -59
  145. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  146. package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
  147. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +109 -5
  148. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  149. package/nav-tabs/Tab.js +118 -0
  150. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  151. package/nav-tabs/types.js +5 -0
  152. package/number-input/NumberInput.d.ts +7 -0
  153. package/number-input/NumberInput.js +26 -35
  154. package/number-input/NumberInput.stories.tsx +42 -26
  155. package/number-input/NumberInput.test.js +701 -413
  156. package/number-input/types.d.ts +11 -5
  157. package/package.json +31 -29
  158. package/paginator/Icons.d.ts +5 -5
  159. package/paginator/Icons.js +5 -19
  160. package/paginator/Paginator.js +17 -47
  161. package/paginator/Paginator.stories.tsx +24 -0
  162. package/paginator/Paginator.test.js +252 -225
  163. package/paginator/types.d.ts +3 -3
  164. package/paragraph/Paragraph.d.ts +3 -4
  165. package/paragraph/Paragraph.js +6 -22
  166. package/paragraph/Paragraph.stories.tsx +0 -17
  167. package/password-input/Icons.d.ts +6 -0
  168. package/password-input/Icons.js +35 -0
  169. package/password-input/PasswordInput.js +57 -126
  170. package/password-input/PasswordInput.stories.tsx +1 -33
  171. package/password-input/PasswordInput.test.js +158 -141
  172. package/password-input/types.d.ts +8 -7
  173. package/progress-bar/ProgressBar.d.ts +2 -2
  174. package/progress-bar/ProgressBar.js +23 -55
  175. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  176. package/progress-bar/ProgressBar.test.js +36 -53
  177. package/progress-bar/types.d.ts +4 -3
  178. package/quick-nav/QuickNav.js +4 -27
  179. package/quick-nav/QuickNav.stories.tsx +15 -1
  180. package/quick-nav/types.d.ts +10 -10
  181. package/radio-group/Radio.d.ts +1 -1
  182. package/radio-group/Radio.js +31 -63
  183. package/radio-group/RadioGroup.js +45 -93
  184. package/radio-group/RadioGroup.stories.tsx +131 -18
  185. package/radio-group/RadioGroup.test.js +505 -471
  186. package/radio-group/types.d.ts +8 -8
  187. package/resultset-table/Icons.d.ts +7 -0
  188. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  189. package/resultset-table/ResultsetTable.d.ts +7 -0
  190. package/{resultsetTable → resultset-table}/ResultsetTable.js +38 -66
  191. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +86 -5
  192. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +155 -114
  193. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  194. package/resultset-table/types.js +5 -0
  195. package/select/Icons.d.ts +7 -7
  196. package/select/Icons.js +1 -5
  197. package/select/Listbox.d.ts +1 -1
  198. package/select/Listbox.js +17 -72
  199. package/select/Option.js +19 -40
  200. package/select/Select.js +120 -175
  201. package/select/Select.stories.tsx +478 -190
  202. package/select/Select.test.js +1974 -1837
  203. package/select/types.d.ts +16 -17
  204. package/sidenav/Icons.d.ts +7 -0
  205. package/sidenav/Icons.js +47 -0
  206. package/sidenav/Sidenav.d.ts +2 -2
  207. package/sidenav/Sidenav.js +81 -151
  208. package/sidenav/Sidenav.stories.tsx +110 -17
  209. package/sidenav/Sidenav.test.js +3 -10
  210. package/sidenav/types.d.ts +31 -28
  211. package/slider/Slider.js +70 -128
  212. package/slider/Slider.test.js +108 -104
  213. package/slider/types.d.ts +4 -4
  214. package/spinner/Spinner.js +29 -73
  215. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  216. package/spinner/Spinner.test.js +26 -35
  217. package/spinner/types.d.ts +3 -3
  218. package/status-light/StatusLight.d.ts +4 -0
  219. package/status-light/StatusLight.js +51 -0
  220. package/status-light/StatusLight.stories.tsx +74 -0
  221. package/status-light/StatusLight.test.js +25 -0
  222. package/status-light/types.d.ts +17 -0
  223. package/status-light/types.js +5 -0
  224. package/switch/Switch.js +51 -99
  225. package/switch/Switch.stories.tsx +33 -34
  226. package/switch/Switch.test.js +52 -97
  227. package/switch/types.d.ts +4 -4
  228. package/table/ActionsCell.d.ts +4 -0
  229. package/table/ActionsCell.js +54 -0
  230. package/table/DropdownTheme.js +57 -0
  231. package/table/Table.d.ts +4 -1
  232. package/table/Table.js +27 -32
  233. package/table/Table.stories.tsx +615 -0
  234. package/table/Table.test.js +94 -7
  235. package/table/types.d.ts +45 -6
  236. package/tabs/Tab.js +23 -40
  237. package/tabs/Tabs.js +62 -145
  238. package/tabs/Tabs.stories.tsx +39 -1
  239. package/tabs/Tabs.test.js +66 -123
  240. package/tabs/types.d.ts +19 -19
  241. package/tag/Tag.js +28 -60
  242. package/tag/Tag.stories.tsx +14 -1
  243. package/tag/Tag.test.js +20 -31
  244. package/tag/types.d.ts +7 -7
  245. package/text-input/Icons.d.ts +5 -5
  246. package/text-input/Icons.js +1 -5
  247. package/text-input/Suggestion.js +11 -28
  248. package/text-input/Suggestions.d.ts +1 -1
  249. package/text-input/Suggestions.js +15 -65
  250. package/text-input/TextInput.js +219 -320
  251. package/text-input/TextInput.stories.tsx +117 -152
  252. package/text-input/TextInput.test.js +1211 -1196
  253. package/text-input/types.d.ts +25 -17
  254. package/textarea/Textarea.js +70 -113
  255. package/textarea/Textarea.stories.tsx +174 -0
  256. package/textarea/Textarea.test.js +152 -183
  257. package/textarea/types.d.ts +9 -5
  258. package/toggle-group/ToggleGroup.d.ts +2 -2
  259. package/toggle-group/ToggleGroup.js +92 -106
  260. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  261. package/toggle-group/ToggleGroup.test.js +69 -88
  262. package/toggle-group/types.d.ts +26 -17
  263. package/typography/Typography.d.ts +2 -2
  264. package/typography/Typography.js +15 -123
  265. package/typography/Typography.stories.tsx +1 -1
  266. package/typography/types.d.ts +1 -1
  267. package/useTheme.d.ts +1135 -1
  268. package/useTheme.js +2 -9
  269. package/useTranslatedLabels.d.ts +84 -1
  270. package/useTranslatedLabels.js +1 -7
  271. package/utils/BaseTypography.d.ts +21 -0
  272. package/utils/BaseTypography.js +94 -0
  273. package/utils/FocusLock.d.ts +13 -0
  274. package/utils/FocusLock.js +124 -0
  275. package/wizard/Wizard.js +16 -51
  276. package/wizard/Wizard.stories.tsx +20 -0
  277. package/wizard/Wizard.test.js +54 -81
  278. package/wizard/types.d.ts +8 -9
  279. package/card/ice-cream.jpg +0 -0
  280. package/number-input/NumberInputContext.d.ts +0 -4
  281. package/number-input/NumberInputContext.js +0 -19
  282. package/number-input/numberInputContextTypes.d.ts +0 -19
  283. package/resultsetTable/Icons.d.ts +0 -7
  284. package/resultsetTable/ResultsetTable.d.ts +0 -4
  285. package/slider/Slider.stories.tsx +0 -183
  286. package/table/Table.stories.jsx +0 -277
  287. package/tabs-nav/Tab.js +0 -128
  288. package/textarea/Textarea.stories.jsx +0 -157
  289. /package/{resultsetTable → action-icon}/types.js +0 -0
  290. /package/{tabs-nav → container}/types.js +0 -0
  291. /package/{number-input/numberInputContextTypes.js → grid/types.js} +0 -0
  292. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,19 +1,15 @@
1
1
  import React from "react";
2
2
  import { userEvent, within } from "@storybook/testing-library";
3
- import { BackgroundColorProvider } from "../BackgroundColorContext";
4
3
  import Title from "../../.storybook/components/Title";
5
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import DarkContainer from "../../.storybook/components/DarkSection";
7
5
  import DxcTextInput from "./TextInput";
8
- import DxcButton from "../button/Button";
9
- import DxcCheckbox from "../checkbox/Checkbox";
10
- import DxcFlex from "../flex/Flex";
11
6
  import Suggestions from "./Suggestions";
12
7
  import { ThemeProvider } from "styled-components";
13
8
  import useTheme from "../useTheme";
9
+ import { HalstackProvider } from "../HalstackContext";
14
10
 
15
11
  export default {
16
- title: "Text input",
12
+ title: "Text Input",
17
13
  component: DxcTextInput,
18
14
  };
19
15
 
@@ -47,9 +43,9 @@ const countries = [
47
43
  "Afghanistan",
48
44
  "Albania",
49
45
  "Algeria",
50
- "Andorra Andorra Andorra Andorra Andorra Andorra Andorra Andorra",
46
+ "Andorra",
51
47
  "Angola",
52
- "Antigua and Barbuda Antigua and Barbuda Antigua and Barbuda",
48
+ "Antigua and Barbuda",
53
49
  "Bahamas",
54
50
  "Bahrain",
55
51
  "Bangladesh",
@@ -66,9 +62,15 @@ const countries = [
66
62
  "Dominica",
67
63
  "Denmark",
68
64
  "Djibouti",
69
- "*",
70
65
  ];
71
66
 
67
+ const opinionatedTheme = {
68
+ textInput: {
69
+ fontColor: "#000000",
70
+ hoverBorderColor: "#a46ede",
71
+ },
72
+ };
73
+
72
74
  export const Chromatic = () => (
73
75
  <>
74
76
  <ExampleContainer pseudoState="pseudo-hover">
@@ -178,94 +180,45 @@ export const Chromatic = () => (
178
180
  action={action}
179
181
  />
180
182
  </ExampleContainer>
181
- <BackgroundColorProvider color="#333333">
182
- <DarkContainer>
183
- <Title title="Dark theme" theme="dark" level={2} />
184
- <ExampleContainer pseudoState="pseudo-hover">
185
- <Title title="Hovered" theme="dark" level={4} />
186
- <DxcTextInput label="Text input" />
187
- </ExampleContainer>
188
- <ExampleContainer pseudoState="pseudo-focus-within">
189
- <Title title="Focused" theme="dark" level={4} />
190
- <DxcTextInput label="Text input" />
191
- </ExampleContainer>
192
- <ExampleContainer pseudoState="pseudo-hover">
193
- <Title title="Hovered action" theme="dark" level={4} />
194
- <DxcTextInput label="Text input" defaultValue="Text" clearable />
195
- </ExampleContainer>
196
- <ExampleContainer pseudoState="pseudo-active">
197
- <Title title="Actived action" theme="dark" level={4} />
198
- <DxcTextInput label="Text input" action={action} clearable />
199
- </ExampleContainer>
200
- <ExampleContainer pseudoState="pseudo-focus">
201
- <Title title="Focused action" theme="dark" level={4} />
202
- <DxcTextInput label="Text input" action={action} clearable />
203
- </ExampleContainer>
204
- <ExampleContainer>
205
- <Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
206
- <DxcTextInput
207
- label="Text input"
208
- helperText="Help message"
209
- placeholder="Placeholder"
210
- clearable
211
- optional
212
- action={action}
213
- />
214
- </ExampleContainer>
215
- <ExampleContainer>
216
- <Title title="Invalid" theme="dark" level={4} />
217
- <DxcTextInput
218
- label="Error text input"
219
- helperText="Help message"
220
- error="Error message."
221
- defaultValue="Text"
222
- clearable
223
- action={action}
224
- />
225
- </ExampleContainer>
226
- <ExampleContainer pseudoState="pseudo-hover">
227
- <Title title="Invalid and hovered" theme="dark" level={4} />
228
- <DxcTextInput
229
- label="Error text input"
230
- helperText="Help message"
231
- placeholder="Placeholder"
232
- error="Error message."
233
- />
234
- </ExampleContainer>
235
- <ExampleContainer>
236
- <Title title="Prefix and suffix" theme="dark" level={4} />
237
- <DxcTextInput label="With prefix and suffix" prefix="+34" suffix="USD" />
238
- </ExampleContainer>
239
- <ExampleContainer>
240
- <Title title="Disabled and placeholder" theme="dark" level={4} />
241
- <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
242
- </ExampleContainer>
243
- <ExampleContainer>
244
- <Title title="Disabled, helper text, optional, value and action" theme="dark" level={4} />
245
- <DxcTextInput
246
- label="Disabled text input"
247
- helperText="Help message"
248
- disabled
249
- optional
250
- defaultValue="Text"
251
- action={action}
252
- />
253
- </ExampleContainer>
254
- <ExampleContainer>
255
- <Title title="Disabled with prefix and suffix" theme="dark" level={4} />
256
- <DxcTextInput
257
- label="Disabled text input"
258
- helperText="Help message"
259
- disabled
260
- optional
261
- prefix="+34"
262
- suffix="USD"
263
- defaultValue="Text"
264
- action={action}
265
- />
266
- </ExampleContainer>
267
- </DarkContainer>
268
- </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>
269
222
  <Title title="Margins" theme="light" level={2} />
270
223
  <ExampleContainer>
271
224
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -312,6 +265,66 @@ export const Chromatic = () => (
312
265
  <Title title="FillParent size" theme="light" level={4} />
313
266
  <DxcTextInput label="FillParent" size="fillParent" />
314
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>
315
328
  </>
316
329
  );
317
330
 
@@ -341,6 +354,7 @@ const AutosuggestListbox = () => {
341
354
  borderRadius: "4px",
342
355
  overflow: "auto",
343
356
  zIndex: "1300",
357
+ position: "relative",
344
358
  }}
345
359
  >
346
360
  <DxcTextInput
@@ -365,7 +379,7 @@ const AutosuggestListbox = () => {
365
379
  searchHasErrors={false}
366
380
  isSearching={false}
367
381
  suggestionOnClick={() => {}}
368
- getTextInputWidth={() => 350}
382
+ styles={{ width: 350 }}
369
383
  />
370
384
  </ExampleContainer>
371
385
  <ExampleContainer pseudoState="pseudo-active">
@@ -379,7 +393,7 @@ const AutosuggestListbox = () => {
379
393
  searchHasErrors={false}
380
394
  isSearching={false}
381
395
  suggestionOnClick={(suggestion) => {}}
382
- getTextInputWidth={() => 350}
396
+ styles={{ width: 350 }}
383
397
  />
384
398
  </ExampleContainer>
385
399
  <ExampleContainer>
@@ -393,7 +407,7 @@ const AutosuggestListbox = () => {
393
407
  searchHasErrors={false}
394
408
  isSearching={false}
395
409
  suggestionOnClick={(suggestion) => {}}
396
- getTextInputWidth={() => 350}
410
+ styles={{ width: 350 }}
397
411
  />
398
412
  </ExampleContainer>
399
413
  <ExampleContainer>
@@ -407,7 +421,7 @@ const AutosuggestListbox = () => {
407
421
  searchHasErrors={false}
408
422
  isSearching={false}
409
423
  suggestionOnClick={(suggestion) => {}}
410
- getTextInputWidth={() => 350}
424
+ styles={{ width: 350 }}
411
425
  />
412
426
  </ExampleContainer>
413
427
  </ExampleContainer>
@@ -422,7 +436,7 @@ const AutosuggestListbox = () => {
422
436
  searchHasErrors={true}
423
437
  isSearching={false}
424
438
  suggestionOnClick={(suggestion) => {}}
425
- getTextInputWidth={() => 350}
439
+ styles={{ width: 350 }}
426
440
  />
427
441
  </ExampleContainer>
428
442
  <ExampleContainer>
@@ -436,65 +450,16 @@ const AutosuggestListbox = () => {
436
450
  searchHasErrors={false}
437
451
  isSearching={true}
438
452
  suggestionOnClick={(suggestion) => {}}
439
- getTextInputWidth={() => 350}
453
+ styles={{ width: 350 }}
440
454
  />
441
455
  </ExampleContainer>
442
456
  </ThemeProvider>
443
457
  );
444
458
  };
445
459
 
446
- const DarkAutosuggestListbox = () => {
447
- const colorsTheme: any = useTheme();
448
-
449
- return (
450
- <ThemeProvider theme={colorsTheme.textInput}>
451
- <BackgroundColorProvider color="#333333">
452
- <DarkContainer>
453
- <Title title="Dark theme" theme="dark" level={2} />
454
- <ExampleContainer>
455
- <Title title="Default with opened suggestions" theme="dark" level={3} />
456
- <DxcFlex direction="column" gap="80px">
457
- <DxcTextInput label="Label" suggestions={countries} optional placeholder="Choose an option" />
458
- <DxcCheckbox
459
- label="You understand the selection and give your consent"
460
- onChange={() => {}}
461
- labelPosition="after"
462
- />
463
- <DxcButton label="Submit" onClick={() => {}} size="medium" margin={{ bottom: "xxlarge" }} />
464
- </DxcFlex>
465
- </ExampleContainer>
466
- <ExampleContainer>
467
- <Title title="Autosuggest Error" theme="dark" level={3} />
468
- <div style={{ height: "100px" }}>
469
- <Suggestions
470
- id="x"
471
- value=""
472
- suggestions={country}
473
- visualFocusIndex={-1}
474
- highlightedSuggestions={false}
475
- searchHasErrors={true}
476
- isSearching={false}
477
- suggestionOnClick={(suggestion) => {}}
478
- getTextInputWidth={() => 350}
479
- />
480
- </div>
481
- </ExampleContainer>
482
- </DarkContainer>
483
- </BackgroundColorProvider>
484
- </ThemeProvider>
485
- );
486
- };
487
-
488
460
  export const AutosuggestListboxStates = AutosuggestListbox.bind({});
489
461
  AutosuggestListboxStates.play = async ({ canvasElement }) => {
490
462
  const canvas = within(canvasElement);
491
463
  const select = canvas.getByRole("combobox");
492
464
  await userEvent.click(select);
493
465
  };
494
-
495
- export const AutosuggestListboxOnDark = DarkAutosuggestListbox.bind({});
496
- AutosuggestListboxOnDark.play = async ({ canvasElement }) => {
497
- const canvas = within(canvasElement);
498
- const select = canvas.getByRole("combobox");
499
- await userEvent.click(select);
500
- };