@dxc-technology/halstack-react 0.0.0-4448bdb → 0.0.0-453c87a
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 +294 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +117 -136
- package/accordion/Accordion.stories.tsx +65 -26
- 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 +54 -79
- package/button/Button.stories.tsx +66 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- package/card/Card.js +24 -27
- 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 +17 -67
- package/chip/Chip.stories.tsx +44 -14
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +5 -13
- package/common/variables.js +346 -446
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +246 -0
- package/date-input/DateInput.js +171 -260
- package/date-input/DateInput.stories.tsx +137 -38
- package/date-input/DateInput.test.js +835 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +132 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +116 -0
- package/date-input/types.d.ts +67 -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 +249 -277
- package/dropdown/Dropdown.stories.tsx +153 -80
- 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 +183 -222
- package/file-input/FileInput.stories.tsx +38 -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.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 +61 -86
- 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 +542 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +19 -22
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +19 -46
- 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.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 +57 -31
- package/radio-group/RadioGroup.js +75 -60
- package/radio-group/RadioGroup.stories.tsx +61 -39
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +81 -3
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -105
- package/resultsetTable/ResultsetTable.stories.tsx +56 -33
- package/resultsetTable/ResultsetTable.test.js +330 -0
- package/resultsetTable/types.d.ts +2 -2
- 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 +108 -0
- package/select/Select.js +147 -365
- package/select/Select.stories.tsx +324 -213
- 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 +182 -52
- package/sidenav/Sidenav.stories.tsx +163 -156
- 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 +3 -3
- 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 +20 -42
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +12 -4
- package/table/Table.js +1 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +364 -110
- package/tabs/Tabs.stories.tsx +84 -18
- 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 +172 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +128 -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 +25 -28
- 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 +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +219 -332
- package/text-input/TextInput.stories.tsx +242 -197
- package/text-input/TextInput.test.js +1724 -0
- package/text-input/types.d.ts +51 -13
- package/textarea/Textarea.js +20 -27
- package/textarea/Textarea.stories.jsx +33 -12
- 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/common/RequiredComponent.js +0 -32
- 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 -95
- 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 -127
- package/row/Row.stories.tsx +0 -239
- package/stack/Stack.d.ts +0 -10
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -166
- 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",
|
|
@@ -22,7 +27,7 @@ const action = {
|
|
|
22
27
|
),
|
|
23
28
|
};
|
|
24
29
|
|
|
25
|
-
const
|
|
30
|
+
const actionLargeIconSVG = {
|
|
26
31
|
onClick: () => {},
|
|
27
32
|
icon: (
|
|
28
33
|
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
|
|
@@ -32,6 +37,11 @@ const actionLargeIcon = {
|
|
|
32
37
|
),
|
|
33
38
|
};
|
|
34
39
|
|
|
40
|
+
const actionLargeIconURL = {
|
|
41
|
+
onClick: () => {},
|
|
42
|
+
icon: "https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png",
|
|
43
|
+
};
|
|
44
|
+
|
|
35
45
|
const country = ["Afghanistan"];
|
|
36
46
|
const countries = [
|
|
37
47
|
"Afghanistan",
|
|
@@ -56,6 +66,7 @@ const countries = [
|
|
|
56
66
|
"Dominica",
|
|
57
67
|
"Denmark",
|
|
58
68
|
"Djibouti",
|
|
69
|
+
"*",
|
|
59
70
|
];
|
|
60
71
|
|
|
61
72
|
export const Chromatic = () => (
|
|
@@ -70,7 +81,15 @@ export const Chromatic = () => (
|
|
|
70
81
|
</ExampleContainer>
|
|
71
82
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
72
83
|
<Title title="Hovered action" theme="light" level={4} />
|
|
73
|
-
<DxcTextInput label="Text input"
|
|
84
|
+
<DxcTextInput label="Text input" defaultValue="Text" clearable />
|
|
85
|
+
</ExampleContainer>
|
|
86
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
87
|
+
<Title title="Actived action" theme="light" level={4} />
|
|
88
|
+
<DxcTextInput label="Text input" action={action} clearable />
|
|
89
|
+
</ExampleContainer>
|
|
90
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
91
|
+
<Title title="Focused action" theme="light" level={4} />
|
|
92
|
+
<DxcTextInput label="Text input" action={action} clearable />
|
|
74
93
|
</ExampleContainer>
|
|
75
94
|
<ExampleContainer>
|
|
76
95
|
<Title title="Without label" theme="light" level={4} />
|
|
@@ -82,15 +101,24 @@ export const Chromatic = () => (
|
|
|
82
101
|
</ExampleContainer>
|
|
83
102
|
<ExampleContainer>
|
|
84
103
|
<Title title="Helper text, optional, and clearable" theme="light" level={4} />
|
|
85
|
-
<DxcTextInput label="Text input" clearable
|
|
104
|
+
<DxcTextInput label="Text input" clearable defaultValue="Text" helperText="Help message" optional />
|
|
105
|
+
</ExampleContainer>
|
|
106
|
+
<ExampleContainer>
|
|
107
|
+
<Title title="Clearable and large icon action (SVG)" theme="light" level={4} />
|
|
108
|
+
<DxcTextInput
|
|
109
|
+
label="Text input"
|
|
110
|
+
defaultValue="Text text text text text text text text text text"
|
|
111
|
+
clearable
|
|
112
|
+
action={actionLargeIconSVG}
|
|
113
|
+
/>
|
|
86
114
|
</ExampleContainer>
|
|
87
115
|
<ExampleContainer>
|
|
88
|
-
<Title title="Clearable and large icon action" theme="light" level={4} />
|
|
116
|
+
<Title title="Clearable and large icon action (URL)" theme="light" level={4} />
|
|
89
117
|
<DxcTextInput
|
|
90
118
|
label="Text input"
|
|
91
|
-
|
|
119
|
+
defaultValue="Text text text text text text text text text text"
|
|
92
120
|
clearable
|
|
93
|
-
action={
|
|
121
|
+
action={actionLargeIconURL}
|
|
94
122
|
/>
|
|
95
123
|
</ExampleContainer>
|
|
96
124
|
<ExampleContainer>
|
|
@@ -107,12 +135,21 @@ export const Chromatic = () => (
|
|
|
107
135
|
label="Error text input"
|
|
108
136
|
helperText="Help message"
|
|
109
137
|
error="Error message."
|
|
110
|
-
|
|
138
|
+
defaultValue="Text"
|
|
111
139
|
clearable
|
|
112
140
|
optional
|
|
113
141
|
action={action}
|
|
114
142
|
/>
|
|
115
143
|
</ExampleContainer>
|
|
144
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
145
|
+
<Title title="Invalid and hovered" theme="light" level={4} />
|
|
146
|
+
<DxcTextInput
|
|
147
|
+
label="Error text input"
|
|
148
|
+
helperText="Help message"
|
|
149
|
+
placeholder="Placeholder"
|
|
150
|
+
error="Error message."
|
|
151
|
+
/>
|
|
152
|
+
</ExampleContainer>
|
|
116
153
|
<ExampleContainer>
|
|
117
154
|
<Title title="Disabled and placeholder" theme="light" level={4} />
|
|
118
155
|
<DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
|
|
@@ -124,7 +161,7 @@ export const Chromatic = () => (
|
|
|
124
161
|
helperText="Help message"
|
|
125
162
|
disabled
|
|
126
163
|
optional
|
|
127
|
-
|
|
164
|
+
defaultValue="Text"
|
|
128
165
|
action={action}
|
|
129
166
|
/>
|
|
130
167
|
</ExampleContainer>
|
|
@@ -137,13 +174,13 @@ export const Chromatic = () => (
|
|
|
137
174
|
optional
|
|
138
175
|
prefix="+34"
|
|
139
176
|
suffix="USD"
|
|
140
|
-
|
|
177
|
+
defaultValue="Text"
|
|
141
178
|
action={action}
|
|
142
179
|
/>
|
|
143
180
|
</ExampleContainer>
|
|
144
181
|
<BackgroundColorProvider color="#333333">
|
|
145
182
|
<DarkContainer>
|
|
146
|
-
<Title title="Dark" theme="dark" level={2} />
|
|
183
|
+
<Title title="Dark theme" theme="dark" level={2} />
|
|
147
184
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
148
185
|
<Title title="Hovered" theme="dark" level={4} />
|
|
149
186
|
<DxcTextInput label="Text input" />
|
|
@@ -154,7 +191,15 @@ export const Chromatic = () => (
|
|
|
154
191
|
</ExampleContainer>
|
|
155
192
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
156
193
|
<Title title="Hovered action" theme="dark" level={4} />
|
|
157
|
-
<DxcTextInput label="Text input"
|
|
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 />
|
|
158
203
|
</ExampleContainer>
|
|
159
204
|
<ExampleContainer>
|
|
160
205
|
<Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
|
|
@@ -168,16 +213,25 @@ export const Chromatic = () => (
|
|
|
168
213
|
/>
|
|
169
214
|
</ExampleContainer>
|
|
170
215
|
<ExampleContainer>
|
|
171
|
-
<Title title="
|
|
216
|
+
<Title title="Invalid" theme="dark" level={4} />
|
|
172
217
|
<DxcTextInput
|
|
173
|
-
label="
|
|
218
|
+
label="Error text input"
|
|
174
219
|
helperText="Help message"
|
|
175
220
|
error="Error message."
|
|
176
|
-
|
|
221
|
+
defaultValue="Text"
|
|
177
222
|
clearable
|
|
178
223
|
action={action}
|
|
179
224
|
/>
|
|
180
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>
|
|
181
235
|
<ExampleContainer>
|
|
182
236
|
<Title title="Prefix and suffix" theme="dark" level={4} />
|
|
183
237
|
<DxcTextInput label="With prefix and suffix" prefix="+34" suffix="USD" />
|
|
@@ -193,7 +247,7 @@ export const Chromatic = () => (
|
|
|
193
247
|
helperText="Help message"
|
|
194
248
|
disabled
|
|
195
249
|
optional
|
|
196
|
-
|
|
250
|
+
defaultValue="Text"
|
|
197
251
|
action={action}
|
|
198
252
|
/>
|
|
199
253
|
</ExampleContainer>
|
|
@@ -206,7 +260,7 @@ export const Chromatic = () => (
|
|
|
206
260
|
optional
|
|
207
261
|
prefix="+34"
|
|
208
262
|
suffix="USD"
|
|
209
|
-
|
|
263
|
+
defaultValue="Text"
|
|
210
264
|
action={action}
|
|
211
265
|
/>
|
|
212
266
|
</ExampleContainer>
|
|
@@ -261,196 +315,187 @@ export const Chromatic = () => (
|
|
|
261
315
|
</>
|
|
262
316
|
);
|
|
263
317
|
|
|
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" expanded>
|
|
273
|
-
<Title title="Actived action" theme="light" level={4} />
|
|
274
|
-
<DxcTextInput label="Text input" action={action} clearable />
|
|
275
|
-
</ExampleContainer>
|
|
276
|
-
);
|
|
277
|
-
|
|
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
|
-
);
|
|
318
|
+
const AutosuggestListbox = () => {
|
|
319
|
+
const colorsTheme: any = useTheme();
|
|
284
320
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
<Title title="
|
|
322
|
-
<
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
321
|
+
return (
|
|
322
|
+
<ThemeProvider theme={colorsTheme.textInput}>
|
|
323
|
+
<ExampleContainer>
|
|
324
|
+
<Title title="Autosuggest listbox" theme="light" level={2} />
|
|
325
|
+
<ExampleContainer>
|
|
326
|
+
<Title
|
|
327
|
+
title="List dialog uses a Radix Popover to appear over elements with a certain z-index"
|
|
328
|
+
theme="light"
|
|
329
|
+
level={3}
|
|
330
|
+
/>
|
|
331
|
+
<div
|
|
332
|
+
style={{
|
|
333
|
+
display: "flex",
|
|
334
|
+
flexDirection: "column",
|
|
335
|
+
gap: "20px",
|
|
336
|
+
height: "150px",
|
|
337
|
+
width: "500px",
|
|
338
|
+
marginBottom: "250px",
|
|
339
|
+
padding: "20px",
|
|
340
|
+
border: "1px solid black",
|
|
341
|
+
borderRadius: "4px",
|
|
342
|
+
overflow: "auto",
|
|
343
|
+
zIndex: "1300",
|
|
344
|
+
position: "relative",
|
|
345
|
+
}}
|
|
346
|
+
>
|
|
347
|
+
<DxcTextInput
|
|
348
|
+
label="Label"
|
|
349
|
+
suggestions={countries}
|
|
350
|
+
optional
|
|
351
|
+
placeholder="Choose an option"
|
|
352
|
+
size="fillParent"
|
|
353
|
+
/>
|
|
354
|
+
<button style={{ zIndex: "1", width: "100px" }}>Submit</button>
|
|
355
|
+
</div>
|
|
356
|
+
</ExampleContainer>
|
|
357
|
+
<Title title="Listbox suggestion states" theme="light" level={3} />
|
|
358
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
359
|
+
<Title title="Hovered suggestion" theme="light" level={4} />
|
|
360
|
+
<Suggestions
|
|
361
|
+
id="x"
|
|
362
|
+
value=""
|
|
363
|
+
suggestions={country}
|
|
364
|
+
visualFocusIndex={-1}
|
|
365
|
+
highlightedSuggestions={false}
|
|
366
|
+
searchHasErrors={false}
|
|
367
|
+
isSearching={false}
|
|
368
|
+
suggestionOnClick={() => {}}
|
|
369
|
+
getTextInputWidth={() => 350}
|
|
370
|
+
/>
|
|
371
|
+
</ExampleContainer>
|
|
372
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
373
|
+
<Title title="Active suggestion" theme="light" level={4} />
|
|
374
|
+
<Suggestions
|
|
375
|
+
id="x"
|
|
376
|
+
value=""
|
|
377
|
+
suggestions={country}
|
|
378
|
+
visualFocusIndex={-1}
|
|
379
|
+
highlightedSuggestions={false}
|
|
380
|
+
searchHasErrors={false}
|
|
381
|
+
isSearching={false}
|
|
382
|
+
suggestionOnClick={(suggestion) => {}}
|
|
383
|
+
getTextInputWidth={() => 350}
|
|
384
|
+
/>
|
|
385
|
+
</ExampleContainer>
|
|
386
|
+
<ExampleContainer>
|
|
387
|
+
<Title title="Focused suggestion" theme="light" level={4} />
|
|
388
|
+
<Suggestions
|
|
389
|
+
id="x"
|
|
390
|
+
value=""
|
|
391
|
+
suggestions={country}
|
|
392
|
+
visualFocusIndex={0}
|
|
393
|
+
highlightedSuggestions={false}
|
|
394
|
+
searchHasErrors={false}
|
|
395
|
+
isSearching={false}
|
|
396
|
+
suggestionOnClick={(suggestion) => {}}
|
|
397
|
+
getTextInputWidth={() => 350}
|
|
398
|
+
/>
|
|
399
|
+
</ExampleContainer>
|
|
400
|
+
<ExampleContainer>
|
|
401
|
+
<Title title="Highlighted suggestion" theme="light" level={4} />
|
|
402
|
+
<Suggestions
|
|
403
|
+
id="x"
|
|
404
|
+
value="Afgh"
|
|
405
|
+
suggestions={country}
|
|
406
|
+
visualFocusIndex={-1}
|
|
407
|
+
highlightedSuggestions={true}
|
|
408
|
+
searchHasErrors={false}
|
|
409
|
+
isSearching={false}
|
|
410
|
+
suggestionOnClick={(suggestion) => {}}
|
|
411
|
+
getTextInputWidth={() => 350}
|
|
412
|
+
/>
|
|
413
|
+
</ExampleContainer>
|
|
345
414
|
</ExampleContainer>
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
415
|
+
<ExampleContainer>
|
|
416
|
+
<Title title="Autosuggest Error" theme="light" level={3} />
|
|
417
|
+
<Suggestions
|
|
418
|
+
id="x"
|
|
419
|
+
value=""
|
|
420
|
+
suggestions={country}
|
|
421
|
+
visualFocusIndex={-1}
|
|
422
|
+
highlightedSuggestions={false}
|
|
423
|
+
searchHasErrors={true}
|
|
424
|
+
isSearching={false}
|
|
425
|
+
suggestionOnClick={(suggestion) => {}}
|
|
426
|
+
getTextInputWidth={() => 350}
|
|
427
|
+
/>
|
|
356
428
|
</ExampleContainer>
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
429
|
+
<ExampleContainer>
|
|
430
|
+
<Title title="Autosuggest Searching message" theme="light" level={3} />
|
|
431
|
+
<Suggestions
|
|
432
|
+
id="x"
|
|
433
|
+
value=""
|
|
434
|
+
suggestions={country}
|
|
435
|
+
visualFocusIndex={-1}
|
|
436
|
+
highlightedSuggestions={false}
|
|
437
|
+
searchHasErrors={false}
|
|
438
|
+
isSearching={true}
|
|
439
|
+
suggestionOnClick={(suggestion) => {}}
|
|
440
|
+
getTextInputWidth={() => 350}
|
|
441
|
+
/>
|
|
367
442
|
</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);
|
|
384
|
-
};
|
|
385
|
-
|
|
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);
|
|
443
|
+
</ThemeProvider>
|
|
444
|
+
);
|
|
398
445
|
};
|
|
399
446
|
|
|
400
|
-
|
|
401
|
-
|
|
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
|
-
};
|
|
447
|
+
const DarkAutosuggestListbox = () => {
|
|
448
|
+
const colorsTheme: any = useTheme();
|
|
407
449
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
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
|
-
|
|
450
|
+
return (
|
|
451
|
+
<ThemeProvider theme={colorsTheme.textInput}>
|
|
452
|
+
<BackgroundColorProvider color="#333333">
|
|
453
|
+
<DarkContainer>
|
|
454
|
+
<Title title="Dark theme" theme="dark" level={2} />
|
|
455
|
+
<ExampleContainer>
|
|
456
|
+
<Title title="Default with opened suggestions" theme="dark" level={3} />
|
|
457
|
+
<DxcFlex direction="column" gap="80px">
|
|
458
|
+
<DxcTextInput label="Label" suggestions={countries} optional placeholder="Choose an option" />
|
|
459
|
+
<DxcCheckbox
|
|
460
|
+
label="You understand the selection and give your consent"
|
|
461
|
+
onChange={() => {}}
|
|
462
|
+
labelPosition="after"
|
|
463
|
+
/>
|
|
464
|
+
<DxcButton label="Submit" onClick={() => {}} size="medium" margin={{ bottom: "xxlarge" }} />
|
|
465
|
+
</DxcFlex>
|
|
466
|
+
</ExampleContainer>
|
|
467
|
+
<ExampleContainer>
|
|
468
|
+
<Title title="Autosuggest Error" theme="dark" level={3} />
|
|
469
|
+
<div style={{ height: "100px" }}>
|
|
470
|
+
<Suggestions
|
|
471
|
+
id="x"
|
|
472
|
+
value=""
|
|
473
|
+
suggestions={country}
|
|
474
|
+
visualFocusIndex={-1}
|
|
475
|
+
highlightedSuggestions={false}
|
|
476
|
+
searchHasErrors={true}
|
|
477
|
+
isSearching={false}
|
|
478
|
+
suggestionOnClick={(suggestion) => {}}
|
|
479
|
+
getTextInputWidth={() => 350}
|
|
480
|
+
/>
|
|
481
|
+
</div>
|
|
482
|
+
</ExampleContainer>
|
|
483
|
+
</DarkContainer>
|
|
484
|
+
</BackgroundColorProvider>
|
|
485
|
+
</ThemeProvider>
|
|
486
|
+
);
|
|
441
487
|
};
|
|
442
488
|
|
|
443
|
-
export const
|
|
444
|
-
|
|
489
|
+
export const AutosuggestListboxStates = AutosuggestListbox.bind({});
|
|
490
|
+
AutosuggestListboxStates.play = async ({ canvasElement }) => {
|
|
445
491
|
const canvas = within(canvasElement);
|
|
446
|
-
const
|
|
447
|
-
await userEvent.click(
|
|
448
|
-
fireEvent.keyDown(autosuggest, { key: "ArrowDown", code: "ArrowDown", keyCode: 40, charCode: 40 });
|
|
492
|
+
const select = canvas.getByRole("combobox");
|
|
493
|
+
await userEvent.click(select);
|
|
449
494
|
};
|
|
450
495
|
|
|
451
|
-
export const
|
|
452
|
-
|
|
496
|
+
export const AutosuggestListboxOnDark = DarkAutosuggestListbox.bind({});
|
|
497
|
+
AutosuggestListboxOnDark.play = async ({ canvasElement }) => {
|
|
453
498
|
const canvas = within(canvasElement);
|
|
454
|
-
const
|
|
455
|
-
await userEvent.click(
|
|
499
|
+
const select = canvas.getByRole("combobox");
|
|
500
|
+
await userEvent.click(select);
|
|
456
501
|
};
|