@dxc-technology/halstack-react 0.0.0-df9dd3c → 0.0.0-dfb16f5

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 (269) hide show
  1. package/HalstackContext.d.ts +12 -0
  2. package/HalstackContext.js +295 -0
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +122 -135
  5. package/accordion/Accordion.stories.tsx +20 -14
  6. package/accordion/Accordion.test.js +71 -0
  7. package/accordion/types.d.ts +11 -10
  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 +126 -0
  12. package/accordion-group/types.d.ts +16 -9
  13. package/alert/Alert.js +5 -2
  14. package/alert/Alert.test.js +92 -0
  15. package/badge/Badge.d.ts +4 -0
  16. package/badge/Badge.js +5 -3
  17. package/badge/types.d.ts +5 -0
  18. package/{radio → badge}/types.js +0 -0
  19. package/bleed/Bleed.d.ts +3 -0
  20. package/bleed/Bleed.js +51 -0
  21. package/bleed/Bleed.stories.tsx +341 -0
  22. package/bleed/types.d.ts +37 -0
  23. package/bleed/types.js +5 -0
  24. package/box/Box.js +23 -33
  25. package/box/Box.test.js +18 -0
  26. package/box/types.d.ts +1 -0
  27. package/bulleted-list/BulletedList.d.ts +7 -0
  28. package/bulleted-list/BulletedList.js +123 -0
  29. package/bulleted-list/BulletedList.stories.tsx +200 -0
  30. package/bulleted-list/types.d.ts +11 -0
  31. package/bulleted-list/types.js +5 -0
  32. package/button/Button.d.ts +1 -1
  33. package/button/Button.js +57 -80
  34. package/button/Button.stories.tsx +15 -8
  35. package/button/Button.test.js +35 -0
  36. package/button/types.d.ts +8 -12
  37. package/card/Card.js +24 -27
  38. package/card/Card.stories.tsx +1 -1
  39. package/card/Card.test.js +50 -0
  40. package/card/types.d.ts +1 -0
  41. package/checkbox/Checkbox.d.ts +2 -2
  42. package/checkbox/Checkbox.js +106 -109
  43. package/checkbox/Checkbox.stories.tsx +146 -130
  44. package/checkbox/Checkbox.test.js +155 -0
  45. package/checkbox/types.d.ts +13 -5
  46. package/chip/Chip.d.ts +1 -1
  47. package/chip/Chip.js +14 -52
  48. package/chip/Chip.stories.tsx +6 -8
  49. package/chip/Chip.test.js +56 -0
  50. package/chip/types.d.ts +5 -13
  51. package/common/variables.js +250 -346
  52. package/date-input/DateInput.js +62 -48
  53. package/date-input/DateInput.stories.tsx +7 -7
  54. package/date-input/DateInput.test.js +479 -0
  55. package/date-input/types.d.ts +16 -9
  56. package/dialog/Dialog.js +46 -50
  57. package/dialog/Dialog.stories.tsx +57 -2
  58. package/dialog/Dialog.test.js +70 -0
  59. package/dialog/types.d.ts +3 -2
  60. package/dropdown/Dropdown.d.ts +1 -1
  61. package/dropdown/Dropdown.js +247 -273
  62. package/dropdown/Dropdown.stories.tsx +144 -79
  63. package/dropdown/Dropdown.test.js +585 -0
  64. package/dropdown/DropdownMenu.d.ts +4 -0
  65. package/dropdown/DropdownMenu.js +80 -0
  66. package/dropdown/DropdownMenuItem.d.ts +4 -0
  67. package/dropdown/DropdownMenuItem.js +92 -0
  68. package/dropdown/types.d.ts +29 -18
  69. package/file-input/FileInput.d.ts +2 -2
  70. package/file-input/FileInput.js +179 -220
  71. package/file-input/FileInput.stories.tsx +39 -10
  72. package/file-input/FileInput.test.js +498 -0
  73. package/file-input/FileItem.d.ts +4 -14
  74. package/file-input/FileItem.js +43 -66
  75. package/file-input/types.d.ts +17 -0
  76. package/flex/Flex.d.ts +4 -0
  77. package/flex/Flex.js +69 -0
  78. package/flex/Flex.stories.tsx +103 -0
  79. package/flex/types.d.ts +32 -0
  80. package/flex/types.js +5 -0
  81. package/footer/Footer.js +24 -99
  82. package/footer/Footer.stories.tsx +8 -1
  83. package/footer/Footer.test.js +109 -0
  84. package/footer/Icons.js +1 -1
  85. package/footer/types.d.ts +2 -1
  86. package/header/Header.js +95 -114
  87. package/header/Header.stories.tsx +46 -36
  88. package/header/Header.test.js +79 -0
  89. package/header/Icons.js +2 -2
  90. package/header/types.d.ts +3 -2
  91. package/heading/Heading.stories.tsx +3 -2
  92. package/heading/Heading.test.js +186 -0
  93. package/inset/Inset.d.ts +3 -0
  94. package/inset/Inset.js +51 -0
  95. package/inset/Inset.stories.tsx +229 -0
  96. package/inset/types.d.ts +37 -0
  97. package/inset/types.js +5 -0
  98. package/layout/ApplicationLayout.d.ts +16 -6
  99. package/layout/ApplicationLayout.js +71 -125
  100. package/layout/ApplicationLayout.stories.tsx +84 -93
  101. package/layout/Icons.d.ts +5 -0
  102. package/layout/Icons.js +13 -2
  103. package/layout/SidenavContext.d.ts +5 -0
  104. package/layout/SidenavContext.js +19 -0
  105. package/layout/types.d.ts +18 -33
  106. package/link/Link.d.ts +3 -2
  107. package/link/Link.js +60 -85
  108. package/link/Link.stories.tsx +99 -52
  109. package/link/Link.test.js +83 -0
  110. package/link/types.d.ts +9 -29
  111. package/main.d.ts +11 -15
  112. package/main.js +53 -79
  113. package/number-input/NumberInput.js +11 -18
  114. package/number-input/NumberInput.stories.tsx +5 -5
  115. package/number-input/NumberInput.test.js +543 -0
  116. package/number-input/types.d.ts +17 -10
  117. package/package.json +14 -12
  118. package/paginator/Paginator.js +17 -38
  119. package/paginator/Paginator.test.js +308 -0
  120. package/paragraph/Paragraph.d.ts +6 -0
  121. package/paragraph/Paragraph.js +38 -0
  122. package/paragraph/Paragraph.stories.tsx +44 -0
  123. package/password-input/PasswordInput.js +7 -4
  124. package/password-input/PasswordInput.stories.tsx +3 -3
  125. package/password-input/PasswordInput.test.js +181 -0
  126. package/password-input/types.d.ts +14 -11
  127. package/progress-bar/ProgressBar.d.ts +2 -2
  128. package/progress-bar/ProgressBar.js +57 -51
  129. package/progress-bar/ProgressBar.stories.jsx +13 -11
  130. package/progress-bar/ProgressBar.test.js +110 -0
  131. package/progress-bar/types.d.ts +3 -4
  132. package/quick-nav/QuickNav.d.ts +4 -0
  133. package/quick-nav/QuickNav.js +117 -0
  134. package/quick-nav/QuickNav.stories.tsx +342 -0
  135. package/quick-nav/types.d.ts +21 -0
  136. package/quick-nav/types.js +5 -0
  137. package/radio-group/Radio.d.ts +1 -1
  138. package/radio-group/Radio.js +79 -32
  139. package/radio-group/RadioGroup.js +153 -36
  140. package/radio-group/RadioGroup.stories.tsx +64 -19
  141. package/radio-group/RadioGroup.test.js +722 -0
  142. package/radio-group/types.d.ts +90 -13
  143. package/resultsetTable/ResultsetTable.js +6 -5
  144. package/resultsetTable/ResultsetTable.stories.tsx +7 -8
  145. package/resultsetTable/ResultsetTable.test.js +348 -0
  146. package/select/Icons.d.ts +10 -0
  147. package/select/Icons.js +93 -0
  148. package/select/Listbox.d.ts +4 -0
  149. package/select/Listbox.js +198 -0
  150. package/select/Option.d.ts +4 -0
  151. package/select/Option.js +110 -0
  152. package/select/Select.js +147 -365
  153. package/select/Select.stories.tsx +231 -176
  154. package/select/Select.test.js +2233 -0
  155. package/select/types.d.ts +52 -12
  156. package/sidenav/Sidenav.d.ts +6 -5
  157. package/sidenav/Sidenav.js +184 -52
  158. package/sidenav/Sidenav.stories.tsx +154 -139
  159. package/sidenav/Sidenav.test.js +44 -0
  160. package/sidenav/types.d.ts +50 -27
  161. package/slider/Slider.d.ts +2 -2
  162. package/slider/Slider.js +122 -96
  163. package/slider/Slider.stories.tsx +15 -9
  164. package/slider/Slider.test.js +250 -0
  165. package/slider/types.d.ts +10 -2
  166. package/spinner/Spinner.js +1 -1
  167. package/spinner/Spinner.stories.jsx +1 -0
  168. package/spinner/Spinner.test.js +64 -0
  169. package/switch/Switch.d.ts +2 -2
  170. package/switch/Switch.js +150 -67
  171. package/switch/Switch.stories.tsx +21 -43
  172. package/switch/Switch.test.js +225 -0
  173. package/switch/types.d.ts +12 -4
  174. package/table/Table.js +1 -1
  175. package/table/Table.stories.jsx +2 -1
  176. package/table/Table.test.js +26 -0
  177. package/tabs/Tab.d.ts +4 -0
  178. package/tabs/Tab.js +135 -0
  179. package/tabs/Tabs.d.ts +1 -1
  180. package/tabs/Tabs.js +364 -110
  181. package/tabs/Tabs.stories.tsx +81 -16
  182. package/tabs/Tabs.test.js +351 -0
  183. package/tabs/types.d.ts +39 -17
  184. package/tabs-nav/NavTabs.d.ts +8 -0
  185. package/tabs-nav/NavTabs.js +125 -0
  186. package/tabs-nav/NavTabs.stories.tsx +170 -0
  187. package/tabs-nav/NavTabs.test.js +82 -0
  188. package/tabs-nav/Tab.d.ts +4 -0
  189. package/tabs-nav/Tab.js +130 -0
  190. package/tabs-nav/types.d.ts +53 -0
  191. package/tabs-nav/types.js +5 -0
  192. package/tag/Tag.d.ts +1 -1
  193. package/tag/Tag.js +18 -28
  194. package/tag/Tag.stories.tsx +26 -29
  195. package/tag/Tag.test.js +60 -0
  196. package/tag/types.d.ts +23 -14
  197. package/text-input/Icons.d.ts +8 -0
  198. package/text-input/Icons.js +60 -0
  199. package/text-input/Suggestion.d.ts +4 -0
  200. package/text-input/Suggestion.js +57 -0
  201. package/text-input/Suggestions.d.ts +4 -0
  202. package/text-input/Suggestions.js +134 -0
  203. package/text-input/TextInput.js +213 -322
  204. package/text-input/TextInput.stories.tsx +218 -193
  205. package/text-input/TextInput.test.js +1771 -0
  206. package/text-input/types.d.ts +51 -13
  207. package/textarea/Textarea.js +20 -27
  208. package/textarea/Textarea.stories.jsx +37 -15
  209. package/textarea/Textarea.test.js +437 -0
  210. package/textarea/types.d.ts +18 -11
  211. package/toggle-group/ToggleGroup.d.ts +1 -1
  212. package/toggle-group/ToggleGroup.js +5 -4
  213. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  214. package/toggle-group/ToggleGroup.test.js +156 -0
  215. package/toggle-group/types.d.ts +9 -1
  216. package/typography/Typography.d.ts +4 -0
  217. package/typography/Typography.js +131 -0
  218. package/typography/Typography.stories.tsx +198 -0
  219. package/typography/types.d.ts +18 -0
  220. package/typography/types.js +5 -0
  221. package/useTheme.js +2 -2
  222. package/useTranslatedLabels.d.ts +2 -0
  223. package/useTranslatedLabels.js +20 -0
  224. package/wizard/Wizard.d.ts +1 -1
  225. package/wizard/Wizard.js +58 -54
  226. package/wizard/Wizard.stories.tsx +33 -24
  227. package/wizard/Wizard.test.js +141 -0
  228. package/wizard/types.d.ts +10 -5
  229. package/ThemeContext.d.ts +0 -15
  230. package/ThemeContext.js +0 -243
  231. package/V3Select/V3Select.js +0 -455
  232. package/V3Select/index.d.ts +0 -27
  233. package/V3Textarea/V3Textarea.js +0 -260
  234. package/V3Textarea/index.d.ts +0 -27
  235. package/date/Date.js +0 -373
  236. package/date/index.d.ts +0 -27
  237. package/input-text/Icons.js +0 -22
  238. package/input-text/InputText.js +0 -611
  239. package/input-text/index.d.ts +0 -36
  240. package/list/List.d.ts +0 -8
  241. package/list/List.js +0 -47
  242. package/list/List.stories.tsx +0 -85
  243. package/radio/Radio.d.ts +0 -4
  244. package/radio/Radio.js +0 -174
  245. package/radio/Radio.stories.tsx +0 -192
  246. package/radio/types.d.ts +0 -54
  247. package/row/Row.d.ts +0 -11
  248. package/row/Row.js +0 -124
  249. package/row/Row.stories.tsx +0 -223
  250. package/stack/Stack.d.ts +0 -10
  251. package/stack/Stack.js +0 -94
  252. package/stack/Stack.stories.tsx +0 -150
  253. package/text/Text.d.ts +0 -7
  254. package/text/Text.js +0 -30
  255. package/text/Text.stories.tsx +0 -19
  256. package/toggle/Toggle.js +0 -186
  257. package/toggle/index.d.ts +0 -21
  258. package/upload/Upload.js +0 -201
  259. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  260. package/upload/buttons-upload/Icons.js +0 -40
  261. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  262. package/upload/dragAndDropArea/Icons.js +0 -39
  263. package/upload/file-upload/FileToUpload.js +0 -115
  264. package/upload/file-upload/Icons.js +0 -66
  265. package/upload/files-upload/FilesToUpload.js +0 -109
  266. package/upload/index.d.ts +0 -15
  267. package/upload/transaction/Icons.js +0 -160
  268. package/upload/transaction/Transaction.js +0 -104
  269. package/upload/transactions/Transactions.js +0 -94
