-
Notifications
You must be signed in to change notification settings - Fork 14
/
PasswordInputSpecsPage.tsx
192 lines (188 loc) · 6.26 KB
/
PasswordInputSpecsPage.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
import {
DxcParagraph,
DxcFlex,
DxcLink,
DxcBulletedList,
} from "@dxc-technology/halstack-react";
import Link from "next/link";
import Figure from "@/common/Figure";
import Code from "@/common/Code";
import DocFooter from "@/common/DocFooter";
import Image from "@/common/Image";
import QuickNavContainer from "@/common/QuickNavContainer";
import QuickNavContainerLayout from "@/common/QuickNavContainerLayout";
import passwordInputActions from "./images/password_actions.png";
import passwordInputAnatomy from "./images/password_anatomy.png";
import passwordInputSpecs from "./images/password_specs.png";
import passworsInputStates from "./images/password_states.png";
const sections = [
{
title: "Specifications",
content: (
<>
<Figure caption="Password input component specifications">
<Image
src={passwordInputSpecs}
alt="Password input component specifications"
/>
</Figure>
<DxcParagraph>
The password input <Code>color</Code>, <Code>typography</Code>,{" "}
<Code>border</Code>, <Code>spacing</Code>, <Code>width</Code> and{" "}
<Code>margin</Code> specifications are inherited from the text input,
for reference check the{" "}
<Link href="/components/text-input/specifications" passHref>
<DxcLink>text input</DxcLink>
</Link>{" "}
component documentation.
</DxcParagraph>
<DxcParagraph>
The password input doesn't have the following text input elements,
therefore their listed styles don't apply:
</DxcParagraph>
<DxcBulletedList>
<DxcBulletedList.Item>Placeholder</DxcBulletedList.Item>
<DxcBulletedList.Item>Prefix / Suffix</DxcBulletedList.Item>
</DxcBulletedList>
</>
),
},
{
title: "States",
content: (
<>
<DxcParagraph>
The component password has the following states:
</DxcParagraph>
<DxcParagraph>
States: <strong>enabled</strong>, <strong>hover</strong>,{" "}
<strong>focus</strong>, <strong>error</strong> and{" "}
<strong>disabled</strong>.
</DxcParagraph>
<Figure caption="Password input component states">
<Image
src={passworsInputStates}
alt="Password input component states"
/>
</Figure>
</>
),
},
{
title: "Anatomy",
content: (
<>
<Image src={passwordInputAnatomy} alt="Component anatomy example" />
<DxcBulletedList type="number">
<DxcBulletedList.Item>Label</DxcBulletedList.Item>
<DxcBulletedList.Item>
Helper text <em>(Optional)</em>
</DxcBulletedList.Item>
<DxcBulletedList.Item>Input container</DxcBulletedList.Item>
<DxcBulletedList.Item>Show/Hide action</DxcBulletedList.Item>
<DxcBulletedList.Item>Clear action</DxcBulletedList.Item>
<DxcBulletedList.Item>Error icon</DxcBulletedList.Item>
<DxcBulletedList.Item>Error message</DxcBulletedList.Item>
<DxcBulletedList.Item>Input value</DxcBulletedList.Item>
</DxcBulletedList>
</>
),
},
{
title: "Actions",
content: (
<>
<Figure caption="Show and hide action to toggle the value visibility">
<Image
src={passwordInputActions}
alt="Show and hide action to toggle the value visibility"
/>
</Figure>
<DxcParagraph>
The value of the input can be toggled on or off using the default
action the component provides. The password input can also be
clearable.
</DxcParagraph>
<DxcBulletedList>
<DxcBulletedList.Item>
The toggle indicates the action that will be performed when clicked,
tapped, or pressing keyboard <Code>Enter</Code> key.
</DxcBulletedList.Item>
<DxcBulletedList.Item>
The toggle has a <Code>title</Code> with a textual cue for the
resulting action.
</DxcBulletedList.Item>
</DxcBulletedList>
</>
),
},
{
title: "Accessibility",
subSections: [
{
title: "WCAG",
content: (
<DxcBulletedList>
<DxcBulletedList.Item>
Understanding WCAG 2.2 -{" "}
<DxcLink
href="https://www.w3.org/WAI/WCAG22/Understanding/identify-input-purpose.html"
newWindow
>
SC 1.3.5 Identify Input Purpose
</DxcLink>
</DxcBulletedList.Item>
<DxcBulletedList.Item>
Understanding WCAG 2.2 -{" "}
<DxcLink
href="https://www.w3.org/WAI/WCAG22/Understanding/error-suggestion"
newWindow
>
SC 3.3.3 Error Suggestion
</DxcLink>
</DxcBulletedList.Item>
<DxcBulletedList.Item>
Understanding WCAG 2.2 -{" "}
<DxcLink
href="https://www.w3.org/WAI/WCAG22/Understanding/accessible-authentication"
newWindow
>
SC 3.3.7 Accessible Authentication
</DxcLink>
</DxcBulletedList.Item>
</DxcBulletedList>
),
},
{
title: "WAI Web Accessibility Tutorials",
content: (
<DxcBulletedList>
<DxcBulletedList.Item>
Forms -{" "}
<DxcLink
href="https://www.w3.org/WAI/tutorials/forms/examples/password/"
newWindow
>
Full Password Example
</DxcLink>
</DxcBulletedList.Item>
</DxcBulletedList>
),
},
],
},
];
const PasswordInputSpecsPage = () => {
return (
<DxcFlex direction="column" gap="4rem">
<QuickNavContainerLayout>
<QuickNavContainer
sections={sections}
startHeadingLevel={2}
></QuickNavContainer>
</QuickNavContainerLayout>
<DocFooter githubLink="https://github.com/dxc-technology/halstack-react/blob/master/website/screens/components/password-input/specs/PasswordInputSpecsPage.tsx" />
</DxcFlex>
);
};
export default PasswordInputSpecsPage;