@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.
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +122 -135
- package/accordion/Accordion.stories.tsx +20 -14
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +11 -10
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -36
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +16 -9
- package/alert/Alert.js +5 -2
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +23 -33
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +57 -80
- package/button/Button.stories.tsx +15 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- package/card/Card.js +24 -27
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +106 -109
- package/checkbox/Checkbox.stories.tsx +146 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +13 -5
- package/chip/Chip.d.ts +1 -1
- package/chip/Chip.js +14 -52
- package/chip/Chip.stories.tsx +6 -8
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +5 -13
- package/common/variables.js +250 -346
- package/date-input/DateInput.js +62 -48
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +247 -273
- package/dropdown/Dropdown.stories.tsx +144 -79
- package/dropdown/Dropdown.test.js +585 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +29 -18
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +179 -220
- package/file-input/FileInput.stories.tsx +39 -10
- package/file-input/FileInput.test.js +498 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +43 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/flex/types.js +5 -0
- package/footer/Footer.js +24 -99
- package/footer/Footer.stories.tsx +8 -1
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -125
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +60 -85
- package/link/Link.stories.tsx +99 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +11 -15
- package/main.js +53 -79
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +543 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +14 -12
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +308 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +342 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +79 -32
- package/radio-group/RadioGroup.js +153 -36
- package/radio-group/RadioGroup.stories.tsx +64 -19
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +90 -13
- package/resultsetTable/ResultsetTable.js +6 -5
- package/resultsetTable/ResultsetTable.stories.tsx +7 -8
- package/resultsetTable/ResultsetTable.test.js +348 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +198 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.js +147 -365
- package/select/Select.stories.tsx +231 -176
- package/select/Select.test.js +2233 -0
- package/select/types.d.ts +52 -12
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -52
- package/sidenav/Sidenav.stories.tsx +154 -139
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +122 -96
- package/slider/Slider.stories.tsx +15 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +1 -1
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -67
- package/switch/Switch.stories.tsx +21 -43
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +12 -4
- package/table/Table.js +1 -1
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +364 -110
- package/tabs/Tabs.stories.tsx +81 -16
- package/tabs/Tabs.test.js +351 -0
- package/tabs/types.d.ts +39 -17
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +18 -28
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +57 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +213 -322
- package/text-input/TextInput.stories.tsx +218 -193
- package/text-input/TextInput.test.js +1771 -0
- package/text-input/types.d.ts +51 -13
- package/textarea/Textarea.js +20 -27
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +58 -54
- package/wizard/Wizard.stories.tsx +33 -24
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +10 -5
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/list/List.d.ts +0 -8
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -85
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -11
- package/row/Row.js +0 -124
- package/row/Row.stories.tsx +0 -223
- package/stack/Stack.d.ts +0 -10
- package/stack/Stack.js +0 -94
- package/stack/Stack.stories.tsx +0 -150
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within
|
|
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"
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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"
|
|
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="
|
|
201
|
+
<Title title="Invalid" theme="dark" level={4} />
|
|
172
202
|
<DxcTextInput
|
|
173
|
-
label="
|
|
203
|
+
label="Error text input"
|
|
174
204
|
helperText="Help message"
|
|
175
205
|
error="Error message."
|
|
176
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
265
|
-
|
|
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
|
-
|
|
279
|
-
|
|
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="
|
|
311
|
-
<
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
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
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
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
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
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
|
-
</
|
|
369
|
-
|
|
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
|
-
|
|
387
|
-
|
|
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
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
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
|
|
444
|
-
|
|
469
|
+
export const AutosuggestListboxStates = AutosuggestListbox.bind({});
|
|
470
|
+
AutosuggestListboxStates.play = async ({ canvasElement }) => {
|
|
445
471
|
const canvas = within(canvasElement);
|
|
446
|
-
const
|
|
447
|
-
await userEvent.click(
|
|
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
|
|
452
|
-
|
|
476
|
+
export const AutosuggestListboxOnDark = DarkAutosuggestListbox.bind({});
|
|
477
|
+
AutosuggestListboxOnDark.play = async ({ canvasElement }) => {
|
|
453
478
|
const canvas = within(canvasElement);
|
|
454
|
-
const
|
|
455
|
-
await userEvent.click(
|
|
479
|
+
const select = canvas.getByRole("combobox");
|
|
480
|
+
await userEvent.click(select);
|
|
456
481
|
};
|