@@ -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,12 +120,21 @@ 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}
114
127
  />
115
128
  </ExampleContainer>
129
+ <ExampleContainer pseudoState="pseudo-hover">
130
+ <Title title="Invalid and hovered" theme="light" level={4} />
131
+ <DxcTextInput
132
+ label="Error text input"
133
+ helperText="Help message"
134
+ placeholder="Placeholder"
135
+ error="Error message."
136
+ />
137
+ </ExampleContainer>
116
138
  <ExampleContainer>
117
139
  <Title title="Disabled and placeholder" theme="light" level={4} />
118
140
  <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
@@ -124,7 +146,7 @@ export const Chromatic = () => (
124
146
  helperText="Help message"
125
147
  disabled
126
148
  optional
127
- value="Text"
149
+ defaultValue="Text"
128
150
  action={action}
129
151
  />
130
152
  </ExampleContainer>
@@ -137,13 +159,13 @@ export const Chromatic = () => (
137
159
  optional
138
160
  prefix="+34"
139
161
  suffix="USD"
140
- value="Text"
162
+ defaultValue="Text"
141
163
  action={action}
142
164
  />
143
165
  </ExampleContainer>
144
166
  <BackgroundColorProvider color="#333333">
145
167
  <DarkContainer>
146
- <Title title="Dark" theme="dark" level={2} />
168
+ <Title title="Dark theme" theme="dark" level={2} />
147
169
  <ExampleContainer pseudoState="pseudo-hover">
148
170
  <Title title="Hovered" theme="dark" level={4} />
149
171
  <DxcTextInput label="Text input" />
@@ -154,7 +176,15 @@ export const Chromatic = () => (
154
176
  </ExampleContainer>
155
177
  <ExampleContainer pseudoState="pseudo-hover">
156
178
  <Title title="Hovered action" theme="dark" level={4} />
157
- <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 />
158
188
  </ExampleContainer>
159
189
  <ExampleContainer>
160
190
  <Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
@@ -168,16 +198,25 @@ export const Chromatic = () => (
168
198
  />
169
199
  </ExampleContainer>
170
200
  <ExampleContainer>
171
- <Title title="Helper text, clearable value, error and action" theme="dark" level={4} />
201
+ <Title title="Invalid" theme="dark" level={4} />
172
202
  <DxcTextInput
173
- label="Text input"
203
+ label="Error text input"
174
204
  helperText="Help message"
175
205
  error="Error message."
176
- value="Text"
206
+ defaultValue="Text"
177
207
  clearable
178
208
  action={action}
179
209
  />
180
210
  </ExampleContainer>
211
+ <ExampleContainer pseudoState="pseudo-hover">
212
+ <Title title="Invalid and hovered" theme="dark" level={4} />
213
+ <DxcTextInput
214
+ label="Error text input"
215
+ helperText="Help message"
216
+ placeholder="Placeholder"
217
+ error="Error message."
218
+ />
219
+ </ExampleContainer>
181
220
  <ExampleContainer>
182
221
  <Title title="Prefix and suffix" theme="dark" level={4} />
183
222
  <DxcTextInput label="With prefix and suffix" prefix="+34" suffix="USD" />
@@ -193,7 +232,7 @@ export const Chromatic = () => (
193
232
  helperText="Help message"
194
233
  disabled
195
234
  optional
196
- value="Text"
235
+ defaultValue="Text"
197
236
  action={action}
198
237
  />
199
238
  </ExampleContainer>
@@ -206,7 +245,7 @@ export const Chromatic = () => (
206
245
  optional
207
246
  prefix="+34"
208
247
  suffix="USD"
209
- value="Text"
248
+ defaultValue="Text"
210
249
  action={action}
211
250
  />
212
251
  </ExampleContainer>
@@ -261,196 +300,182 @@ export const Chromatic = () => (
261
300
  </>
262
301
  );
263
302
 
264
- const FocusedActionTextInput = () => (
265
- <ExampleContainer>
266
- <Title title="Focused action" theme="light" level={4} />
267
- <DxcTextInput label="Text input" action={action} clearable />
268
- </ExampleContainer>
269
- );
270
-
271
- const ActivedActionTextInput = () => (
272
- <ExampleContainer pseudoState="pseudo-active">
273
- <Title title="Actived action" theme="light" level={4} />
274
- <DxcTextInput label="Text input" action={action} clearable />
275
- </ExampleContainer>
276
- );
303
+ const AutosuggestListbox = () => {
304
+ const colorsTheme: any = useTheme();
277
305
 
278
- const ShowOptionsAutosuggest = () => (
279
- <ExampleContainer expanded>
280
- <Title title="Show options" theme="light" level={4} />
281
- <DxcTextInput label="Text input" suggestions={countries} clearable />
282
- </ExampleContainer>
283
- );
284
-
285
- const HoveredOptionAutosuggest = () => (
286
- <ExampleContainer expanded pseudoState="pseudo-hover">
287
- <Title title="Hovered option" theme="light" level={4} />
288
- <DxcTextInput label="Text input" suggestions={country} clearable />
289
- </ExampleContainer>
290
- );
291
-
292
- const FocusedOptionAutosuggest = () => (
293
- <ExampleContainer expanded>
294
- <Title title="Focused option" theme="light" level={4} />
295
- <DxcTextInput label="Text input" suggestions={country} clearable />
296
- </ExampleContainer>
297
- );
298
-
299
- const ActivedOptionAutosuggest = () => (
300
- <ExampleContainer expanded pseudoState="pseudo-active">
301
- <Title title="Actived option" theme="light" level={4} />
302
- <DxcTextInput label="Text input" suggestions={country} clearable />
303
- </ExampleContainer>
304
- );
305
-
306
- const FocusedActionTextInputOnDark = () => (
307
- <BackgroundColorProvider color="#333333">
308
- <DarkContainer>
306
+ return (
307
+ <ThemeProvider theme={colorsTheme.textInput}>
309
308
  <ExampleContainer>
310
- <Title title="Focused action" theme="dark" level={4} />
311
- <DxcTextInput label="Text input" action={action} clearable />
312
- </ExampleContainer>
313
- </DarkContainer>
314
- </BackgroundColorProvider>
315
- );
316
-
317
- const ActivedActionTextInputOnDark = () => (
318
- <BackgroundColorProvider color="#333333">
319
- <DarkContainer>
320
- <ExampleContainer pseudoState="pseudo-active">
321
- <Title title="Actived action" theme="dark" level={4} />
322
- <DxcTextInput label="Text input" action={action} clearable />
323
- </ExampleContainer>
324
- </DarkContainer>
325
- </BackgroundColorProvider>
326
- );
327
-
328
- const ShowOptionsAutosuggestOnDark = () => (
329
- <BackgroundColorProvider color="#333333">
330
- <DarkContainer>
331
- <ExampleContainer expanded>
332
- <Title title="Show options" theme="dark" level={4} />
333
- <DxcTextInput label="Text input" suggestions={countries} clearable />
334
- </ExampleContainer>
335
- </DarkContainer>
336
- </BackgroundColorProvider>
337
- );
338
-
339
- const HoveredActionAutosuggestOnDark = () => (
340
- <BackgroundColorProvider color="#333333">
341
- <DarkContainer>
342
- <ExampleContainer expanded pseudoState="pseudo-hover">
343
- <Title title="Hovered option" theme="dark" level={4} />
344
- <DxcTextInput label="Text input" suggestions={country} clearable />
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>
345
394
  </ExampleContainer>
346
- </DarkContainer>
347
- </BackgroundColorProvider>
348
- );
349
-
350
- const FocusedOptionAutosuggestOnDark = () => (
351
- <BackgroundColorProvider color="#333333">
352
- <DarkContainer>
353
- <ExampleContainer expanded>
354
- <Title title="Focused option" theme="dark" level={4} />
355
- <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
+ />
356
408
  </ExampleContainer>
357
- </DarkContainer>
358
- </BackgroundColorProvider>
359
- );
360
-
361
- const ActivedOptionAutosuggestOnDark = () => (
362
- <BackgroundColorProvider color="#333333">
363
- <DarkContainer>
364
- <ExampleContainer expanded pseudoState="pseudo-active">
365
- <Title title="Actived option" theme="dark" level={4} />
366
- <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
+ />
367
422
  </ExampleContainer>
368
- </DarkContainer>
369
- </BackgroundColorProvider>
370
- );
371
-
372
- export const FocusedAction = FocusedActionTextInput.bind({});
373
- FocusedAction.play = async ({ canvasElement }) => {
374
- const canvas = within(canvasElement);
375
- const action = canvas.getByRole("button");
376
- await action.focus();
377
- };
378
-
379
- export const ActivedAction = ActivedActionTextInput.bind({});
380
- ActivedAction.play = async ({ canvasElement }) => {
381
- const canvas = within(canvasElement);
382
- const action = canvas.getByRole("button");
383
- await userEvent.click(action);
423
+ </ThemeProvider>
424
+ );
384
425
  };
385
426
 
386
- export const ShowOptions = ShowOptionsAutosuggest.bind({});
387
- ShowOptions.play = async ({ canvasElement }) => {
388
- const canvas = within(canvasElement);
389
- const autosuggest = canvas.getByRole("combobox");
390
- await userEvent.click(autosuggest);
391
- };
392
-
393
- export const HoveredOption = HoveredOptionAutosuggest.bind({});
394
- HoveredOption.play = async ({ canvasElement }) => {
395
- const canvas = within(canvasElement);
396
- const autosuggest = canvas.getByRole("combobox");
397
- await userEvent.click(autosuggest);
398
- };
399
-
400
- export const FocusedOption = FocusedOptionAutosuggest.bind({});
401
- FocusedOption.play = async ({ canvasElement }) => {
402
- const canvas = within(canvasElement);
403
- const autosuggest = canvas.getByRole("combobox");
404
- await userEvent.click(autosuggest);
405
- fireEvent.keyDown(autosuggest, { key: "ArrowDown", code: "ArrowDown", keyCode: 40, charCode: 40 });
406
- };
407
-
408
- export const ActivedOption = ActivedOptionAutosuggest.bind({});
409
- ActivedOption.play = async ({ canvasElement }) => {
410
- const canvas = within(canvasElement);
411
- const autosuggest = canvas.getByRole("combobox");
412
- await userEvent.click(autosuggest);
413
- };
427
+ const DarkAutosuggestListbox = () => {
428
+ const colorsTheme: any = useTheme();
414
429
 
415
- export const FocusedActionOnDark = FocusedActionTextInputOnDark.bind({});
416
- FocusedActionOnDark.play = async ({ canvasElement }) => {
417
- const canvas = within(canvasElement);
418
- const action = canvas.getByRole("button");
419
- await action.focus();
420
- };
421
-
422
- export const ActivedActionOnDark = ActivedActionTextInputOnDark.bind({});
423
- ActivedActionOnDark.play = async ({ canvasElement }) => {
424
- const canvas = within(canvasElement);
425
- const action = canvas.getByRole("button");
426
- await userEvent.click(action);
427
- };
428
-
429
- export const ShowOptionsOnDark = ShowOptionsAutosuggestOnDark.bind({});
430
- ShowOptionsOnDark.play = async ({ canvasElement }) => {
431
- const canvas = within(canvasElement);
432
- const autosuggest = canvas.getByRole("combobox");
433
- await userEvent.click(autosuggest);
434
- };
435
-
436
- export const HoveredActionOnDark = HoveredActionAutosuggestOnDark.bind({});
437
- HoveredActionOnDark.play = async ({ canvasElement }) => {
438
- const canvas = within(canvasElement);
439
- const autosuggest = canvas.getByRole("combobox");
440
- 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
+ );
441
467
  };
442
468
 
443
- export const FocusedOptionOnDark = FocusedOptionAutosuggestOnDark.bind({});
444
- FocusedOptionOnDark.play = async ({ canvasElement }) => {
469
+ export const AutosuggestListboxStates = AutosuggestListbox.bind({});
470
+ AutosuggestListboxStates.play = async ({ canvasElement }) => {
445
471
  const canvas = within(canvasElement);
446
- const autosuggest = canvas.getByRole("combobox");
447
- await userEvent.click(autosuggest);
448
- fireEvent.keyDown(autosuggest, { key: "ArrowDown", code: "ArrowDown", keyCode: 40, charCode: 40 });
472
+ const select = canvas.getByRole("combobox");
473
+ await userEvent.click(select);
449
474
  };
450
475
 
451
- export const ActivedOptionOnDark = ActivedOptionAutosuggestOnDark.bind({});
452
- ActivedOptionOnDark.play = async ({ canvasElement }) => {
476
+ export const AutosuggestListboxOnDark = DarkAutosuggestListbox.bind({});
477
+ AutosuggestListboxOnDark.play = async ({ canvasElement }) => {
453
478
  const canvas = within(canvasElement);
454
- const autosuggest = canvas.getByRole("combobox");
455
- await userEvent.click(autosuggest);
479
+ const select = canvas.getByRole("combobox");
480
+ await userEvent.click(select);
456
481
  };