@dxc-technology/halstack-react 0.0.0-74ba970 → 0.0.0-752ca0a
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 +1349 -5
- package/HalstackContext.js +117 -77
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +14 -37
- package/accordion/Accordion.stories.tsx +104 -113
- package/accordion/Accordion.test.js +1 -1
- package/accordion/types.d.ts +2 -13
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +23 -44
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +7 -17
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +2 -13
- package/alert/Alert.js +4 -8
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +1 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +7 -26
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- package/bulleted-list/BulletedList.js +4 -2
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +31 -4
- package/button/Button.d.ts +1 -1
- package/button/Button.js +48 -60
- package/button/Button.stories.tsx +151 -9
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +7 -3
- package/card/Card.d.ts +1 -1
- package/card/Card.js +27 -45
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +71 -51
- package/checkbox/Checkbox.stories.tsx +146 -58
- package/checkbox/Checkbox.test.js +84 -11
- package/checkbox/types.d.ts +10 -2
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1499 -0
- package/common/variables.js +1004 -1134
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +138 -239
- package/date-input/DateInput.stories.tsx +209 -33
- package/date-input/DateInput.test.js +519 -149
- 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 +55 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +54 -85
- package/dialog/Dialog.stories.tsx +154 -170
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.js +40 -39
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +21 -26
- package/dropdown/DropdownMenu.js +12 -18
- package/dropdown/DropdownMenuItem.js +4 -17
- package/dropdown/types.d.ts +3 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +174 -220
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +18 -1
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +33 -19
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +83 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +44 -64
- package/footer/Footer.stories.tsx +36 -21
- package/footer/Footer.test.js +16 -26
- package/footer/types.d.ts +10 -11
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +20 -49
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +2 -2
- package/header/types.d.ts +1 -14
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/image/Image.d.ts +4 -0
- package/image/Image.js +85 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.stories.tsx +2 -1
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +15 -12
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -4
- package/layout/Icons.js +52 -56
- package/layout/types.d.ts +2 -3
- package/link/Link.js +4 -4
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +2 -2
- package/main.d.ts +4 -2
- package/main.js +17 -1
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +48 -32
- package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +317 -98
- package/package.json +9 -14
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +8 -16
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +58 -48
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +35 -82
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +34 -40
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +5 -5
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/progress-bar/ProgressBar.test.js +1 -1
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +111 -19
- package/radio-group/Radio.js +10 -10
- package/radio-group/RadioGroup.js +15 -13
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +117 -60
- 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 +41 -64
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +59 -36
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +345 -292
- package/select/types.d.ts +2 -2
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +66 -96
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/types.d.ts +21 -18
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +17 -14
- package/slider/Slider.stories.tsx +57 -0
- package/slider/Slider.test.js +1 -1
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +7 -6
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +1 -1
- package/switch/types.d.ts +8 -3
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.js +12 -15
- package/tabs/Tabs.js +11 -17
- package/tabs/Tabs.stories.tsx +45 -5
- package/tabs/Tabs.test.js +4 -5
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.js +7 -9
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/text-input/Suggestion.js +34 -7
- package/text-input/TextInput.js +224 -228
- package/text-input/TextInput.stories.tsx +132 -5
- package/text-input/TextInput.test.js +757 -658
- package/text-input/types.d.ts +9 -0
- package/textarea/Textarea.js +27 -26
- package/textarea/Textarea.stories.jsx +68 -1
- package/textarea/Textarea.test.js +61 -19
- package/textarea/types.d.ts +4 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +85 -59
- package/toggle-group/ToggleGroup.stories.tsx +48 -3
- package/toggle-group/ToggleGroup.test.js +38 -24
- package/toggle-group/types.d.ts +22 -13
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +14 -113
- package/typography/Typography.stories.tsx +1 -1
- package/useTheme.d.ts +1251 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +2 -2
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +5 -6
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- /package/{tabs-nav → grid}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
|
@@ -5,39 +5,74 @@ import DxcHeading from "../heading/Heading";
|
|
|
5
5
|
import DxcParagraph from "../paragraph/Paragraph";
|
|
6
6
|
import Title from "../../.storybook/components/Title";
|
|
7
7
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
8
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
8
9
|
|
|
9
10
|
export default {
|
|
10
11
|
title: "QuickNav",
|
|
11
12
|
component: DxcQuickNav,
|
|
12
13
|
};
|
|
13
14
|
|
|
15
|
+
const opinionatedTheme = {
|
|
16
|
+
quickNav: {
|
|
17
|
+
fontColor: "#666666",
|
|
18
|
+
accentColor: "#9a6bb2",
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const defaultLinks = [
|
|
23
|
+
{
|
|
24
|
+
label: "Overview",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
label: "Principles",
|
|
28
|
+
links: [{ label: "Color" }, { label: "Spacing" }, { label: "Typography" }],
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
label: "Components",
|
|
32
|
+
links: [
|
|
33
|
+
{
|
|
34
|
+
label: "Accordion",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: "Button",
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
|
|
14
43
|
const links = [
|
|
15
44
|
{
|
|
16
45
|
label: "Overview",
|
|
17
|
-
id: "overview",
|
|
18
46
|
links: [
|
|
19
47
|
{
|
|
20
48
|
label: "Introduction",
|
|
21
|
-
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: "Components",
|
|
54
|
+
links: [
|
|
55
|
+
{
|
|
56
|
+
label: "Introduction",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
label: "Accordion",
|
|
22
60
|
},
|
|
23
61
|
],
|
|
24
62
|
},
|
|
25
63
|
{
|
|
26
64
|
label: "Principles very very very very very very very very long",
|
|
27
|
-
id: "principles",
|
|
28
65
|
links: [
|
|
29
|
-
{ label: "Color very very very very very very very very long"
|
|
30
|
-
{ label: "Spacingveryveryveryveryveryveryveryverylong"
|
|
31
|
-
{ label: "Typography"
|
|
66
|
+
{ label: "Color very very very very very very very very long" },
|
|
67
|
+
{ label: "Spacingveryveryveryveryveryveryveryverylong" },
|
|
68
|
+
{ label: "Typography" },
|
|
32
69
|
],
|
|
33
70
|
},
|
|
34
71
|
{
|
|
35
72
|
label: "Componentsveryveryveryveryveryveryveryverylong",
|
|
36
|
-
id: "components",
|
|
37
73
|
links: [
|
|
38
74
|
{
|
|
39
75
|
label: "Accordion",
|
|
40
|
-
id: "accordion",
|
|
41
76
|
},
|
|
42
77
|
],
|
|
43
78
|
},
|
|
@@ -48,19 +83,25 @@ export const Chromatic = () => (
|
|
|
48
83
|
<ExampleContainer>
|
|
49
84
|
<Title title="Default" level={4} />
|
|
50
85
|
<QuickNavContainer>
|
|
51
|
-
<DxcQuickNav links={
|
|
86
|
+
<DxcQuickNav links={defaultLinks} />
|
|
87
|
+
</QuickNavContainer>
|
|
88
|
+
</ExampleContainer>
|
|
89
|
+
<ExampleContainer>
|
|
90
|
+
<Title title="Text overflow" level={4} />
|
|
91
|
+
<QuickNavContainer>
|
|
92
|
+
<DxcQuickNav links={links} />
|
|
52
93
|
</QuickNavContainer>
|
|
53
94
|
</ExampleContainer>
|
|
54
95
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
55
96
|
<Title title="Link hovered" level={4} />
|
|
56
97
|
<QuickNavContainer>
|
|
57
|
-
<DxcQuickNav links={links}
|
|
98
|
+
<DxcQuickNav links={links} />
|
|
58
99
|
</QuickNavContainer>
|
|
59
100
|
</ExampleContainer>
|
|
60
101
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
61
102
|
<Title title="Link focus" level={4} />
|
|
62
103
|
<QuickNavContainer>
|
|
63
|
-
<DxcQuickNav links={links}
|
|
104
|
+
<DxcQuickNav links={links} />
|
|
64
105
|
</QuickNavContainer>
|
|
65
106
|
</ExampleContainer>
|
|
66
107
|
<ExampleContainer>
|
|
@@ -87,7 +128,7 @@ export const Chromatic = () => (
|
|
|
87
128
|
open source design system for insurance products and digital experiences. Our system provides all the
|
|
88
129
|
tools and resources needed to create superior, beautiful but above all, functional user experiences.
|
|
89
130
|
</DxcParagraph>
|
|
90
|
-
<Content id="introduction">
|
|
131
|
+
<Content id="overview-introduction">
|
|
91
132
|
<DxcHeading level={2} text="Introduction" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
92
133
|
<DxcParagraph>
|
|
93
134
|
Design principles Halstack design principles are the fundamental part of DXC Technology's approach to
|
|
@@ -122,9 +163,54 @@ export const Chromatic = () => (
|
|
|
122
163
|
</DxcParagraph>
|
|
123
164
|
</Content>
|
|
124
165
|
</Content>
|
|
125
|
-
<Content id="
|
|
166
|
+
<Content id="components">
|
|
167
|
+
<DxcHeading level={1} text="Components" margin={{ top: "small", bottom: "xsmall" }} />
|
|
168
|
+
<Content id="components-introduction">
|
|
169
|
+
<DxcHeading level={2} text="Introduction" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
170
|
+
<DxcParagraph>
|
|
171
|
+
Design principles Halstack design principles are the fundamental part of DXC Technology's approach to
|
|
172
|
+
provide guidance for development teams in order to deliver delightful and consistent user experiences to
|
|
173
|
+
our customers: Balance Consistency Visual hierarchy All our components, design tokens, accessibility
|
|
174
|
+
guidelines, responsive design techniques, and layout proposals have been carefully curated by DXC design
|
|
175
|
+
and engineering teams with the objective of creating a unique visual language and ecosystem for our
|
|
176
|
+
applications. This is the DXC way of creating User Experiences. Open Source Halstack is an open source
|
|
177
|
+
design system, this means that we work towards DXC Technology bussines needs, but it is open for anyone
|
|
178
|
+
to use and contribute back to. We are charmed to receive external contributions to help us find bugs,
|
|
179
|
+
design new features, or help us improve the project documentation. If you're interested, definitely
|
|
180
|
+
check out our contribution guidelines.Design principles Halstack design principles are the fundamental
|
|
181
|
+
part of DXC Technology's approach to provide guidance for development teams in order to deliver
|
|
182
|
+
delightful and consistent user experiences to our customers: Balance Consistency Visual hierarchy All
|
|
183
|
+
our components, design tokens, accessibility guidelines, responsive design techniques, and layout
|
|
184
|
+
proposals have been carefully curated by DXC design and engineering teams with the objective of creating
|
|
185
|
+
a unique visual language and ecosystem for our applications. This is the DXC way of creating User
|
|
186
|
+
Experiences. Open Source Halstack is an open source design system, this means that we work towards DXC
|
|
187
|
+
Technology bussines needs, but it is open for anyone to use and contribute back to. We are charmed to
|
|
188
|
+
receive external contributions to help us find bugs, design new features, or help us improve the project
|
|
189
|
+
documentation. If you're interested, definitely check out our contribution guidelines.Design principles
|
|
190
|
+
Halstack design principles are the fundamental part of DXC Technology's approach to provide guidance for
|
|
191
|
+
development teams in order to deliver delightful and consistent user experiences to our customers:
|
|
192
|
+
Balance Consistency Visual hierarchy All our components, design tokens, accessibility guidelines,
|
|
193
|
+
responsive design techniques, and layout proposals have been carefully curated by DXC design and
|
|
194
|
+
engineering teams with the objective of creating a unique visual language and ecosystem for our
|
|
195
|
+
applications. This is the DXC way of creating User Experiences. Open Source Halstack is an open source
|
|
196
|
+
design system, this means that we work towards DXC Technology bussines needs, but it is open for anyone
|
|
197
|
+
to use and contribute back to. We are charmed to receive external contributions to help us find bugs,
|
|
198
|
+
design new features, or help us improve the project documentation. If you're interested, definitely
|
|
199
|
+
check out our contribution guidelines.
|
|
200
|
+
</DxcParagraph>
|
|
201
|
+
</Content>
|
|
202
|
+
<Content id="components-accordion">
|
|
203
|
+
<DxcHeading level={2} text="Accordion" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
204
|
+
<DxcParagraph>
|
|
205
|
+
Accordions are used to group similar content and hide or show it depending on user needs or preferences.
|
|
206
|
+
Accordions give users more granular control over the interface and help digest content in stages, rather
|
|
207
|
+
than all at once.
|
|
208
|
+
</DxcParagraph>
|
|
209
|
+
</Content>
|
|
210
|
+
</Content>
|
|
211
|
+
<Content id="principles-very-very-very-very-very-very-very-very-long">
|
|
126
212
|
<DxcHeading level={1} text="Principles" margin={{ top: "small", bottom: "xsmall" }} />
|
|
127
|
-
<Content id="color">
|
|
213
|
+
<Content id="principles-very-very-very-very-very-very-very-very-long-color-very-very-very-very-very-very-very-very-long">
|
|
128
214
|
<DxcHeading level={2} text="Color" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
129
215
|
<DxcParagraph>
|
|
130
216
|
The color palette is an essential asset as a communication resource of our design system. Halstack color
|
|
@@ -161,7 +247,7 @@ export const Chromatic = () => (
|
|
|
161
247
|
role-based color palettes and must not be used outside this context.
|
|
162
248
|
</DxcParagraph>
|
|
163
249
|
</Content>
|
|
164
|
-
<Content id="
|
|
250
|
+
<Content id="principles-very-very-very-very-very-very-very-very-long-spacingveryveryveryveryveryveryveryverylong">
|
|
165
251
|
<DxcHeading level={2} text="Spacing" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
166
252
|
<DxcParagraph>
|
|
167
253
|
In the search of consistent alignment between the elements we provide a spacing scale based on a root
|
|
@@ -183,7 +269,7 @@ export const Chromatic = () => (
|
|
|
183
269
|
easily multiplied, they provide flexible and consistent, yet distinct enough, steps between them.
|
|
184
270
|
</DxcParagraph>
|
|
185
271
|
</Content>
|
|
186
|
-
<Content id="typography">
|
|
272
|
+
<Content id="principles-very-very-very-very-very-very-very-very-long-typography">
|
|
187
273
|
<DxcHeading level={2} text="Typography" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
188
274
|
<DxcParagraph>
|
|
189
275
|
Our selected typography helps in structuring our user's experience based on the visual impact that it
|
|
@@ -220,9 +306,9 @@ export const Chromatic = () => (
|
|
|
220
306
|
</DxcParagraph>
|
|
221
307
|
</Content>
|
|
222
308
|
</Content>
|
|
223
|
-
<Content id="
|
|
309
|
+
<Content id="componentsveryveryveryveryveryveryveryverylong">
|
|
224
310
|
<DxcHeading level={1} text="Components" margin={{ top: "small", bottom: "xsmall" }} />
|
|
225
|
-
<Content id="accordion">
|
|
311
|
+
<Content id="componentsveryveryveryveryveryveryveryverylong-accordion">
|
|
226
312
|
<DxcHeading level={2} text="Accordion" margin={{ top: "xsmall", bottom: "xsmall" }} />
|
|
227
313
|
<DxcParagraph>
|
|
228
314
|
Accordions are used to group similar content and hide or show it depending on user needs or preferences.
|
|
@@ -233,10 +319,16 @@ export const Chromatic = () => (
|
|
|
233
319
|
</Content>
|
|
234
320
|
</ContentContainer>
|
|
235
321
|
<QuickNavContainer>
|
|
236
|
-
<DxcQuickNav title="Sections" links={links}
|
|
322
|
+
<DxcQuickNav title="Sections" links={links} />
|
|
237
323
|
</QuickNavContainer>
|
|
238
324
|
</Container>
|
|
239
325
|
</ExampleContainer>
|
|
326
|
+
<Title title="Opinionated theme" level={2} />
|
|
327
|
+
<ExampleContainer>
|
|
328
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
329
|
+
<DxcQuickNav links={defaultLinks} />
|
|
330
|
+
</HalstackProvider>
|
|
331
|
+
</ExampleContainer>
|
|
240
332
|
</>
|
|
241
333
|
);
|
|
242
334
|
|
package/radio-group/Radio.js
CHANGED
|
@@ -21,7 +21,9 @@ var _uuid = require("uuid");
|
|
|
21
21
|
|
|
22
22
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
25
|
+
|
|
26
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
25
27
|
|
|
26
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
29
|
|
|
@@ -56,7 +58,7 @@ var DxcRadio = function DxcRadio(_ref) {
|
|
|
56
58
|
firstUpdate = _useState4[0],
|
|
57
59
|
setFirstUpdate = _useState4[1];
|
|
58
60
|
|
|
59
|
-
(0, _react.
|
|
61
|
+
(0, _react.useEffect)(function () {
|
|
60
62
|
var _ref$current2;
|
|
61
63
|
|
|
62
64
|
// Don't apply in the first render
|
|
@@ -69,7 +71,7 @@ var DxcRadio = function DxcRadio(_ref) {
|
|
|
69
71
|
}, [focused]);
|
|
70
72
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
71
73
|
theme: colorsTheme.radioGroup
|
|
72
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
74
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(RadioContainer, {
|
|
73
75
|
error: error,
|
|
74
76
|
disabled: disabled,
|
|
75
77
|
readonly: readonly,
|
|
@@ -107,11 +109,9 @@ var getRadioInputStateColor = function getRadioInputStateColor(props, state) {
|
|
|
107
109
|
}
|
|
108
110
|
};
|
|
109
111
|
|
|
110
|
-
var
|
|
111
|
-
|
|
112
|
-
var RadioInputContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
|
|
112
|
+
var RadioInputContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
|
|
113
113
|
|
|
114
|
-
var RadioInput = _styledComponents["default"].span(
|
|
114
|
+
var RadioInput = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border: 2px solid ", ";\n border-radius: 50%;\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n ", "\n"])), function (props) {
|
|
115
115
|
return getRadioInputStateColor(props, "enabled");
|
|
116
116
|
}, function (props) {
|
|
117
117
|
return props.theme.focusBorderColor;
|
|
@@ -119,11 +119,11 @@ var RadioInput = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
119
119
|
return props.disabled && "pointer-events: none;";
|
|
120
120
|
});
|
|
121
121
|
|
|
122
|
-
var Dot = _styledComponents["default"].span(
|
|
122
|
+
var Dot = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background-color: ", ";\n"])), function (props) {
|
|
123
123
|
return getRadioInputStateColor(props, "enabled");
|
|
124
124
|
});
|
|
125
125
|
|
|
126
|
-
var Label = _styledComponents["default"].span(
|
|
126
|
+
var Label = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
|
|
127
127
|
return props.theme.radioInputLabelMargin;
|
|
128
128
|
}, function (props) {
|
|
129
129
|
return props.theme.fontFamily;
|
|
@@ -139,7 +139,7 @@ var Label = _styledComponents["default"].span(_templateObject5 || (_templateObje
|
|
|
139
139
|
return props.disabled ? "color: ".concat(props.theme.disabledRadioInputLabelFontColor, ";") : "color: ".concat(props.theme.radioInputLabelFontColor);
|
|
140
140
|
});
|
|
141
141
|
|
|
142
|
-
var RadioContainer = _styledComponents["default"].span(
|
|
142
|
+
var RadioContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n\n &:hover {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n &:active {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
143
143
|
return props.disabled ? "not-allowed" : props.readonly ? "default" : "pointer";
|
|
144
144
|
}, RadioInput, function (props) {
|
|
145
145
|
return !props.disabled && getRadioInputStateColor(props, "hover");
|
|
@@ -27,7 +27,7 @@ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabel
|
|
|
27
27
|
|
|
28
28
|
var _Radio = _interopRequireDefault(require("./Radio"));
|
|
29
29
|
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
31
31
|
|
|
32
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
33
|
|
|
@@ -83,14 +83,13 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
83
83
|
|
|
84
84
|
var colorsTheme = (0, _useTheme["default"])();
|
|
85
85
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
86
|
-
var optionalItem = {
|
|
87
|
-
label: optionalItemLabel || translatedLabels.radioGroup.optionalItemLabelDefault,
|
|
88
|
-
value: "",
|
|
89
|
-
disabled: disabled
|
|
90
|
-
};
|
|
91
86
|
var innerOptions = (0, _react.useMemo)(function () {
|
|
92
|
-
return optional ? [].concat((0, _toConsumableArray2["default"])(options), [
|
|
93
|
-
|
|
87
|
+
return optional ? [].concat((0, _toConsumableArray2["default"])(options), [{
|
|
88
|
+
label: optionalItemLabel !== null && optionalItemLabel !== void 0 ? optionalItemLabel : translatedLabels.radioGroup.optionalItemLabelDefault,
|
|
89
|
+
value: "",
|
|
90
|
+
disabled: disabled
|
|
91
|
+
}]) : options;
|
|
92
|
+
}, [optional, options, optionalItemLabel, translatedLabels]);
|
|
94
93
|
|
|
95
94
|
var _useState7 = (0, _react.useState)(getInitialFocusIndex(innerOptions, value !== null && value !== void 0 ? value : innerValue)),
|
|
96
95
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
@@ -198,10 +197,11 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
198
197
|
"aria-required": !disabled && !readonly && !optional,
|
|
199
198
|
"aria-readonly": readonly,
|
|
200
199
|
"aria-orientation": stacking === "column" ? "vertical" : "horizontal"
|
|
201
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
202
|
-
type: "hidden",
|
|
200
|
+
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
203
201
|
name: name,
|
|
204
|
-
|
|
202
|
+
disabled: disabled,
|
|
203
|
+
value: (_ref2 = value !== null && value !== void 0 ? value : innerValue) !== null && _ref2 !== void 0 ? _ref2 : "",
|
|
204
|
+
readOnly: true
|
|
205
205
|
}), innerOptions.map(function (option, index) {
|
|
206
206
|
return /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
|
|
207
207
|
key: "radio-".concat(index),
|
|
@@ -223,7 +223,7 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
223
223
|
}, error)));
|
|
224
224
|
});
|
|
225
225
|
|
|
226
|
-
var RadioGroupContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n
|
|
226
|
+
var RadioGroupContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: column;\n"])));
|
|
227
227
|
|
|
228
228
|
var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
|
|
229
229
|
return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
|
|
@@ -269,7 +269,9 @@ var RadioGroup = _styledComponents["default"].div(_templateObject5 || (_template
|
|
|
269
269
|
return props.theme.groupHorizontalGutter;
|
|
270
270
|
});
|
|
271
271
|
|
|
272
|
-
var
|
|
272
|
+
var ValueInput = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
273
|
+
|
|
274
|
+
var Error = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.5rem;\n"])), function (props) {
|
|
273
275
|
return props.theme.errorMessageColor;
|
|
274
276
|
}, function (props) {
|
|
275
277
|
return props.theme.fontFamily;
|
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import DxcRadioGroup from "./RadioGroup";
|
|
5
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
5
6
|
|
|
6
7
|
export default {
|
|
7
8
|
title: "Radio Group",
|
|
@@ -19,83 +20,195 @@ const options = [
|
|
|
19
20
|
|
|
20
21
|
const single_disabled_options = [{ label: "Option A", value: "A", disabled: true }];
|
|
21
22
|
|
|
23
|
+
const opinionatedTheme = {
|
|
24
|
+
radioGroup: {
|
|
25
|
+
baseColor: "#0086e6",
|
|
26
|
+
fontColor: "#000000",
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
|
|
22
30
|
export const Chromatic = () => (
|
|
23
31
|
<>
|
|
24
32
|
<Title title="Radio input states" theme="light" level={2} />
|
|
25
33
|
<ExampleContainer>
|
|
26
34
|
<Title title="Enabled" theme="light" level={4} />
|
|
27
|
-
<DxcRadioGroup label="
|
|
35
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
28
36
|
</ExampleContainer>
|
|
29
37
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
30
38
|
<Title title="Hovered" theme="light" level={4} />
|
|
31
|
-
<DxcRadioGroup label="
|
|
39
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
32
40
|
</ExampleContainer>
|
|
33
41
|
<ExampleContainer pseudoState="pseudo-active">
|
|
34
42
|
<Title title="Active" theme="light" level={4} />
|
|
35
|
-
<DxcRadioGroup label="
|
|
43
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
36
44
|
</ExampleContainer>
|
|
37
45
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
38
46
|
<Title title="Focused" theme="light" level={4} />
|
|
39
|
-
<DxcRadioGroup label="
|
|
47
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
40
48
|
</ExampleContainer>
|
|
41
49
|
<ExampleContainer>
|
|
42
50
|
<Title title="Disabled" theme="light" level={4} />
|
|
43
|
-
<DxcRadioGroup label="
|
|
51
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_disabled_options} defaultValue="A" />
|
|
44
52
|
</ExampleContainer>
|
|
45
53
|
<Title title="Readonly radio input sub-states" theme="light" level={3} />
|
|
46
54
|
<ExampleContainer>
|
|
47
55
|
<Title title="Enabled" theme="light" level={4} />
|
|
48
|
-
<DxcRadioGroup label="
|
|
56
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readonly />
|
|
49
57
|
</ExampleContainer>
|
|
50
58
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
51
59
|
<Title title="Hovered" theme="light" level={4} />
|
|
52
|
-
<DxcRadioGroup label="
|
|
60
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readonly />
|
|
53
61
|
</ExampleContainer>
|
|
54
62
|
<ExampleContainer pseudoState="pseudo-active">
|
|
55
63
|
<Title title="Active" theme="light" level={4} />
|
|
56
|
-
<DxcRadioGroup label="
|
|
64
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_option} defaultValue="A" readonly />
|
|
57
65
|
</ExampleContainer>
|
|
58
66
|
<Title title="Error radio input sub-states" theme="light" level={3} />
|
|
59
67
|
<ExampleContainer>
|
|
60
68
|
<Title title="Enabled" theme="light" level={4} />
|
|
61
|
-
<DxcRadioGroup
|
|
69
|
+
<DxcRadioGroup
|
|
70
|
+
label="Label"
|
|
71
|
+
helperText="Helper text"
|
|
72
|
+
options={single_option}
|
|
73
|
+
defaultValue="A"
|
|
74
|
+
error="Error message"
|
|
75
|
+
/>
|
|
62
76
|
</ExampleContainer>
|
|
63
77
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
64
78
|
<Title title="Hovered" theme="light" level={4} />
|
|
65
|
-
<DxcRadioGroup
|
|
79
|
+
<DxcRadioGroup
|
|
80
|
+
label="Label"
|
|
81
|
+
helperText="Helper text"
|
|
82
|
+
options={single_option}
|
|
83
|
+
defaultValue="A"
|
|
84
|
+
readonly
|
|
85
|
+
error="Error message"
|
|
86
|
+
/>
|
|
66
87
|
</ExampleContainer>
|
|
67
88
|
<ExampleContainer pseudoState="pseudo-active">
|
|
68
89
|
<Title title="Active" theme="light" level={4} />
|
|
69
|
-
<DxcRadioGroup
|
|
90
|
+
<DxcRadioGroup
|
|
91
|
+
label="Label"
|
|
92
|
+
helperText="Helper text"
|
|
93
|
+
options={single_option}
|
|
94
|
+
defaultValue="A"
|
|
95
|
+
readonly
|
|
96
|
+
error="Error message"
|
|
97
|
+
/>
|
|
70
98
|
</ExampleContainer>
|
|
71
99
|
<Title title="Variants" theme="light" level={2} />
|
|
72
100
|
<ExampleContainer>
|
|
73
101
|
<Title title="Column" theme="light" level={4} />
|
|
74
|
-
<DxcRadioGroup label="
|
|
102
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={options} />
|
|
75
103
|
</ExampleContainer>
|
|
76
104
|
<ExampleContainer>
|
|
77
105
|
<Title title="Row" theme="light" level={4} />
|
|
78
|
-
<DxcRadioGroup label="
|
|
106
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={options} stacking="row" />
|
|
79
107
|
</ExampleContainer>
|
|
80
108
|
<ExampleContainer>
|
|
81
109
|
<Title title="Optional" theme="light" level={4} />
|
|
82
|
-
<DxcRadioGroup label="
|
|
110
|
+
<DxcRadioGroup label="Label" optional helperText="Helper text" options={options} stacking="row" />
|
|
83
111
|
</ExampleContainer>
|
|
84
112
|
<ExampleContainer>
|
|
85
113
|
<Title title="Disabled" theme="light" level={4} />
|
|
86
|
-
<DxcRadioGroup label="
|
|
114
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={options} disabled />
|
|
87
115
|
</ExampleContainer>
|
|
88
116
|
<ExampleContainer>
|
|
89
117
|
<Title title="Readonly" theme="light" level={4} />
|
|
90
|
-
<DxcRadioGroup label="
|
|
118
|
+
<DxcRadioGroup label="Label" readonly helperText="Helper text" options={options} />
|
|
91
119
|
</ExampleContainer>
|
|
92
120
|
<ExampleContainer>
|
|
93
121
|
<Title title="Error space reserved" theme="light" level={4} />
|
|
94
|
-
<DxcRadioGroup label="
|
|
122
|
+
<DxcRadioGroup label="Label" error="" helperText="Helper text" options={options} />
|
|
95
123
|
</ExampleContainer>
|
|
96
124
|
<ExampleContainer>
|
|
97
125
|
<Title title="Error" theme="light" level={4} />
|
|
98
|
-
<DxcRadioGroup label="
|
|
126
|
+
<DxcRadioGroup label="Label" error="Error message" helperText="Helper text" options={options} />
|
|
127
|
+
</ExampleContainer>
|
|
128
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
129
|
+
<ExampleContainer>
|
|
130
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
131
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
132
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
133
|
+
</HalstackProvider>
|
|
134
|
+
</ExampleContainer>
|
|
135
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
136
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
137
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
138
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
139
|
+
</HalstackProvider>
|
|
140
|
+
</ExampleContainer>
|
|
141
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
142
|
+
<Title title="Active" theme="light" level={4} />
|
|
143
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
144
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
145
|
+
</HalstackProvider>
|
|
146
|
+
</ExampleContainer>
|
|
147
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
148
|
+
<Title title="Focused" theme="light" level={4} />
|
|
149
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
150
|
+
<DxcRadioGroup label="Label" helperText="Helper text" defaultValue="A" options={single_option} />
|
|
151
|
+
</HalstackProvider>
|
|
152
|
+
</ExampleContainer>
|
|
153
|
+
<ExampleContainer>
|
|
154
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
155
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
156
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={single_disabled_options} defaultValue="A" />
|
|
157
|
+
</HalstackProvider>
|
|
158
|
+
</ExampleContainer>
|
|
159
|
+
<ExampleContainer>
|
|
160
|
+
<Title title="Readonly enabled" theme="light" level={4} />
|
|
161
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
162
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" readonly />
|
|
163
|
+
</HalstackProvider>
|
|
164
|
+
</ExampleContainer>
|
|
165
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
166
|
+
<Title title="Readonly hovered" theme="light" level={4} />
|
|
167
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
168
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" readonly />
|
|
169
|
+
</HalstackProvider>
|
|
170
|
+
</ExampleContainer>
|
|
171
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
172
|
+
<Title title="Readonly active" theme="light" level={4} />
|
|
173
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
174
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" readonly />
|
|
175
|
+
</HalstackProvider>
|
|
176
|
+
</ExampleContainer>
|
|
177
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
178
|
+
<Title title="Readonly focused" theme="light" level={4} />
|
|
179
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
180
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" readonly />
|
|
181
|
+
</HalstackProvider>
|
|
182
|
+
</ExampleContainer>
|
|
183
|
+
<ExampleContainer>
|
|
184
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
185
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
186
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
|
|
187
|
+
</HalstackProvider>
|
|
188
|
+
</ExampleContainer>
|
|
189
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
190
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
191
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
192
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
|
|
193
|
+
</HalstackProvider>
|
|
194
|
+
</ExampleContainer>
|
|
195
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
196
|
+
<Title title="Active" theme="light" level={4} />
|
|
197
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
198
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
|
|
199
|
+
</HalstackProvider>
|
|
200
|
+
</ExampleContainer>
|
|
201
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
202
|
+
<Title title="Focused" theme="light" level={4} />
|
|
203
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
204
|
+
<DxcRadioGroup label="Label" options={single_option} defaultValue="A" error="Error message" />
|
|
205
|
+
</HalstackProvider>
|
|
206
|
+
</ExampleContainer>
|
|
207
|
+
<ExampleContainer>
|
|
208
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
209
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
210
|
+
<DxcRadioGroup label="Label" helperText="Helper text" options={options} disabled defaultValue="A" />
|
|
211
|
+
</HalstackProvider>
|
|
99
212
|
</ExampleContainer>
|
|
100
213
|
</>
|
|
101
214
|
);
|