datastake-daf 0.6.571 → 0.6.573
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/dist/components/index.js +2 -199
- package/dist/hooks/index.js +16 -4655
- package/dist/layouts/index.css +1 -1
- package/dist/layouts/index.js +144 -0
- package/dist/services/index.js +2 -1
- package/package.json +1 -1
- package/src/@daf/layouts/AuthLayout/AuthLayout.stories.js +502 -0
- package/src/@daf/layouts/AuthLayout/components/NavbarComponent.jsx +69 -0
- package/src/@daf/layouts/AuthLayout/components/index.scss +165 -0
- package/src/@daf/layouts/AuthLayout/index.jsx +83 -0
- package/src/@daf/layouts/AuthLayout/index.scss +77 -0
- package/src/@daf/services/ChannelsService.js +2 -1
- package/src/index.js +0 -1
- package/src/layouts.js +3 -1
- package/build/favicon.ico +0 -0
- package/build/logo192.png +0 -0
- package/build/logo512.png +0 -0
- package/build/manifest.json +0 -25
- package/build/robots.txt +0 -3
- package/src/@daf/core/components/AuthForm/AuthForm.stories.js +0 -421
- package/src/@daf/core/components/AuthForm/index.jsx +0 -200
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
.auth-navbar {
|
|
2
|
+
width: 100%;
|
|
3
|
+
height: 64px;
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
justify-content: space-between;
|
|
7
|
+
background: #ffffff;
|
|
8
|
+
border-bottom: 1px solid #eaecf0;
|
|
9
|
+
padding: 0 80px;
|
|
10
|
+
position: sticky;
|
|
11
|
+
top: 0;
|
|
12
|
+
z-index: 10;
|
|
13
|
+
|
|
14
|
+
@media (max-width: 1200px) {
|
|
15
|
+
padding: 0 32px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.navbar-left {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
|
|
22
|
+
.navbar-logo {
|
|
23
|
+
height: 32px;
|
|
24
|
+
object-fit: contain;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.navbar-right {
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
gap: 12px;
|
|
32
|
+
|
|
33
|
+
.language-select {
|
|
34
|
+
min-width: 110px;
|
|
35
|
+
|
|
36
|
+
.ant-select-selector {
|
|
37
|
+
background: #fff !important;
|
|
38
|
+
border: 1px solid #d0d5dd !important;
|
|
39
|
+
border-radius: 8px !important;
|
|
40
|
+
padding: 8px 12px !important;
|
|
41
|
+
height: 40px !important;
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
transition: all 0.2s ease;
|
|
45
|
+
|
|
46
|
+
&:hover {
|
|
47
|
+
border-color: #98a2b3 !important;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.ant-select-selection-item {
|
|
52
|
+
display: flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
padding-right: 0 !important;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.language-option {
|
|
58
|
+
display: flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
gap: 8px;
|
|
61
|
+
|
|
62
|
+
.flag-icon {
|
|
63
|
+
width: 20px;
|
|
64
|
+
height: 14px;
|
|
65
|
+
object-fit: cover;
|
|
66
|
+
border-radius: 2px;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
span {
|
|
70
|
+
font-size: 14px;
|
|
71
|
+
font-weight: 500;
|
|
72
|
+
color: #344054;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.ant-select-arrow {
|
|
77
|
+
color: #667085;
|
|
78
|
+
right: 12px;
|
|
79
|
+
|
|
80
|
+
svg {
|
|
81
|
+
width: 20px;
|
|
82
|
+
height: 20px;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.back-btn {
|
|
88
|
+
border: 1px solid #d0d5dd;
|
|
89
|
+
background: #fff;
|
|
90
|
+
border-radius: 8px;
|
|
91
|
+
padding: 10px 16px;
|
|
92
|
+
height: 40px;
|
|
93
|
+
font-size: 14px;
|
|
94
|
+
font-weight: 600;
|
|
95
|
+
color: #344054;
|
|
96
|
+
cursor: pointer;
|
|
97
|
+
transition: all 0.2s ease;
|
|
98
|
+
white-space: nowrap;
|
|
99
|
+
|
|
100
|
+
&:hover {
|
|
101
|
+
background: #f9fafb;
|
|
102
|
+
border-color: #98a2b3;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&:active {
|
|
106
|
+
background: #f2f4f7;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@media (max-width: 768px) {
|
|
112
|
+
padding: 0 16px;
|
|
113
|
+
.navbar-logo { height: 28px; }
|
|
114
|
+
.navbar-right { gap: 8px; }
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.language-select-popup {
|
|
119
|
+
.ant-select-dropdown {
|
|
120
|
+
padding: 4px;
|
|
121
|
+
background: #ffffff;
|
|
122
|
+
border-radius: 8px;
|
|
123
|
+
box-shadow: 0px 12px 16px -4px rgba(16, 24, 40, 0.08),
|
|
124
|
+
0px 4px 6px -2px rgba(16, 24, 40, 0.03);
|
|
125
|
+
border: none !important;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.ant-select-item {
|
|
129
|
+
border-radius: 6px;
|
|
130
|
+
padding: 8px 12px;
|
|
131
|
+
min-height: 40px;
|
|
132
|
+
transition: all 0.2s ease;
|
|
133
|
+
|
|
134
|
+
&:hover {
|
|
135
|
+
background-color: #f9fafb;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&.ant-select-item-option-selected {
|
|
139
|
+
background-color: #155eef;
|
|
140
|
+
color: #ffffff;
|
|
141
|
+
|
|
142
|
+
.language-option span {
|
|
143
|
+
color: #ffffff;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.language-option {
|
|
148
|
+
display: flex;
|
|
149
|
+
align-items: center;
|
|
150
|
+
gap: 8px;
|
|
151
|
+
|
|
152
|
+
.flag-icon {
|
|
153
|
+
width: 20px;
|
|
154
|
+
height: 14px;
|
|
155
|
+
border-radius: 2px;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
span {
|
|
159
|
+
font-size: 14px;
|
|
160
|
+
font-weight: 500;
|
|
161
|
+
color: #344054;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.scss";
|
|
3
|
+
import AuthNavbar from "./components/NavbarComponent.jsx";
|
|
4
|
+
import { formatClassname } from "../../../helpers/ClassesHelper.js";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const AuthLayout = ({
|
|
8
|
+
children,
|
|
9
|
+
StyleComponent,
|
|
10
|
+
t = (key) => key,
|
|
11
|
+
title = "Welcome Back",
|
|
12
|
+
subTitle = "Please introduce yourself",
|
|
13
|
+
logo,
|
|
14
|
+
appName = "default",
|
|
15
|
+
containerClassName = "",
|
|
16
|
+
leftClassName = "",
|
|
17
|
+
rightClassName = "",
|
|
18
|
+
rightImgClassName = "",
|
|
19
|
+
rightImageUrl,
|
|
20
|
+
additionalContent,
|
|
21
|
+
showTopHeader = true,
|
|
22
|
+
showLanguageSelector = true,
|
|
23
|
+
updateLanguage,
|
|
24
|
+
showBack = false,
|
|
25
|
+
onBack,
|
|
26
|
+
backLabel = "Back",
|
|
27
|
+
}) => {
|
|
28
|
+
const Wrapper = StyleComponent || "div";
|
|
29
|
+
const wrapperClassName = formatClassname([
|
|
30
|
+
"auth-layout",
|
|
31
|
+
appName,
|
|
32
|
+
containerClassName,
|
|
33
|
+
]);
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<Wrapper className={wrapperClassName}>
|
|
37
|
+
{showTopHeader && (
|
|
38
|
+
<AuthNavbar
|
|
39
|
+
logo={logo}
|
|
40
|
+
appName={appName}
|
|
41
|
+
showLanguageSelector={showLanguageSelector}
|
|
42
|
+
updateLanguage={updateLanguage}
|
|
43
|
+
showBack={showBack}
|
|
44
|
+
onBack={onBack}
|
|
45
|
+
backLabel={backLabel}
|
|
46
|
+
/>
|
|
47
|
+
)}
|
|
48
|
+
|
|
49
|
+
<div className="main-cont">
|
|
50
|
+
<div className={formatClassname(["d-cont left", leftClassName])}>
|
|
51
|
+
<div className="main">
|
|
52
|
+
{logo && (
|
|
53
|
+
<div className="left-logo">
|
|
54
|
+
<img src={logo} alt={`${appName} logo`} />
|
|
55
|
+
</div>
|
|
56
|
+
)}
|
|
57
|
+
<div className="left-header">
|
|
58
|
+
{title && <h2>{t(title)}</h2>}
|
|
59
|
+
{subTitle && (
|
|
60
|
+
<p>{typeof subTitle === "string" ? t(subTitle) : subTitle}</p>
|
|
61
|
+
)}
|
|
62
|
+
</div>
|
|
63
|
+
{children}
|
|
64
|
+
{additionalContent}
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div
|
|
69
|
+
className={formatClassname(["d-cont right", rightClassName])}
|
|
70
|
+
style={
|
|
71
|
+
rightImageUrl
|
|
72
|
+
? { backgroundImage: `url(${rightImageUrl})`, backgroundSize: "cover" }
|
|
73
|
+
: {}
|
|
74
|
+
}
|
|
75
|
+
>
|
|
76
|
+
<div className={formatClassname(["right-img", rightImgClassName])} />
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</Wrapper>
|
|
80
|
+
);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export default AuthLayout;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
.auth-layout {
|
|
2
|
+
min-height: 100vh;
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
background-color: #fff;
|
|
6
|
+
font-family: "Outfit", sans-serif;
|
|
7
|
+
|
|
8
|
+
.main-cont {
|
|
9
|
+
flex: 1;
|
|
10
|
+
display: flex;
|
|
11
|
+
height: calc(100vh - 64px); // Subtract header height
|
|
12
|
+
transition: all 0.2s ease;
|
|
13
|
+
|
|
14
|
+
@media (max-width: 768px) {
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
height: auto;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.d-cont.left {
|
|
21
|
+
width: 50%;
|
|
22
|
+
padding: 6rem 2rem;
|
|
23
|
+
display: flex;
|
|
24
|
+
justify-content: center;
|
|
25
|
+
overflow-y: auto;
|
|
26
|
+
background: #fff;
|
|
27
|
+
|
|
28
|
+
.main {
|
|
29
|
+
width: 350px;
|
|
30
|
+
margin: auto;
|
|
31
|
+
|
|
32
|
+
.left-logo img {
|
|
33
|
+
height: 40px;
|
|
34
|
+
margin-bottom: 48px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.left-header h2 {
|
|
38
|
+
font-size: 36px;
|
|
39
|
+
font-weight: 600;
|
|
40
|
+
color: #101828;
|
|
41
|
+
margin-bottom: 12px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.left-header p {
|
|
45
|
+
font-size: 16px;
|
|
46
|
+
color: #667085;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.d-cont.right {
|
|
52
|
+
width: 50%;
|
|
53
|
+
background-size: cover;
|
|
54
|
+
background-position: center;
|
|
55
|
+
background-repeat: no-repeat;
|
|
56
|
+
|
|
57
|
+
@media (max-width: 768px) {
|
|
58
|
+
display: none;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&.sbg {
|
|
63
|
+
--primary-color: #992f24;
|
|
64
|
+
.ant-btn-primary {
|
|
65
|
+
background: var(--primary-color);
|
|
66
|
+
border-color: var(--primary-color);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&.nashiriki {
|
|
71
|
+
--primary-color: #004b91;
|
|
72
|
+
.ant-btn-primary {
|
|
73
|
+
background: var(--primary-color);
|
|
74
|
+
border-color: var(--primary-color);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
package/src/index.js
CHANGED
|
@@ -87,7 +87,6 @@ export { Sections as EditFormSections } from "./@daf/core/components/EditForm/se
|
|
|
87
87
|
export { default as ViewFormNavigation } from "./@daf/core/components/ViewForm/navigation.jsx";
|
|
88
88
|
export { default as PhoneInput } from "./@daf/core/components/Inputs/PhoneInput/index.js";
|
|
89
89
|
export { AjaxSelectMain as AjaxSelect } from "./@daf/core/components/EditForm/components/ajaxSelect.js";
|
|
90
|
-
export { default as AuthForm } from "./@daf/core/components/AuthForm/index.jsx";
|
|
91
90
|
|
|
92
91
|
// Progress Bar
|
|
93
92
|
export { default as ProgressBar } from "./@daf/core/components/ProgressBar/index.jsx";
|
package/src/layouts.js
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
export { default as AppLayout } from './@daf/layouts/AppLayout/index.jsx';
|
|
1
|
+
export { default as AppLayout } from './@daf/layouts/AppLayout/index.jsx';
|
|
2
|
+
export { default as AuthLayout } from './@daf/layouts/AuthLayout/index.jsx';
|
|
3
|
+
export { default as AuthNavbar } from './@daf/layouts/AuthLayout/components/NavbarComponent.jsx';
|
package/build/favicon.ico
DELETED
|
Binary file
|
package/build/logo192.png
DELETED
|
Binary file
|
package/build/logo512.png
DELETED
|
Binary file
|
package/build/manifest.json
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"short_name": "React App",
|
|
3
|
-
"name": "Create React App Sample",
|
|
4
|
-
"icons": [
|
|
5
|
-
{
|
|
6
|
-
"src": "favicon.ico",
|
|
7
|
-
"sizes": "64x64 32x32 24x24 16x16",
|
|
8
|
-
"type": "image/x-icon"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"src": "logo192.png",
|
|
12
|
-
"type": "image/png",
|
|
13
|
-
"sizes": "192x192"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"src": "logo512.png",
|
|
17
|
-
"type": "image/png",
|
|
18
|
-
"sizes": "512x512"
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"start_url": ".",
|
|
22
|
-
"display": "standalone",
|
|
23
|
-
"theme_color": "#000000",
|
|
24
|
-
"background_color": "#ffffff"
|
|
25
|
-
}
|
package/build/robots.txt
DELETED