@dxc-technology/halstack-react 0.0.0-49c38a4 → 0.0.0-4a67e25

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 (225) hide show
  1. package/HalstackContext.d.ts +12 -0
  2. package/HalstackContext.js +294 -0
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +121 -123
  5. package/accordion/Accordion.stories.tsx +13 -14
  6. package/accordion/Accordion.test.js +25 -11
  7. package/accordion/types.d.ts +9 -4
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +15 -36
  10. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  11. package/accordion-group/AccordionGroup.test.js +30 -37
  12. package/accordion-group/types.d.ts +14 -3
  13. package/alert/Alert.js +5 -2
  14. package/badge/Badge.d.ts +1 -1
  15. package/badge/Badge.js +5 -3
  16. package/badge/types.d.ts +1 -0
  17. package/bleed/Bleed.js +1 -34
  18. package/bleed/Bleed.stories.tsx +94 -95
  19. package/bleed/types.d.ts +25 -1
  20. package/box/Box.js +23 -33
  21. package/box/types.d.ts +1 -0
  22. package/bulleted-list/BulletedList.d.ts +7 -0
  23. package/bulleted-list/BulletedList.js +123 -0
  24. package/bulleted-list/BulletedList.stories.tsx +200 -0
  25. package/bulleted-list/types.d.ts +11 -0
  26. package/{list → bulleted-list}/types.js +0 -0
  27. package/button/Button.js +53 -68
  28. package/button/Button.stories.tsx +9 -0
  29. package/button/types.d.ts +7 -7
  30. package/card/Card.js +24 -27
  31. package/card/types.d.ts +1 -0
  32. package/checkbox/Checkbox.d.ts +2 -2
  33. package/checkbox/Checkbox.js +106 -109
  34. package/checkbox/Checkbox.stories.tsx +146 -130
  35. package/checkbox/Checkbox.test.js +100 -10
  36. package/checkbox/types.d.ts +13 -5
  37. package/chip/types.d.ts +1 -1
  38. package/common/variables.js +236 -106
  39. package/date-input/DateInput.js +56 -42
  40. package/date-input/DateInput.stories.tsx +19 -8
  41. package/date-input/DateInput.test.js +161 -87
  42. package/date-input/types.d.ts +16 -9
  43. package/dialog/Dialog.js +46 -50
  44. package/dialog/Dialog.stories.tsx +57 -2
  45. package/dialog/Dialog.test.js +34 -4
  46. package/dialog/types.d.ts +3 -2
  47. package/dropdown/Dropdown.d.ts +1 -1
  48. package/dropdown/Dropdown.js +247 -251
  49. package/dropdown/Dropdown.stories.tsx +126 -63
  50. package/dropdown/Dropdown.test.js +504 -108
  51. package/dropdown/DropdownMenu.d.ts +4 -0
  52. package/dropdown/DropdownMenu.js +80 -0
  53. package/dropdown/DropdownMenuItem.d.ts +4 -0
  54. package/dropdown/DropdownMenuItem.js +92 -0
  55. package/dropdown/types.d.ts +25 -5
  56. package/file-input/FileInput.d.ts +2 -2
  57. package/file-input/FileInput.js +183 -222
  58. package/file-input/FileInput.stories.tsx +38 -10
  59. package/file-input/FileInput.test.js +53 -12
  60. package/file-input/FileItem.d.ts +4 -14
  61. package/file-input/FileItem.js +43 -66
  62. package/file-input/types.d.ts +17 -0
  63. package/flex/Flex.d.ts +4 -0
  64. package/flex/Flex.js +69 -0
  65. package/flex/Flex.stories.tsx +103 -0
  66. package/flex/types.d.ts +32 -0
  67. package/{radio → flex}/types.js +0 -0
  68. package/footer/Footer.js +15 -88
  69. package/footer/Footer.stories.tsx +8 -1
  70. package/footer/Icons.js +1 -1
  71. package/footer/types.d.ts +2 -1
  72. package/header/Header.js +95 -114
  73. package/header/Header.stories.tsx +46 -36
  74. package/header/Header.test.js +18 -2
  75. package/header/Icons.js +2 -2
  76. package/header/types.d.ts +3 -2
  77. package/inset/Inset.js +1 -34
  78. package/inset/Inset.stories.tsx +36 -36
  79. package/inset/types.d.ts +25 -1
  80. package/layout/ApplicationLayout.d.ts +16 -6
  81. package/layout/ApplicationLayout.js +71 -131
  82. package/layout/ApplicationLayout.stories.tsx +84 -93
  83. package/layout/Icons.d.ts +5 -0
  84. package/layout/Icons.js +13 -2
  85. package/layout/SidenavContext.d.ts +5 -0
  86. package/layout/SidenavContext.js +19 -0
  87. package/layout/types.d.ts +18 -33
  88. package/link/Link.d.ts +3 -2
  89. package/link/Link.js +58 -75
  90. package/link/Link.stories.tsx +95 -53
  91. package/link/Link.test.js +7 -15
  92. package/link/types.d.ts +7 -23
  93. package/main.d.ts +8 -10
  94. package/main.js +46 -56
  95. package/number-input/NumberInput.js +11 -18
  96. package/number-input/NumberInput.stories.tsx +5 -5
  97. package/number-input/NumberInput.test.js +45 -11
  98. package/number-input/types.d.ts +17 -10
  99. package/package.json +20 -16
  100. package/paginator/Paginator.js +17 -38
  101. package/paginator/Paginator.test.js +43 -1
  102. package/paragraph/Paragraph.d.ts +6 -0
  103. package/paragraph/Paragraph.js +38 -0
  104. package/paragraph/Paragraph.stories.tsx +44 -0
  105. package/password-input/PasswordInput.js +7 -4
  106. package/password-input/PasswordInput.test.js +16 -18
  107. package/password-input/types.d.ts +14 -11
  108. package/progress-bar/ProgressBar.d.ts +2 -2
  109. package/progress-bar/ProgressBar.js +57 -51
  110. package/progress-bar/ProgressBar.stories.jsx +13 -11
  111. package/progress-bar/ProgressBar.test.js +67 -22
  112. package/progress-bar/types.d.ts +3 -4
  113. package/quick-nav/QuickNav.d.ts +4 -0
  114. package/quick-nav/QuickNav.js +117 -0
  115. package/quick-nav/QuickNav.stories.tsx +342 -0
  116. package/quick-nav/types.d.ts +21 -0
  117. package/{row → quick-nav}/types.js +0 -0
  118. package/radio-group/Radio.d.ts +1 -1
  119. package/radio-group/Radio.js +43 -28
  120. package/radio-group/RadioGroup.js +32 -28
  121. package/radio-group/RadioGroup.stories.tsx +5 -0
  122. package/radio-group/RadioGroup.test.js +144 -116
  123. package/radio-group/types.d.ts +79 -2
  124. package/resultsetTable/ResultsetTable.js +1 -3
  125. package/resultsetTable/ResultsetTable.test.js +42 -0
  126. package/select/Icons.d.ts +10 -0
  127. package/select/Icons.js +93 -0
  128. package/select/Listbox.d.ts +4 -0
  129. package/select/Listbox.js +198 -0
  130. package/select/Option.d.ts +4 -0
  131. package/select/Option.js +110 -0
  132. package/select/Select.js +141 -365
  133. package/select/Select.stories.tsx +160 -115
  134. package/select/Select.test.js +609 -276
  135. package/select/types.d.ts +52 -12
  136. package/sidenav/Sidenav.d.ts +6 -5
  137. package/sidenav/Sidenav.js +184 -52
  138. package/sidenav/Sidenav.stories.tsx +154 -156
  139. package/sidenav/Sidenav.test.js +25 -37
  140. package/sidenav/types.d.ts +50 -27
  141. package/slider/Slider.d.ts +2 -2
  142. package/slider/Slider.js +122 -96
  143. package/slider/Slider.stories.tsx +15 -9
  144. package/slider/Slider.test.js +142 -21
  145. package/slider/types.d.ts +10 -2
  146. package/spinner/Spinner.js +1 -1
  147. package/switch/Switch.d.ts +2 -2
  148. package/switch/Switch.js +150 -67
  149. package/switch/Switch.stories.tsx +20 -42
  150. package/switch/Switch.test.js +155 -3
  151. package/switch/types.d.ts +12 -4
  152. package/table/Table.js +1 -1
  153. package/table/Table.test.js +1 -1
  154. package/tabs/Tab.d.ts +4 -0
  155. package/tabs/Tab.js +135 -0
  156. package/tabs/Tabs.d.ts +1 -1
  157. package/tabs/Tabs.js +362 -108
  158. package/tabs/Tabs.stories.tsx +74 -8
  159. package/tabs/Tabs.test.js +241 -13
  160. package/tabs/types.d.ts +19 -5
  161. package/tabs-nav/NavTabs.d.ts +8 -0
  162. package/tabs-nav/NavTabs.js +125 -0
  163. package/tabs-nav/NavTabs.stories.tsx +170 -0
  164. package/tabs-nav/NavTabs.test.js +82 -0
  165. package/tabs-nav/Tab.d.ts +4 -0
  166. package/tabs-nav/Tab.js +130 -0
  167. package/tabs-nav/types.d.ts +53 -0
  168. package/{stack → tabs-nav}/types.js +0 -0
  169. package/tag/Tag.js +15 -20
  170. package/tag/Tag.stories.tsx +12 -8
  171. package/tag/types.d.ts +1 -1
  172. package/text-input/Icons.d.ts +8 -0
  173. package/text-input/Icons.js +60 -0
  174. package/text-input/Suggestion.d.ts +4 -0
  175. package/text-input/Suggestion.js +57 -0
  176. package/text-input/Suggestions.d.ts +4 -0
  177. package/text-input/Suggestions.js +134 -0
  178. package/text-input/TextInput.js +214 -333
  179. package/text-input/TextInput.stories.tsx +199 -192
  180. package/text-input/TextInput.test.js +686 -753
  181. package/text-input/types.d.ts +50 -12
  182. package/textarea/Textarea.js +15 -24
  183. package/textarea/Textarea.stories.jsx +5 -5
  184. package/textarea/Textarea.test.js +37 -36
  185. package/textarea/types.d.ts +18 -11
  186. package/toggle-group/ToggleGroup.d.ts +1 -1
  187. package/toggle-group/ToggleGroup.js +5 -4
  188. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  189. package/toggle-group/ToggleGroup.test.js +35 -4
  190. package/toggle-group/types.d.ts +9 -1
  191. package/typography/Typography.d.ts +4 -0
  192. package/typography/Typography.js +131 -0
  193. package/typography/Typography.stories.tsx +198 -0
  194. package/typography/types.d.ts +18 -0
  195. package/typography/types.js +5 -0
  196. package/useTheme.js +2 -2
  197. package/useTranslatedLabels.d.ts +2 -0
  198. package/useTranslatedLabels.js +20 -0
  199. package/wizard/Wizard.d.ts +1 -1
  200. package/wizard/Wizard.js +58 -54
  201. package/wizard/Wizard.stories.tsx +33 -24
  202. package/wizard/Wizard.test.js +36 -23
  203. package/wizard/types.d.ts +10 -5
  204. package/ThemeContext.d.ts +0 -15
  205. package/ThemeContext.js +0 -235
  206. package/list/List.d.ts +0 -4
  207. package/list/List.js +0 -47
  208. package/list/List.stories.tsx +0 -95
  209. package/list/types.d.ts +0 -7
  210. package/radio/Radio.d.ts +0 -4
  211. package/radio/Radio.js +0 -174
  212. package/radio/Radio.stories.tsx +0 -192
  213. package/radio/Radio.test.js +0 -71
  214. package/radio/types.d.ts +0 -54
  215. package/row/Row.d.ts +0 -3
  216. package/row/Row.js +0 -127
  217. package/row/Row.stories.tsx +0 -237
  218. package/row/types.d.ts +0 -10
  219. package/stack/Stack.d.ts +0 -3
  220. package/stack/Stack.js +0 -97
  221. package/stack/Stack.stories.tsx +0 -164
  222. package/stack/types.d.ts +0 -9
  223. package/text/Text.d.ts +0 -7
  224. package/text/Text.js +0 -30
  225. package/text/Text.stories.tsx +0 -19
