@dxc-technology/halstack-react 0.0.0-d30020b → 0.0.0-d3ac293
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/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1336 -0
- package/HalstackContext.js +335 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +118 -126
- package/accordion/Accordion.stories.tsx +115 -27
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +9 -4
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +17 -38
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +14 -3
- package/alert/Alert.js +7 -4
- package/alert/Alert.stories.tsx +28 -0
- 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/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +25 -1
- package/box/Box.js +25 -37
- package/box/Box.stories.tsx +15 -0
- 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/button/Button.js +52 -69
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +25 -28
- 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 +107 -110
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +13 -5
- package/chip/Chip.js +18 -24
- package/chip/Chip.stories.tsx +96 -9
- package/chip/Chip.test.js +54 -0
- package/chip/types.d.ts +1 -1
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1625 -0
- package/common/variables.js +476 -583
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +169 -258
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +835 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -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 +126 -0
- package/date-input/types.d.ts +67 -9
- package/dialog/Dialog.js +76 -93
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +369 -0
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -253
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +586 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +70 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +81 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +181 -223
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -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/footer/Footer.js +16 -89
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +97 -0
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +108 -129
- package/header/Header.stories.tsx +189 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +72 -132
- 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 +59 -76
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +81 -0
- package/link/types.d.ts +7 -23
- package/main.d.ts +10 -15
- package/main.js +48 -82
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +125 -0
- package/nav-tabs/NavTabs.stories.tsx +260 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +150 -0
- package/nav-tabs/types.d.ts +53 -0
- 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 +20 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +305 -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 +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- 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 +356 -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 +53 -37
- package/radio-group/RadioGroup.js +67 -57
- package/radio-group/RadioGroup.stories.tsx +171 -36
- package/radio-group/RadioGroup.test.js +563 -89
- package/radio-group/types.d.ts +82 -4
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +325 -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 +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.js +185 -384
- package/select/Select.stories.tsx +600 -201
- package/select/Select.test.js +2228 -0
- package/select/types.d.ts +53 -13
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +183 -53
- package/sidenav/Sidenav.stories.tsx +249 -149
- 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 +124 -98
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +4 -4
- package/spinner/Spinner.stories.jsx +27 -1
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +152 -69
- package/switch/Switch.stories.tsx +53 -42
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +12 -4
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -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 +363 -109
- package/tabs/Tabs.stories.tsx +119 -13
- package/tabs/Tabs.test.js +350 -0
- package/tabs/types.d.ts +19 -5
- package/tag/Tag.js +17 -22
- package/tag/Tag.stories.tsx +25 -8
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +1 -1
- 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 +224 -345
- package/text-input/TextInput.stories.tsx +310 -197
- package/text-input/TextInput.test.js +1723 -0
- package/text-input/types.d.ts +50 -12
- package/textarea/Textarea.js +22 -29
- package/textarea/Textarea.stories.jsx +93 -13
- 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 +6 -5
- package/toggle-group/ToggleGroup.stories.tsx +46 -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 +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +3 -3
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +59 -55
- package/wizard/Wizard.stories.tsx +48 -19
- 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 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- 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 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -10
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- 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
- /package/{list → badge}/types.js +0 -0
- /package/{radio → bulleted-list}/types.js +0 -0
- /package/{row → flex}/types.js +0 -0
- /package/{stack → nav-tabs}/types.js +0 -0
|
@@ -1,11 +1,17 @@
|
|
|
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";
|
|
14
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
9
15
|
|
|
10
16
|
export default {
|
|
11
17
|
title: "Text input",
|
|
@@ -22,7 +28,7 @@ const action = {
|
|
|
22
28
|
),
|
|
23
29
|
};
|
|
24
30
|
|
|
25
|
-
const
|
|
31
|
+
const actionLargeIconSVG = {
|
|
26
32
|
onClick: () => {},
|
|
27
33
|
icon: (
|
|
28
34
|
<svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
|
|
@@ -32,6 +38,11 @@ const actionLargeIcon = {
|
|
|
32
38
|
),
|
|
33
39
|
};
|
|
34
40
|
|
|
41
|
+
const actionLargeIconURL = {
|
|
42
|
+
onClick: () => {},
|
|
43
|
+
icon: "https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png",
|
|
44
|
+
};
|
|
45
|
+
|
|
35
46
|
const country = ["Afghanistan"];
|
|
36
47
|
const countries = [
|
|
37
48
|
"Afghanistan",
|
|
@@ -56,8 +67,16 @@ const countries = [
|
|
|
56
67
|
"Dominica",
|
|
57
68
|
"Denmark",
|
|
58
69
|
"Djibouti",
|
|
70
|
+
"*",
|
|
59
71
|
];
|
|
60
72
|
|
|
73
|
+
const opinionatedTheme = {
|
|
74
|
+
textInput: {
|
|
75
|
+
fontColor: "#000000",
|
|
76
|
+
hoverBorderColor: "#a46ede",
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
|
|
61
80
|
export const Chromatic = () => (
|
|
62
81
|
<>
|
|
63
82
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
@@ -70,7 +89,15 @@ export const Chromatic = () => (
|
|
|
70
89
|
</ExampleContainer>
|
|
71
90
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
72
91
|
<Title title="Hovered action" theme="light" level={4} />
|
|
73
|
-
<DxcTextInput label="Text input"
|
|
92
|
+
<DxcTextInput label="Text input" defaultValue="Text" clearable />
|
|
93
|
+
</ExampleContainer>
|
|
94
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
95
|
+
<Title title="Actived action" theme="light" level={4} />
|
|
96
|
+
<DxcTextInput label="Text input" action={action} clearable />
|
|
97
|
+
</ExampleContainer>
|
|
98
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
99
|
+
<Title title="Focused action" theme="light" level={4} />
|
|
100
|
+
<DxcTextInput label="Text input" action={action} clearable />
|
|
74
101
|
</ExampleContainer>
|
|
75
102
|
<ExampleContainer>
|
|
76
103
|
<Title title="Without label" theme="light" level={4} />
|
|
@@ -82,15 +109,24 @@ export const Chromatic = () => (
|
|
|
82
109
|
</ExampleContainer>
|
|
83
110
|
<ExampleContainer>
|
|
84
111
|
<Title title="Helper text, optional, and clearable" theme="light" level={4} />
|
|
85
|
-
<DxcTextInput label="Text input" clearable
|
|
112
|
+
<DxcTextInput label="Text input" clearable defaultValue="Text" helperText="Help message" optional />
|
|
86
113
|
</ExampleContainer>
|
|
87
114
|
<ExampleContainer>
|
|
88
|
-
<Title title="Clearable and large icon action" theme="light" level={4} />
|
|
115
|
+
<Title title="Clearable and large icon action (SVG)" theme="light" level={4} />
|
|
89
116
|
<DxcTextInput
|
|
90
117
|
label="Text input"
|
|
91
|
-
|
|
118
|
+
defaultValue="Text text text text text text text text text text"
|
|
92
119
|
clearable
|
|
93
|
-
action={
|
|
120
|
+
action={actionLargeIconSVG}
|
|
121
|
+
/>
|
|
122
|
+
</ExampleContainer>
|
|
123
|
+
<ExampleContainer>
|
|
124
|
+
<Title title="Clearable and large icon action (URL)" theme="light" level={4} />
|
|
125
|
+
<DxcTextInput
|
|
126
|
+
label="Text input"
|
|
127
|
+
defaultValue="Text text text text text text text text text text"
|
|
128
|
+
clearable
|
|
129
|
+
action={actionLargeIconURL}
|
|
94
130
|
/>
|
|
95
131
|
</ExampleContainer>
|
|
96
132
|
<ExampleContainer>
|
|
@@ -107,12 +143,21 @@ export const Chromatic = () => (
|
|
|
107
143
|
label="Error text input"
|
|
108
144
|
helperText="Help message"
|
|
109
145
|
error="Error message."
|
|
110
|
-
|
|
146
|
+
defaultValue="Text"
|
|
111
147
|
clearable
|
|
112
148
|
optional
|
|
113
149
|
action={action}
|
|
114
150
|
/>
|
|
115
151
|
</ExampleContainer>
|
|
152
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
153
|
+
<Title title="Invalid and hovered" theme="light" level={4} />
|
|
154
|
+
<DxcTextInput
|
|
155
|
+
label="Error text input"
|
|
156
|
+
helperText="Help message"
|
|
157
|
+
placeholder="Placeholder"
|
|
158
|
+
error="Error message."
|
|
159
|
+
/>
|
|
160
|
+
</ExampleContainer>
|
|
116
161
|
<ExampleContainer>
|
|
117
162
|
<Title title="Disabled and placeholder" theme="light" level={4} />
|
|
118
163
|
<DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
|
|
@@ -124,7 +169,7 @@ export const Chromatic = () => (
|
|
|
124
169
|
helperText="Help message"
|
|
125
170
|
disabled
|
|
126
171
|
optional
|
|
127
|
-
|
|
172
|
+
defaultValue="Text"
|
|
128
173
|
action={action}
|
|
129
174
|
/>
|
|
130
175
|
</ExampleContainer>
|
|
@@ -137,13 +182,13 @@ export const Chromatic = () => (
|
|
|
137
182
|
optional
|
|
138
183
|
prefix="+34"
|
|
139
184
|
suffix="USD"
|
|
140
|
-
|
|
185
|
+
defaultValue="Text"
|
|
141
186
|
action={action}
|
|
142
187
|
/>
|
|
143
188
|
</ExampleContainer>
|
|
144
189
|
<BackgroundColorProvider color="#333333">
|
|
145
190
|
<DarkContainer>
|
|
146
|
-
<Title title="Dark" theme="dark" level={2} />
|
|
191
|
+
<Title title="Dark theme" theme="dark" level={2} />
|
|
147
192
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
148
193
|
<Title title="Hovered" theme="dark" level={4} />
|
|
149
194
|
<DxcTextInput label="Text input" />
|
|
@@ -154,7 +199,15 @@ export const Chromatic = () => (
|
|
|
154
199
|
</ExampleContainer>
|
|
155
200
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
156
201
|
<Title title="Hovered action" theme="dark" level={4} />
|
|
157
|
-
<DxcTextInput label="Text input"
|
|
202
|
+
<DxcTextInput label="Text input" defaultValue="Text" clearable />
|
|
203
|
+
</ExampleContainer>
|
|
204
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
205
|
+
<Title title="Actived action" theme="dark" level={4} />
|
|
206
|
+
<DxcTextInput label="Text input" action={action} clearable />
|
|
207
|
+
</ExampleContainer>
|
|
208
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
209
|
+
<Title title="Focused action" theme="dark" level={4} />
|
|
210
|
+
<DxcTextInput label="Text input" action={action} clearable />
|
|
158
211
|
</ExampleContainer>
|
|
159
212
|
<ExampleContainer>
|
|
160
213
|
<Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
|
|
@@ -168,16 +221,25 @@ export const Chromatic = () => (
|
|
|
168
221
|
/>
|
|
169
222
|
</ExampleContainer>
|
|
170
223
|
<ExampleContainer>
|
|
171
|
-
<Title title="
|
|
224
|
+
<Title title="Invalid" theme="dark" level={4} />
|
|
172
225
|
<DxcTextInput
|
|
173
|
-
label="
|
|
226
|
+
label="Error text input"
|
|
174
227
|
helperText="Help message"
|
|
175
228
|
error="Error message."
|
|
176
|
-
|
|
229
|
+
defaultValue="Text"
|
|
177
230
|
clearable
|
|
178
231
|
action={action}
|
|
179
232
|
/>
|
|
180
233
|
</ExampleContainer>
|
|
234
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
235
|
+
<Title title="Invalid and hovered" theme="dark" level={4} />
|
|
236
|
+
<DxcTextInput
|
|
237
|
+
label="Error text input"
|
|
238
|
+
helperText="Help message"
|
|
239
|
+
placeholder="Placeholder"
|
|
240
|
+
error="Error message."
|
|
241
|
+
/>
|
|
242
|
+
</ExampleContainer>
|
|
181
243
|
<ExampleContainer>
|
|
182
244
|
<Title title="Prefix and suffix" theme="dark" level={4} />
|
|
183
245
|
<DxcTextInput label="With prefix and suffix" prefix="+34" suffix="USD" />
|
|
@@ -193,7 +255,7 @@ export const Chromatic = () => (
|
|
|
193
255
|
helperText="Help message"
|
|
194
256
|
disabled
|
|
195
257
|
optional
|
|
196
|
-
|
|
258
|
+
defaultValue="Text"
|
|
197
259
|
action={action}
|
|
198
260
|
/>
|
|
199
261
|
</ExampleContainer>
|
|
@@ -206,7 +268,7 @@ export const Chromatic = () => (
|
|
|
206
268
|
optional
|
|
207
269
|
prefix="+34"
|
|
208
270
|
suffix="USD"
|
|
209
|
-
|
|
271
|
+
defaultValue="Text"
|
|
210
272
|
action={action}
|
|
211
273
|
/>
|
|
212
274
|
</ExampleContainer>
|
|
@@ -258,199 +320,250 @@ export const Chromatic = () => (
|
|
|
258
320
|
<Title title="FillParent size" theme="light" level={4} />
|
|
259
321
|
<DxcTextInput label="FillParent" size="fillParent" />
|
|
260
322
|
</ExampleContainer>
|
|
323
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
324
|
+
<ExampleContainer>
|
|
325
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
326
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
327
|
+
<Title title="Hovered input" theme="light" level={4} />
|
|
328
|
+
<DxcTextInput label="Text input" helperText="Help message" />
|
|
329
|
+
</ExampleContainer>
|
|
330
|
+
<ExampleContainer pseudoState="pseudo-focus-within">
|
|
331
|
+
<Title title="Focused input" theme="light" level={4} />
|
|
332
|
+
<DxcTextInput label="Text input" helperText="Help message" />
|
|
333
|
+
</ExampleContainer>
|
|
334
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
335
|
+
<Title title="Hovered action" theme="light" level={4} />
|
|
336
|
+
<DxcTextInput label="Text input" helperText="Help message" defaultValue="Text" clearable />
|
|
337
|
+
</ExampleContainer>
|
|
338
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
339
|
+
<Title title="Actived action" theme="light" level={4} />
|
|
340
|
+
<DxcTextInput label="Text input" helperText="Help message" action={action} clearable />
|
|
341
|
+
</ExampleContainer>
|
|
342
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
343
|
+
<Title title="Focused action" theme="light" level={4} />
|
|
344
|
+
<DxcTextInput label="Text input" helperText="Help message" action={action} clearable />
|
|
345
|
+
</ExampleContainer>
|
|
346
|
+
<ExampleContainer>
|
|
347
|
+
<Title title="Prefix" theme="light" level={4} />
|
|
348
|
+
<DxcTextInput label="With prefix" prefix="+34" helperText="Help message" />
|
|
349
|
+
</ExampleContainer>
|
|
350
|
+
<ExampleContainer>
|
|
351
|
+
<Title title="Suffix and action" theme="light" level={4} />
|
|
352
|
+
<DxcTextInput label="With suffix" helperText="Help message" suffix="USD" action={action} />
|
|
353
|
+
</ExampleContainer>
|
|
354
|
+
<ExampleContainer>
|
|
355
|
+
<Title title="Invalid" theme="light" level={4} />
|
|
356
|
+
<DxcTextInput
|
|
357
|
+
label="Error text input"
|
|
358
|
+
helperText="Help message"
|
|
359
|
+
error="Error message."
|
|
360
|
+
defaultValue="Text"
|
|
361
|
+
clearable
|
|
362
|
+
optional
|
|
363
|
+
action={action}
|
|
364
|
+
/>
|
|
365
|
+
</ExampleContainer>
|
|
366
|
+
<ExampleContainer>
|
|
367
|
+
<Title title="Disabled and placeholder" theme="light" level={4} />
|
|
368
|
+
<DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" prefix="+34" suffix="USD" />
|
|
369
|
+
</ExampleContainer>
|
|
370
|
+
<ExampleContainer>
|
|
371
|
+
<Title title="Disabled, helper text, optional, value and action" theme="light" level={4} />
|
|
372
|
+
<DxcTextInput
|
|
373
|
+
label="Disabled text input"
|
|
374
|
+
helperText="Help message"
|
|
375
|
+
disabled
|
|
376
|
+
optional
|
|
377
|
+
defaultValue="Text"
|
|
378
|
+
action={action}
|
|
379
|
+
/>
|
|
380
|
+
</ExampleContainer>
|
|
381
|
+
</HalstackProvider>
|
|
382
|
+
</ExampleContainer>
|
|
261
383
|
</>
|
|
262
384
|
);
|
|
263
385
|
|
|
264
|
-
const
|
|
265
|
-
|
|
266
|
-
<Title title="Focused action" theme="light" level={4} />
|
|
267
|
-
<DxcTextInput label="Text input" action={action} clearable />
|
|
268
|
-
</ExampleContainer>
|
|
269
|
-
);
|
|
386
|
+
const AutosuggestListbox = () => {
|
|
387
|
+
const colorsTheme: any = useTheme();
|
|
270
388
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
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
|
-
|
|
322
|
-
<
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
389
|
+
return (
|
|
390
|
+
<ThemeProvider theme={colorsTheme.textInput}>
|
|
391
|
+
<ExampleContainer>
|
|
392
|
+
<Title title="Autosuggest listbox" theme="light" level={2} />
|
|
393
|
+
<ExampleContainer>
|
|
394
|
+
<Title
|
|
395
|
+
title="List dialog uses a Radix Popover to appear over elements with a certain z-index"
|
|
396
|
+
theme="light"
|
|
397
|
+
level={3}
|
|
398
|
+
/>
|
|
399
|
+
<div
|
|
400
|
+
style={{
|
|
401
|
+
display: "flex",
|
|
402
|
+
flexDirection: "column",
|
|
403
|
+
gap: "20px",
|
|
404
|
+
height: "150px",
|
|
405
|
+
width: "500px",
|
|
406
|
+
marginBottom: "250px",
|
|
407
|
+
padding: "20px",
|
|
408
|
+
border: "1px solid black",
|
|
409
|
+
borderRadius: "4px",
|
|
410
|
+
overflow: "auto",
|
|
411
|
+
zIndex: "1300",
|
|
412
|
+
position: "relative",
|
|
413
|
+
}}
|
|
414
|
+
>
|
|
415
|
+
<DxcTextInput
|
|
416
|
+
label="Label"
|
|
417
|
+
suggestions={countries}
|
|
418
|
+
optional
|
|
419
|
+
placeholder="Choose an option"
|
|
420
|
+
size="fillParent"
|
|
421
|
+
/>
|
|
422
|
+
<button style={{ zIndex: "1", width: "100px" }}>Submit</button>
|
|
423
|
+
</div>
|
|
424
|
+
</ExampleContainer>
|
|
425
|
+
<Title title="Listbox suggestion states" theme="light" level={3} />
|
|
426
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
427
|
+
<Title title="Hovered suggestion" theme="light" level={4} />
|
|
428
|
+
<Suggestions
|
|
429
|
+
id="x"
|
|
430
|
+
value=""
|
|
431
|
+
suggestions={country}
|
|
432
|
+
visualFocusIndex={-1}
|
|
433
|
+
highlightedSuggestions={false}
|
|
434
|
+
searchHasErrors={false}
|
|
435
|
+
isSearching={false}
|
|
436
|
+
suggestionOnClick={() => {}}
|
|
437
|
+
getTextInputWidth={() => 350}
|
|
438
|
+
/>
|
|
439
|
+
</ExampleContainer>
|
|
440
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
441
|
+
<Title title="Active suggestion" theme="light" level={4} />
|
|
442
|
+
<Suggestions
|
|
443
|
+
id="x"
|
|
444
|
+
value=""
|
|
445
|
+
suggestions={country}
|
|
446
|
+
visualFocusIndex={-1}
|
|
447
|
+
highlightedSuggestions={false}
|
|
448
|
+
searchHasErrors={false}
|
|
449
|
+
isSearching={false}
|
|
450
|
+
suggestionOnClick={(suggestion) => {}}
|
|
451
|
+
getTextInputWidth={() => 350}
|
|
452
|
+
/>
|
|
453
|
+
</ExampleContainer>
|
|
454
|
+
<ExampleContainer>
|
|
455
|
+
<Title title="Focused suggestion" theme="light" level={4} />
|
|
456
|
+
<Suggestions
|
|
457
|
+
id="x"
|
|
458
|
+
value=""
|
|
459
|
+
suggestions={country}
|
|
460
|
+
visualFocusIndex={0}
|
|
461
|
+
highlightedSuggestions={false}
|
|
462
|
+
searchHasErrors={false}
|
|
463
|
+
isSearching={false}
|
|
464
|
+
suggestionOnClick={(suggestion) => {}}
|
|
465
|
+
getTextInputWidth={() => 350}
|
|
466
|
+
/>
|
|
467
|
+
</ExampleContainer>
|
|
468
|
+
<ExampleContainer>
|
|
469
|
+
<Title title="Highlighted suggestion" theme="light" level={4} />
|
|
470
|
+
<Suggestions
|
|
471
|
+
id="x"
|
|
472
|
+
value="Afgh"
|
|
473
|
+
suggestions={country}
|
|
474
|
+
visualFocusIndex={-1}
|
|
475
|
+
highlightedSuggestions={true}
|
|
476
|
+
searchHasErrors={false}
|
|
477
|
+
isSearching={false}
|
|
478
|
+
suggestionOnClick={(suggestion) => {}}
|
|
479
|
+
getTextInputWidth={() => 350}
|
|
480
|
+
/>
|
|
481
|
+
</ExampleContainer>
|
|
345
482
|
</ExampleContainer>
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
483
|
+
<ExampleContainer>
|
|
484
|
+
<Title title="Autosuggest Error" theme="light" level={3} />
|
|
485
|
+
<Suggestions
|
|
486
|
+
id="x"
|
|
487
|
+
value=""
|
|
488
|
+
suggestions={country}
|
|
489
|
+
visualFocusIndex={-1}
|
|
490
|
+
highlightedSuggestions={false}
|
|
491
|
+
searchHasErrors={true}
|
|
492
|
+
isSearching={false}
|
|
493
|
+
suggestionOnClick={(suggestion) => {}}
|
|
494
|
+
getTextInputWidth={() => 350}
|
|
495
|
+
/>
|
|
356
496
|
</ExampleContainer>
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
497
|
+
<ExampleContainer>
|
|
498
|
+
<Title title="Autosuggest Searching message" theme="light" level={3} />
|
|
499
|
+
<Suggestions
|
|
500
|
+
id="x"
|
|
501
|
+
value=""
|
|
502
|
+
suggestions={country}
|
|
503
|
+
visualFocusIndex={-1}
|
|
504
|
+
highlightedSuggestions={false}
|
|
505
|
+
searchHasErrors={false}
|
|
506
|
+
isSearching={true}
|
|
507
|
+
suggestionOnClick={(suggestion) => {}}
|
|
508
|
+
getTextInputWidth={() => 350}
|
|
509
|
+
/>
|
|
367
510
|
</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);
|
|
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
|
-
};
|
|
414
|
-
|
|
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);
|
|
511
|
+
</ThemeProvider>
|
|
512
|
+
);
|
|
427
513
|
};
|
|
428
514
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
const canvas = within(canvasElement);
|
|
432
|
-
const autosuggest = canvas.getByRole("combobox");
|
|
433
|
-
await userEvent.click(autosuggest);
|
|
434
|
-
};
|
|
515
|
+
const DarkAutosuggestListbox = () => {
|
|
516
|
+
const colorsTheme: any = useTheme();
|
|
435
517
|
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
518
|
+
return (
|
|
519
|
+
<ThemeProvider theme={colorsTheme.textInput}>
|
|
520
|
+
<BackgroundColorProvider color="#333333">
|
|
521
|
+
<DarkContainer>
|
|
522
|
+
<Title title="Dark theme" theme="dark" level={2} />
|
|
523
|
+
<ExampleContainer>
|
|
524
|
+
<Title title="Default with opened suggestions" theme="dark" level={3} />
|
|
525
|
+
<DxcFlex direction="column" gap="80px">
|
|
526
|
+
<DxcTextInput label="Label" suggestions={countries} optional placeholder="Choose an option" />
|
|
527
|
+
<DxcCheckbox
|
|
528
|
+
label="You understand the selection and give your consent"
|
|
529
|
+
onChange={() => {}}
|
|
530
|
+
labelPosition="after"
|
|
531
|
+
/>
|
|
532
|
+
<DxcButton label="Submit" onClick={() => {}} size="medium" margin={{ bottom: "xxlarge" }} />
|
|
533
|
+
</DxcFlex>
|
|
534
|
+
</ExampleContainer>
|
|
535
|
+
<ExampleContainer>
|
|
536
|
+
<Title title="Autosuggest Error" theme="dark" level={3} />
|
|
537
|
+
<div style={{ height: "100px" }}>
|
|
538
|
+
<Suggestions
|
|
539
|
+
id="x"
|
|
540
|
+
value=""
|
|
541
|
+
suggestions={country}
|
|
542
|
+
visualFocusIndex={-1}
|
|
543
|
+
highlightedSuggestions={false}
|
|
544
|
+
searchHasErrors={true}
|
|
545
|
+
isSearching={false}
|
|
546
|
+
suggestionOnClick={(suggestion) => {}}
|
|
547
|
+
getTextInputWidth={() => 350}
|
|
548
|
+
/>
|
|
549
|
+
</div>
|
|
550
|
+
</ExampleContainer>
|
|
551
|
+
</DarkContainer>
|
|
552
|
+
</BackgroundColorProvider>
|
|
553
|
+
</ThemeProvider>
|
|
554
|
+
);
|
|
441
555
|
};
|
|
442
556
|
|
|
443
|
-
export const
|
|
444
|
-
|
|
557
|
+
export const AutosuggestListboxStates = AutosuggestListbox.bind({});
|
|
558
|
+
AutosuggestListboxStates.play = async ({ canvasElement }) => {
|
|
445
559
|
const canvas = within(canvasElement);
|
|
446
|
-
const
|
|
447
|
-
await userEvent.click(
|
|
448
|
-
fireEvent.keyDown(autosuggest, { key: "ArrowDown", code: "ArrowDown", keyCode: 40, charCode: 40 });
|
|
560
|
+
const select = canvas.getByRole("combobox");
|
|
561
|
+
await userEvent.click(select);
|
|
449
562
|
};
|
|
450
563
|
|
|
451
|
-
export const
|
|
452
|
-
|
|
564
|
+
export const AutosuggestListboxOnDark = DarkAutosuggestListbox.bind({});
|
|
565
|
+
AutosuggestListboxOnDark.play = async ({ canvasElement }) => {
|
|
453
566
|
const canvas = within(canvasElement);
|
|
454
|
-
const
|
|
455
|
-
await userEvent.click(
|
|
567
|
+
const select = canvas.getByRole("combobox");
|
|
568
|
+
await userEvent.click(select);
|
|
456
569
|
};
|