@patternfly/react-core 4.234.1 → 4.234.4
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/CHANGELOG.md +24 -0
- package/dist/esm/components/LoginPage/LoginFooterItem.d.ts +3 -3
- package/dist/esm/components/LoginPage/LoginForm.d.ts +18 -18
- package/dist/esm/components/LoginPage/LoginHeader.d.ts +1 -1
- package/dist/esm/components/LoginPage/LoginMainBody.d.ts +2 -2
- package/dist/esm/components/LoginPage/LoginMainFooter.d.ts +5 -5
- package/dist/esm/components/LoginPage/LoginMainFooterBandItem.d.ts +2 -2
- package/dist/esm/components/LoginPage/LoginMainFooterLinksItem.d.ts +5 -5
- package/dist/esm/components/LoginPage/LoginMainHeader.d.ts +6 -4
- package/dist/esm/components/LoginPage/LoginMainHeader.d.ts.map +1 -1
- package/dist/esm/components/LoginPage/LoginMainHeader.js +2 -1
- package/dist/esm/components/LoginPage/LoginMainHeader.js.map +1 -1
- package/dist/esm/components/LoginPage/LoginPage.d.ts +16 -14
- package/dist/esm/components/LoginPage/LoginPage.d.ts.map +1 -1
- package/dist/esm/components/LoginPage/LoginPage.js +2 -2
- package/dist/esm/components/LoginPage/LoginPage.js.map +1 -1
- package/dist/js/components/LoginPage/LoginFooterItem.d.ts +3 -3
- package/dist/js/components/LoginPage/LoginForm.d.ts +18 -18
- package/dist/js/components/LoginPage/LoginHeader.d.ts +1 -1
- package/dist/js/components/LoginPage/LoginMainBody.d.ts +2 -2
- package/dist/js/components/LoginPage/LoginMainFooter.d.ts +5 -5
- package/dist/js/components/LoginPage/LoginMainFooterBandItem.d.ts +2 -2
- package/dist/js/components/LoginPage/LoginMainFooterLinksItem.d.ts +5 -5
- package/dist/js/components/LoginPage/LoginMainHeader.d.ts +6 -4
- package/dist/js/components/LoginPage/LoginMainHeader.d.ts.map +1 -1
- package/dist/js/components/LoginPage/LoginMainHeader.js +2 -1
- package/dist/js/components/LoginPage/LoginMainHeader.js.map +1 -1
- package/dist/js/components/LoginPage/LoginPage.d.ts +16 -14
- package/dist/js/components/LoginPage/LoginPage.d.ts.map +1 -1
- package/dist/js/components/LoginPage/LoginPage.js +2 -2
- package/dist/js/components/LoginPage/LoginPage.js.map +1 -1
- package/dist/umd/react-core.css +976 -976
- package/dist/umd/react-core.js +4 -3
- package/dist/umd/react-core.min.css +70 -70
- package/dist/umd/react-core.min.js +4 -4
- package/package.json +6 -6
- package/src/components/Card/examples/Card.md +67 -38
- package/src/components/LoginPage/LoginFooterItem.tsx +3 -3
- package/src/components/LoginPage/LoginForm.tsx +18 -18
- package/src/components/LoginPage/LoginHeader.tsx +1 -1
- package/src/components/LoginPage/LoginMainBody.tsx +2 -2
- package/src/components/LoginPage/LoginMainFooter.tsx +5 -5
- package/src/components/LoginPage/LoginMainFooterBandItem.tsx +2 -2
- package/src/components/LoginPage/LoginMainFooterLinksItem.tsx +5 -5
- package/src/components/LoginPage/LoginMainHeader.tsx +8 -4
- package/src/components/LoginPage/LoginPage.tsx +18 -15
- package/src/components/LoginPage/examples/LoginPage.md +8 -0
- package/src/components/LoginPage/examples/LoginPageBasic.tsx +0 -1
- package/src/components/LoginPage/examples/LoginPageLanguageSelect.tsx +194 -0
- package/src/components/LoginPage/examples/LoginPageShowHidePassword.tsx +0 -1
- package/src/components/NotificationDrawer/examples/NotificationDrawer.md +3 -708
- package/src/components/NotificationDrawer/examples/NotificationDrawerBasic.tsx +185 -0
- package/src/components/NotificationDrawer/examples/NotificationDrawerGroups.tsx +337 -0
- package/src/components/NotificationDrawer/examples/NotificationDrawerLightweight.tsx +185 -0
- package/src/demos/CardDemos.md +4 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import brandImg2 from './brandImgColor2.svg';
|
|
3
|
+
import {
|
|
4
|
+
LoginFooterItem,
|
|
5
|
+
LoginForm,
|
|
6
|
+
LoginMainFooterBandItem,
|
|
7
|
+
LoginMainFooterLinksItem,
|
|
8
|
+
LoginPage,
|
|
9
|
+
ListItem,
|
|
10
|
+
ListVariant,
|
|
11
|
+
Select,
|
|
12
|
+
SelectOption,
|
|
13
|
+
SelectOptionObject
|
|
14
|
+
} from '@patternfly/react-core';
|
|
15
|
+
import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
|
|
16
|
+
|
|
17
|
+
export const LoginPageLanguageSelect: React.FunctionComponent = () => {
|
|
18
|
+
const [showHelperText, setShowHelperText] = React.useState(false);
|
|
19
|
+
const [username, setUsername] = React.useState('');
|
|
20
|
+
const [isValidUsername, setIsValidUsername] = React.useState(true);
|
|
21
|
+
const [password, setPassword] = React.useState('');
|
|
22
|
+
const [isValidPassword, setIsValidPassword] = React.useState(true);
|
|
23
|
+
const [isRememberMeChecked, setIsRememberMeChecked] = React.useState(false);
|
|
24
|
+
const [isHeaderUtilsOpen, setIsHeaderUtilsOpen] = React.useState(false);
|
|
25
|
+
const [selectedHeaderUtils, setSelectedHeaderUtils] = React.useState<string | SelectOptionObject>('English');
|
|
26
|
+
|
|
27
|
+
/** i18n object is used to simulate i18n integration of native language translation */
|
|
28
|
+
const i18n = {
|
|
29
|
+
English: 'English',
|
|
30
|
+
Mandarin: '普通话',
|
|
31
|
+
Hindi: 'हिन्दी',
|
|
32
|
+
Spanish: 'Español',
|
|
33
|
+
Portuguese: 'Português',
|
|
34
|
+
Arabic: 'عربى',
|
|
35
|
+
Bengali: 'বাংলা'
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const headerUtilsOptions = [
|
|
39
|
+
<SelectOption key={0} value={i18n.English} />,
|
|
40
|
+
<SelectOption key={1} value={i18n.Mandarin} />,
|
|
41
|
+
<SelectOption key={2} value={i18n.Hindi} />,
|
|
42
|
+
<SelectOption key={3} value={i18n.Spanish} />,
|
|
43
|
+
<SelectOption key={4} value={i18n.Portuguese} />,
|
|
44
|
+
<SelectOption key={5} value={i18n.Arabic} />,
|
|
45
|
+
<SelectOption key={6} value={i18n.Bengali} />
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const onHeaderUtilsToggle = (isExpanded: boolean) => {
|
|
49
|
+
setIsHeaderUtilsOpen(isExpanded);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const onHeaderUtilsSelect = (
|
|
53
|
+
_event: React.MouseEvent<Element, MouseEvent> | React.ChangeEvent<Element>,
|
|
54
|
+
value: string | SelectOptionObject
|
|
55
|
+
) => {
|
|
56
|
+
setSelectedHeaderUtils(value);
|
|
57
|
+
setIsHeaderUtilsOpen(false);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const headerUtils = (
|
|
61
|
+
<Select
|
|
62
|
+
aria-label="Select Language"
|
|
63
|
+
onToggle={onHeaderUtilsToggle}
|
|
64
|
+
onSelect={onHeaderUtilsSelect}
|
|
65
|
+
selections={selectedHeaderUtils}
|
|
66
|
+
isOpen={isHeaderUtilsOpen}
|
|
67
|
+
>
|
|
68
|
+
{headerUtilsOptions}
|
|
69
|
+
</Select>
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
const handleUsernameChange = (value: string) => {
|
|
73
|
+
setUsername(value);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const handlePasswordChange = (value: string) => {
|
|
77
|
+
setPassword(value);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const onRememberMeClick = () => {
|
|
81
|
+
setIsRememberMeChecked(!isRememberMeChecked);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const onLoginButtonClick = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
|
|
85
|
+
event.preventDefault();
|
|
86
|
+
setIsValidUsername(!!username);
|
|
87
|
+
setIsValidPassword(!!password);
|
|
88
|
+
setShowHelperText(!username || !password);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const socialMediaLoginContent = (
|
|
92
|
+
<React.Fragment>
|
|
93
|
+
<LoginMainFooterLinksItem href="#" linkComponentProps={{ 'aria-label': 'Login with Google' }}>
|
|
94
|
+
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 488 512">
|
|
95
|
+
<path d="M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z" />
|
|
96
|
+
</svg>
|
|
97
|
+
</LoginMainFooterLinksItem>
|
|
98
|
+
<LoginMainFooterLinksItem href="#" linkComponentProps={{ 'aria-label': 'Login with Github' }}>
|
|
99
|
+
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512">
|
|
100
|
+
<path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" />
|
|
101
|
+
</svg>
|
|
102
|
+
</LoginMainFooterLinksItem>
|
|
103
|
+
<LoginMainFooterLinksItem href="#" linkComponentProps={{ 'aria-label': 'Login with Dropbox' }}>
|
|
104
|
+
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 528 512">
|
|
105
|
+
<path d="M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z" />
|
|
106
|
+
</svg>
|
|
107
|
+
</LoginMainFooterLinksItem>
|
|
108
|
+
<LoginMainFooterLinksItem href="#" linkComponentProps={{ 'aria-label': 'Login with Facebook' }}>
|
|
109
|
+
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
|
110
|
+
<path d="M448 56.7v398.5c0 13.7-11.1 24.7-24.7 24.7H309.1V306.5h58.2l8.7-67.6h-67v-43.2c0-19.6 5.4-32.9 33.5-32.9h35.8v-60.5c-6.2-.8-27.4-2.7-52.2-2.7-51.6 0-87 31.5-87 89.4v49.9h-58.4v67.6h58.4V480H24.7C11.1 480 0 468.9 0 455.3V56.7C0 43.1 11.1 32 24.7 32h398.5c13.7 0 24.8 11.1 24.8 24.7z" />
|
|
111
|
+
</svg>
|
|
112
|
+
</LoginMainFooterLinksItem>
|
|
113
|
+
<LoginMainFooterLinksItem href="#" linkComponentProps={{ 'aria-label': 'Login with Gitlab' }}>
|
|
114
|
+
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
115
|
+
<path d="M29.782 199.732L256 493.714 8.074 309.699c-6.856-5.142-9.712-13.996-7.141-21.993l28.849-87.974zm75.405-174.806c-3.142-8.854-15.709-8.854-18.851 0L29.782 199.732h131.961L105.187 24.926zm56.556 174.806L256 493.714l94.257-293.982H161.743zm349.324 87.974l-28.849-87.974L256 493.714l247.926-184.015c6.855-5.142 9.711-13.996 7.141-21.993zm-85.404-262.78c-3.142-8.854-15.709-8.854-18.851 0l-56.555 174.806h131.961L425.663 24.926z" />
|
|
116
|
+
</svg>
|
|
117
|
+
</LoginMainFooterLinksItem>
|
|
118
|
+
</React.Fragment>
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
const signUpForAccountMessage = (
|
|
122
|
+
<LoginMainFooterBandItem>
|
|
123
|
+
Need an account? <a href="#">Sign up.</a>
|
|
124
|
+
</LoginMainFooterBandItem>
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
const forgotCredentials = (
|
|
128
|
+
<LoginMainFooterBandItem>
|
|
129
|
+
<a href="#">Forgot username or password?</a>
|
|
130
|
+
</LoginMainFooterBandItem>
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
const listItem = (
|
|
134
|
+
<React.Fragment>
|
|
135
|
+
<ListItem>
|
|
136
|
+
<LoginFooterItem href="#">Terms of Use </LoginFooterItem>
|
|
137
|
+
</ListItem>
|
|
138
|
+
<ListItem>
|
|
139
|
+
<LoginFooterItem href="#">Help</LoginFooterItem>
|
|
140
|
+
</ListItem>
|
|
141
|
+
<ListItem>
|
|
142
|
+
<LoginFooterItem href="#">Privacy Policy</LoginFooterItem>
|
|
143
|
+
</ListItem>
|
|
144
|
+
</React.Fragment>
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
const loginForm = (
|
|
148
|
+
<LoginForm
|
|
149
|
+
showHelperText={showHelperText}
|
|
150
|
+
helperText="Invalid login credentials."
|
|
151
|
+
helperTextIcon={<ExclamationCircleIcon />}
|
|
152
|
+
usernameLabel="Username"
|
|
153
|
+
usernameValue={username}
|
|
154
|
+
onChangeUsername={handleUsernameChange}
|
|
155
|
+
isValidUsername={isValidUsername}
|
|
156
|
+
passwordLabel="Password"
|
|
157
|
+
passwordValue={password}
|
|
158
|
+
onChangePassword={handlePasswordChange}
|
|
159
|
+
isValidPassword={isValidPassword}
|
|
160
|
+
rememberMeLabel="Keep me logged in for 30 days."
|
|
161
|
+
isRememberMeChecked={isRememberMeChecked}
|
|
162
|
+
onChangeRememberMe={onRememberMeClick}
|
|
163
|
+
onLoginButtonClick={onLoginButtonClick}
|
|
164
|
+
loginButtonLabel="Log in"
|
|
165
|
+
/>
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
const images = {
|
|
169
|
+
lg: '/assets/images/pfbg_1200.jpg',
|
|
170
|
+
sm: '/assets/images/pfbg_768.jpg',
|
|
171
|
+
sm2x: '/assets/images/pfbg_768@2x.jpg',
|
|
172
|
+
xs: '/assets/images/pfbg_576.jpg',
|
|
173
|
+
xs2x: '/assets/images/pfbg_576@2x.jpg'
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
return (
|
|
177
|
+
<LoginPage
|
|
178
|
+
footerListVariants={ListVariant.inline}
|
|
179
|
+
brandImgSrc={brandImg2}
|
|
180
|
+
brandImgAlt="PatternFly logo"
|
|
181
|
+
backgroundImgSrc={images}
|
|
182
|
+
footerListItems={listItem}
|
|
183
|
+
textContent="This is placeholder text only. Use this area to place any information or introductory message about your application that may be relevant to users."
|
|
184
|
+
loginTitle="Log in to your account"
|
|
185
|
+
loginSubtitle="Enter your single sign-on LDAP credentials."
|
|
186
|
+
headerUtilities={headerUtils}
|
|
187
|
+
socialMediaLoginContent={socialMediaLoginContent}
|
|
188
|
+
signUpForAccountMessage={signUpForAccountMessage}
|
|
189
|
+
forgotCredentials={forgotCredentials}
|
|
190
|
+
>
|
|
191
|
+
{loginForm}
|
|
192
|
+
</LoginPage>
|
|
193
|
+
);
|
|
194
|
+
};
|
|
@@ -130,7 +130,6 @@ export const LoginPageHideShowPassword: React.FunctionComponent = () => {
|
|
|
130
130
|
brandImgSrc={brandImg2}
|
|
131
131
|
brandImgAlt="PatternFly logo"
|
|
132
132
|
backgroundImgSrc={images}
|
|
133
|
-
backgroundImgAlt="Images"
|
|
134
133
|
footerListItems={listItem}
|
|
135
134
|
textContent="This is placeholder text only. Use this area to place any information or introductory message about your application that may be relevant to users."
|
|
136
135
|
loginTitle="Log in to your account"
|