@@ -1,11 +1,16 @@
1
1
  import React from "react";
2
- import { userEvent, within, waitFor } from "@storybook/testing-library";
3
- import { fireEvent } from "@testing-library/react";
2
+ import { userEvent, within } from "@storybook/testing-library";
4
3
  import { BackgroundColorProvider } from "../BackgroundColorContext";
5
4
  import Title from "../../.storybook/components/Title";
6
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
6
  import DarkContainer from "../../.storybook/components/DarkSection";
8
7
  import DxcTextInput from "./TextInput";
8
+ import DxcButton from "../button/Button";
9
+ import DxcCheckbox from "../checkbox/Checkbox";
10
+ import DxcFlex from "../flex/Flex";
11
+ import Suggestions from "./Suggestions";
12
+ import { ThemeProvider } from "styled-components";
13
+ import useTheme from "../useTheme";
9
14
 
10
15
  export default {
11
16
  title: "Text input",
@@ -70,7 +75,15 @@ export const Chromatic = () => (
70
75
  </ExampleContainer>
71
76
  <ExampleContainer pseudoState="pseudo-hover">
72
77
  <Title title="Hovered action" theme="light" level={4} />
73
- <DxcTextInput label="Text input" value="Text" clearable />
78
+ <DxcTextInput label="Text input" defaultValue="Text" clearable />
79
+ </ExampleContainer>
80
+ <ExampleContainer pseudoState="pseudo-active">
81
+ <Title title="Actived action" theme="light" level={4} />
82
+ <DxcTextInput label="Text input" action={action} clearable />
83
+ </ExampleContainer>
84
+ <ExampleContainer pseudoState="pseudo-focus">
85
+ <Title title="Focused action" theme="light" level={4} />
86
+ <DxcTextInput label="Text input" action={action} clearable />
74
87
  </ExampleContainer>
75
88
  <ExampleContainer>
76
89
  <Title title="Without label" theme="light" level={4} />
@@ -82,13 +95,13 @@ export const Chromatic = () => (
82
95
  </ExampleContainer>
83
96
  <ExampleContainer>
84
97
  <Title title="Helper text, optional, and clearable" theme="light" level={4} />
85
- <DxcTextInput label="Text input" clearable value="Text" helperText="Help message" optional />
98
+ <DxcTextInput label="Text input" clearable defaultValue="Text" helperText="Help message" optional />
86
99
  </ExampleContainer>
87
100
  <ExampleContainer>
88
101
  <Title title="Clearable and large icon action" theme="light" level={4} />
89
102
  <DxcTextInput
90
103
  label="Text input"
91
- value="Text text text text text text text text text text"
104
+ defaultValue="Text text text text text text text text text text"
92
105
  clearable
93
106
  action={actionLargeIcon}
94
107
  />
@@ -107,7 +120,7 @@ export const Chromatic = () => (
107
120
  label="Error text input"
108
121
  helperText="Help message"
109
122
  error="Error message."
110
- value="Text"
123
+ defaultValue="Text"
111
124
  clearable
112
125
  optional
113
126
  action={action}
@@ -133,7 +146,7 @@ export const Chromatic = () => (
133
146
  helperText="Help message"
134
147
  disabled
135
148
  optional
136
- value="Text"
149
+ defaultValue="Text"
137
150
  action={action}
138
151
  />
139
152
  </ExampleContainer>
@@ -146,13 +159,13 @@ export const Chromatic = () => (
146
159
  optional
147
160
  prefix="+34"
148
161
  suffix="USD"
149
- value="Text"
162
+ defaultValue="Text"
150
163
  action={action}
151
164
  />
152
165
  </ExampleContainer>
153
166
  <BackgroundColorProvider color="#333333">
154
167
  <DarkContainer>
155
- <Title title="Dark" theme="dark" level={2} />
168
+ <Title title="Dark theme" theme="dark" level={2} />
156
169
  <ExampleContainer pseudoState="pseudo-hover">
157
170
  <Title title="Hovered" theme="dark" level={4} />
158
171
  <DxcTextInput label="Text input" />
@@ -163,7 +176,15 @@ export const Chromatic = () => (
163
176
  </ExampleContainer>
164
177
  <ExampleContainer pseudoState="pseudo-hover">
165
178
  <Title title="Hovered action" theme="dark" level={4} />
166
- <DxcTextInput label="Text input" value="Text" clearable />
179
+ <DxcTextInput label="Text input" defaultValue="Text" clearable />
180
+ </ExampleContainer>
181
+ <ExampleContainer pseudoState="pseudo-active">
182
+ <Title title="Actived action" theme="dark" level={4} />
183
+ <DxcTextInput label="Text input" action={action} clearable />
184
+ </ExampleContainer>
185
+ <ExampleContainer pseudoState="pseudo-focus">
186
+ <Title title="Focused action" theme="dark" level={4} />
187
+ <DxcTextInput label="Text input" action={action} clearable />
167
188
  </ExampleContainer>
168
189
  <ExampleContainer>
169
190
  <Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
@@ -182,7 +203,7 @@ export const Chromatic = () => (
182
203
  label="Error text input"
183
204
  helperText="Help message"
184
205
  error="Error message."
185
- value="Text"
206
+ defaultValue="Text"
186
207
  clearable
187
208
  action={action}
188
209
  />
@@ -211,7 +232,7 @@ export const Chromatic = () => (
211
232
  helperText="Help message"
212
233
  disabled
213
234
  optional
214
- value="Text"
235
+ defaultValue="Text"
215
236
  action={action}
216
237
  />
217
238
  </ExampleContainer>
@@ -224,7 +245,7 @@ export const Chromatic = () => (
224
245
  optional
225
246
  prefix="+34"
226
247
  suffix="USD"
227
- value="Text"
248
+ defaultValue="Text"
228
249
  action={action}
229
250
  />
230
251
  </ExampleContainer>
@@ -279,196 +300,182 @@ export const Chromatic = () => (
279
300
  </>
280
301
  );
281
302
 
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
- );
303
+ const AutosuggestListbox = () => {
304
+ const colorsTheme: any = useTheme();
345
305
 
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 />
306
+ return (
307
+ <ThemeProvider theme={colorsTheme.textInput}>
308
+ <ExampleContainer>
309
+ <Title title="Autosuggest listbox" theme="light" level={2} />
310
+ <ExampleContainer>
311
+ <Title title="List dialog uses a Radix Popover to appear over elements with a certain z-index" theme="light" level={3} />
312
+ <div
313
+ style={{
314
+ display: "flex",
315
+ flexDirection: "column",
316
+ gap: "20px",
317
+ height: "150px",
318
+ width: "500px",
319
+ marginBottom: "250px",
320
+ padding: "20px",
321
+ border: "1px solid black",
322
+ borderRadius: "4px",
323
+ overflow: "auto",
324
+ zIndex: "1300",
325
+ }}
326
+ >
327
+ <DxcTextInput
328
+ label="Label"
329
+ suggestions={countries}
330
+ optional
331
+ placeholder="Choose an option"
332
+ size="fillParent"
333
+ />
334
+ <button style={{ zIndex: "1", width: "100px" }}>Submit</button>
335
+ </div>
336
+ </ExampleContainer>
337
+ <Title title="Listbox suggestion states" theme="light" level={3} />
338
+ <ExampleContainer pseudoState="pseudo-hover">
339
+ <Title title="Hovered suggestion" theme="light" level={4} />
340
+ <Suggestions
341
+ id="x"
342
+ value=""
343
+ suggestions={country}
344
+ visualFocusIndex={-1}
345
+ highlightedSuggestions={false}
346
+ searchHasErrors={false}
347
+ isSearching={false}
348
+ suggestionOnClick={() => {}}
349
+ getTextInputWidth={() => 350}
350
+ />
351
+ </ExampleContainer>
352
+ <ExampleContainer pseudoState="pseudo-active">
353
+ <Title title="Active suggestion" theme="light" level={4} />
354
+ <Suggestions
355
+ id="x"
356
+ value=""
357
+ suggestions={country}
358
+ visualFocusIndex={-1}
359
+ highlightedSuggestions={false}
360
+ searchHasErrors={false}
361
+ isSearching={false}
362
+ suggestionOnClick={(suggestion) => {}}
363
+ getTextInputWidth={() => 350}
364
+ />
365
+ </ExampleContainer>
366
+ <ExampleContainer>
367
+ <Title title="Focused suggestion" theme="light" level={4} />
368
+ <Suggestions
369
+ id="x"
370
+ value=""
371
+ suggestions={country}
372
+ visualFocusIndex={0}
373
+ highlightedSuggestions={false}
374
+ searchHasErrors={false}
375
+ isSearching={false}
376
+ suggestionOnClick={(suggestion) => {}}
377
+ getTextInputWidth={() => 350}
378
+ />
379
+ </ExampleContainer>
380
+ <ExampleContainer>
381
+ <Title title="Highlighted suggestion" theme="light" level={4} />
382
+ <Suggestions
383
+ id="x"
384
+ value="Afgh"
385
+ suggestions={country}
386
+ visualFocusIndex={-1}
387
+ highlightedSuggestions={true}
388
+ searchHasErrors={false}
389
+ isSearching={false}
390
+ suggestionOnClick={(suggestion) => {}}
391
+ getTextInputWidth={() => 350}
392
+ />
393
+ </ExampleContainer>
363
394
  </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 />
395
+ <ExampleContainer>
396
+ <Title title="Autosuggest Error" theme="light" level={3} />
397
+ <Suggestions
398
+ id="x"
399
+ value=""
400
+ suggestions={country}
401
+ visualFocusIndex={-1}
402
+ highlightedSuggestions={false}
403
+ searchHasErrors={true}
404
+ isSearching={false}
405
+ suggestionOnClick={(suggestion) => {}}
406
+ getTextInputWidth={() => 350}
407
+ />
374
408
  </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 />
409
+ <ExampleContainer>
410
+ <Title title="Autosuggest Searching message" theme="light" level={3} />
411
+ <Suggestions
412
+ id="x"
413
+ value=""
414
+ suggestions={country}
415
+ visualFocusIndex={-1}
416
+ highlightedSuggestions={false}
417
+ searchHasErrors={false}
418
+ isSearching={true}
419
+ suggestionOnClick={(suggestion) => {}}
420
+ getTextInputWidth={() => 350}
421
+ />
385
422
  </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);
423
+ </ThemeProvider>
424
+ );
416
425
  };
417
426
 
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
- };
427
+ const DarkAutosuggestListbox = () => {
428
+ const colorsTheme: any = useTheme();
425
429
 
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);
430
+ return (
431
+ <ThemeProvider theme={colorsTheme.textInput}>
432
+ <BackgroundColorProvider color="#333333">
433
+ <DarkContainer>
434
+ <Title title="Dark theme" theme="dark" level={2} />
435
+ <ExampleContainer>
436
+ <Title title="Default with opened suggestions" theme="dark" level={3} />
437
+ <DxcFlex direction="column" gap="80px">
438
+ <DxcTextInput label="Label" suggestions={countries} optional placeholder="Choose an option" />
439
+ <DxcCheckbox
440
+ label="You understand the selection and give your consent"
441
+ onChange={() => {}}
442
+ labelPosition="after"
443
+ />
444
+ <DxcButton label="Submit" onClick={() => {}} size="medium" margin={{ bottom: "xxlarge" }} />
445
+ </DxcFlex>
446
+ </ExampleContainer>
447
+ <ExampleContainer>
448
+ <Title title="Autosuggest Error" theme="dark" level={3} />
449
+ <div style={{ height: "100px" }}>
450
+ <Suggestions
451
+ id="x"
452
+ value=""
453
+ suggestions={country}
454
+ visualFocusIndex={-1}
455
+ highlightedSuggestions={false}
456
+ searchHasErrors={true}
457
+ isSearching={false}
458
+ suggestionOnClick={(suggestion) => {}}
459
+ getTextInputWidth={() => 350}
460
+ />
461
+ </div>
462
+ </ExampleContainer>
463
+ </DarkContainer>
464
+ </BackgroundColorProvider>
465
+ </ThemeProvider>
466
+ );
459
467
  };
460
468
 
461
- export const FocusedOptionOnDark = FocusedOptionAutosuggestOnDark.bind({});
462
- FocusedOptionOnDark.play = async ({ canvasElement }) => {
469
+ export const AutosuggestListboxStates = AutosuggestListbox.bind({});
470
+ AutosuggestListboxStates.play = async ({ canvasElement }) => {
463
471
  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 });
472
+ const select = canvas.getByRole("combobox");
473
+ await userEvent.click(select);
467
474
  };
468
475
 
469
- export const ActivedOptionOnDark = ActivedOptionAutosuggestOnDark.bind({});
470
- ActivedOptionOnDark.play = async ({ canvasElement }) => {
476
+ export const AutosuggestListboxOnDark = DarkAutosuggestListbox.bind({});
477
+ AutosuggestListboxOnDark.play = async ({ canvasElement }) => {
471
478
  const canvas = within(canvasElement);
472
- const autosuggest = canvas.getByRole("combobox");
473
- await userEvent.click(autosuggest);
479
+ const select = canvas.getByRole("combobox");
480
+ await userEvent.click(select);
474
481
  };