namirasoft-site-react 1.2.34 → 1.2.36
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/App.js +1 -1
- package/dist/App.js.map +1 -1
- package/dist/components/NSButtonGreen.d.ts +2 -0
- package/dist/components/NSButtonGreen.js +1 -0
- package/dist/components/NSButtonGreen.js.map +1 -1
- package/dist/components/NSButtonRed.js +1 -0
- package/dist/components/NSButtonRed.js.map +1 -1
- package/dist/components/NSCard.d.ts +20 -0
- package/dist/components/NSCard.js +13 -0
- package/dist/components/NSCard.js.map +1 -0
- package/dist/components/NSCard.module.css +85 -0
- package/dist/components/NSFooter.js +4 -2
- package/dist/components/NSFooter.js.map +1 -1
- package/dist/components/NSFooter.module.css +86 -20
- package/dist/components/NSHeader.js +4 -6
- package/dist/components/NSHeader.js.map +1 -1
- package/dist/components/NSHeader.module.css +56 -2
- package/dist/components/NSInputDate.js +2 -1
- package/dist/components/NSInputDate.js.map +1 -1
- package/dist/components/NSInputDate.module.css +30 -26
- package/dist/components/NSInputDuration.js +1 -0
- package/dist/components/NSInputDuration.js.map +1 -1
- package/dist/components/NSInputEmail.js +1 -0
- package/dist/components/NSInputEmail.js.map +1 -1
- package/dist/components/NSInputFloat.js +1 -0
- package/dist/components/NSInputFloat.js.map +1 -1
- package/dist/components/NSInputFloat.module.css +7 -4
- package/dist/components/NSInputIP.js +1 -0
- package/dist/components/NSInputIP.js.map +1 -1
- package/dist/components/NSInputIP.module.css +6 -3
- package/dist/components/NSInputInteger.js +1 -0
- package/dist/components/NSInputInteger.js.map +1 -1
- package/dist/components/NSInputPhone.js +1 -0
- package/dist/components/NSInputPhone.js.map +1 -1
- package/dist/components/NSInputPhone.module.css +10 -7
- package/dist/components/NSInputPrice.js +1 -0
- package/dist/components/NSInputPrice.js.map +1 -1
- package/dist/components/NSInputPrice.module.css +6 -3
- package/dist/components/NSInputSearch.js +1 -0
- package/dist/components/NSInputSearch.js.map +1 -1
- package/dist/components/NSInputString.js +1 -0
- package/dist/components/NSInputString.js.map +1 -1
- package/dist/components/NSInputString.module.css +6 -3
- package/dist/components/NSInputText.js +1 -0
- package/dist/components/NSInputText.js.map +1 -1
- package/dist/components/NSInputText.module.css +6 -3
- package/dist/components/NSInputTime.js +1 -0
- package/dist/components/NSInputTime.js.map +1 -1
- package/dist/components/NSInputTime.module.css +6 -3
- package/dist/components/NSLayout.d.ts +2 -6
- package/dist/components/NSLayout.js +2 -5
- package/dist/components/NSLayout.js.map +1 -1
- package/dist/components/NSLayout.module.css +7 -0
- package/dist/components/NSLayoutHeroBanner.d.ts +12 -0
- package/dist/components/NSLayoutHeroBanner.js +8 -0
- package/dist/components/NSLayoutHeroBanner.js.map +1 -0
- package/dist/components/NSLayoutHeroBanner.module.css +44 -0
- package/dist/components/NSLayoutTitle.d.ts +10 -0
- package/dist/components/NSLayoutTitle.js +6 -0
- package/dist/components/NSLayoutTitle.js.map +1 -0
- package/dist/components/NSLinkGreen.js +1 -0
- package/dist/components/NSLinkGreen.js.map +1 -1
- package/dist/components/NSLinkRed.js +1 -0
- package/dist/components/NSLinkRed.js.map +1 -1
- package/dist/components/NSPagination.js +1 -0
- package/dist/components/NSPagination.js.map +1 -1
- package/dist/components/NSParentCard.module.css +35 -0
- package/dist/components/NSSelectBox.js +1 -0
- package/dist/components/NSSelectBox.js.map +1 -1
- package/dist/components/NSSelectBox.module.css +6 -2
- package/dist/components/NSTable.js +1 -0
- package/dist/components/NSTable.js.map +1 -1
- package/dist/main.d.ts +3 -0
- package/dist/main.js +3 -0
- package/dist/main.js.map +1 -1
- package/dist/pages/NSLoginPage.js +1 -0
- package/dist/pages/NSLoginPage.js.map +1 -1
- package/package.json +7 -7
- package/src/App.tsx +3 -2
- package/src/components/NSButtonGreen.tsx +4 -0
- package/src/components/NSButtonRed.tsx +2 -0
- package/src/components/NSCard.module.css +85 -0
- package/src/components/NSCard.tsx +54 -0
- package/src/components/NSFooter.module.css +86 -20
- package/src/components/NSFooter.tsx +21 -20
- package/src/components/NSHeader.module.css +56 -2
- package/src/components/NSHeader.tsx +14 -14
- package/src/components/NSInputDate.module.css +30 -26
- package/src/components/NSInputDate.tsx +4 -1
- package/src/components/NSInputDuration.tsx +2 -0
- package/src/components/NSInputEmail.tsx +2 -0
- package/src/components/NSInputFloat.module.css +7 -4
- package/src/components/NSInputFloat.tsx +2 -0
- package/src/components/NSInputIP.module.css +6 -3
- package/src/components/NSInputIP.tsx +2 -0
- package/src/components/NSInputInteger.tsx +2 -0
- package/src/components/NSInputPhone.module.css +10 -7
- package/src/components/NSInputPhone.tsx +2 -0
- package/src/components/NSInputPrice.module.css +6 -3
- package/src/components/NSInputPrice.tsx +2 -0
- package/src/components/NSInputSearch.tsx +2 -0
- package/src/components/NSInputString.module.css +6 -3
- package/src/components/NSInputString.tsx +2 -0
- package/src/components/NSInputText.module.css +6 -3
- package/src/components/NSInputText.tsx +2 -0
- package/src/components/NSInputTime.module.css +6 -3
- package/src/components/NSInputTime.tsx +2 -0
- package/src/components/NSLayout.module.css +7 -0
- package/src/components/NSLayout.tsx +18 -27
- package/src/components/NSLayoutHeroBanner.module.css +44 -0
- package/src/components/NSLayoutHeroBanner.tsx +84 -0
- package/src/components/NSLayoutTitle.tsx +24 -0
- package/src/components/NSLinkGreen.tsx +2 -0
- package/src/components/NSLinkRed.tsx +2 -0
- package/src/components/NSPagination.tsx +2 -0
- package/src/components/NSParentCard.module.css +35 -0
- package/src/components/NSParentCard.tsx.temp +59 -0
- package/src/components/NSSelectBox.module.css +6 -2
- package/src/components/NSSelectBox.tsx +2 -0
- package/src/components/NSTable.tsx +2 -0
- package/src/main.ts +4 -0
- package/src/pages/NSLoginPage.tsx +2 -0
|
@@ -1,32 +1,36 @@
|
|
|
1
|
-
.ns_parent_input{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
.ns_parent_input {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: 326px;
|
|
5
|
+
color: #fff;
|
|
6
|
+
position: relative;
|
|
7
|
+
max-width: 100%;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
|
|
10
|
+
.ns_input {
|
|
11
|
+
border-radius: 8px;
|
|
12
|
+
padding: 10px 12px;
|
|
13
|
+
font-size: 16px;
|
|
14
|
+
font-weight: 400;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
|
|
17
|
+
.ns_input_icon {
|
|
18
|
+
position: absolute;
|
|
19
|
+
right: 20px;
|
|
20
|
+
top: 51%;
|
|
19
21
|
}
|
|
22
|
+
|
|
20
23
|
.ns_input_title {
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
font-size: 16px;
|
|
25
|
+
font-weight: 400;
|
|
23
26
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
|
|
28
|
+
.ns_input::-webkit-calendar-picker-indicator {
|
|
29
|
+
display: block;
|
|
30
|
+
background: url(../assets/images/icon-input-date.svg) no-repeat;
|
|
31
|
+
width: 24px;
|
|
32
|
+
height: 24px;
|
|
33
|
+
position: relative;
|
|
34
|
+
top: 3px;
|
|
35
|
+
left: 4px;
|
|
32
36
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import React from "react";
|
|
2
4
|
import Styles from "./NSInputDate.module.css";
|
|
3
5
|
|
|
@@ -44,7 +46,8 @@ export class NSInputDate extends React.Component<IProps, IState> {
|
|
|
44
46
|
onChange={this.setValue}
|
|
45
47
|
type="date"
|
|
46
48
|
className={Styles.ns_input}
|
|
47
|
-
|
|
49
|
+
placeholder="YYYY/MM/DD"
|
|
50
|
+
id="ns-input-date"
|
|
48
51
|
/>
|
|
49
52
|
</div>
|
|
50
53
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ns_input_parent{
|
|
1
|
+
.ns_input_parent {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 326px;
|
|
@@ -6,18 +6,21 @@
|
|
|
6
6
|
position: relative;
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
.ns_input {
|
|
10
11
|
border-radius: 8px;
|
|
11
12
|
padding: 10px 12px;
|
|
12
13
|
font-size: 16px;
|
|
13
14
|
font-weight: 400;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
.ns_input_icon {
|
|
16
18
|
position: absolute;
|
|
17
19
|
right: 20px;
|
|
18
20
|
top: 51%;
|
|
19
21
|
}
|
|
20
|
-
|
|
22
|
+
|
|
23
|
+
.ns_input_title {
|
|
21
24
|
font-size: 16px;
|
|
22
25
|
font-weight: 400;
|
|
23
26
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ns_input_parent{
|
|
1
|
+
.ns_input_parent {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 326px;
|
|
@@ -6,17 +6,20 @@
|
|
|
6
6
|
position: relative;
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
.ns_input {
|
|
10
11
|
border-radius: 8px;
|
|
11
12
|
padding: 10px 12px;
|
|
12
13
|
font-size: 16px;
|
|
13
14
|
font-weight: 400;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
.ns_input_icon {
|
|
16
18
|
position: absolute;
|
|
17
19
|
right: 20px;
|
|
18
20
|
top: 51%;
|
|
19
21
|
}
|
|
22
|
+
|
|
20
23
|
.ns_input_title {
|
|
21
24
|
font-size: 16px;
|
|
22
25
|
font-weight: 400;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ns_input_parent{
|
|
1
|
+
.ns_input_parent {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 326px;
|
|
@@ -6,25 +6,28 @@
|
|
|
6
6
|
position: relative;
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
.ns_input {
|
|
10
11
|
height: 48px !important;
|
|
11
12
|
font-size: 16px !important;
|
|
12
13
|
font-weight: 400;
|
|
13
14
|
width: 310px !important;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
.ns_input span {
|
|
16
18
|
color: #000 !important;
|
|
17
19
|
|
|
18
20
|
}
|
|
19
|
-
|
|
21
|
+
|
|
22
|
+
.ns_input_icon {
|
|
20
23
|
position: absolute;
|
|
21
24
|
right: 20px;
|
|
22
25
|
top: 51%;
|
|
23
26
|
z-index: 1;
|
|
24
27
|
}
|
|
25
|
-
|
|
28
|
+
|
|
29
|
+
.ns_input_title {
|
|
26
30
|
color: #fff;
|
|
27
31
|
font-size: 16px;
|
|
28
32
|
font-weight: 400;
|
|
29
|
-
}
|
|
30
|
-
|
|
33
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ns_input_parent{
|
|
1
|
+
.ns_input_parent {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 326px;
|
|
@@ -6,18 +6,21 @@
|
|
|
6
6
|
position: relative;
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
.ns_input {
|
|
10
11
|
border-radius: 8px;
|
|
11
12
|
padding: 10px 12px;
|
|
12
13
|
font-size: 16px;
|
|
13
14
|
font-weight: 400;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
.ns_input_icon {
|
|
16
18
|
position: absolute;
|
|
17
19
|
right: 20px;
|
|
18
20
|
top: 33%;
|
|
19
21
|
z-index: 1;
|
|
20
22
|
}
|
|
23
|
+
|
|
21
24
|
.ns_input_title {
|
|
22
25
|
font-size: 16px;
|
|
23
26
|
font-weight: 400;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ns_input_parent{
|
|
1
|
+
.ns_input_parent {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 326px;
|
|
@@ -6,18 +6,21 @@
|
|
|
6
6
|
position: relative;
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
.ns_input {
|
|
10
11
|
border-radius: 8px;
|
|
11
12
|
padding: 10px 12px;
|
|
12
13
|
font-size: 16px;
|
|
13
14
|
font-weight: 400;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
.ns_input_icon {
|
|
16
18
|
position: absolute;
|
|
17
19
|
right: 20px;
|
|
18
20
|
top: 51%;
|
|
19
21
|
z-index: 1;
|
|
20
22
|
}
|
|
23
|
+
|
|
21
24
|
.ns_input_title {
|
|
22
25
|
font-size: 16px;
|
|
23
26
|
font-weight: 400;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ns_input_parent{
|
|
1
|
+
.ns_input_parent {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 326px;
|
|
@@ -7,18 +7,21 @@
|
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
padding: 8px;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
.ns_input {
|
|
11
12
|
border-radius: 8px;
|
|
12
13
|
padding: 10px 12px;
|
|
13
14
|
font-size: 16px;
|
|
14
15
|
font-weight: 400;
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
.ns_input_icon {
|
|
17
19
|
position: absolute;
|
|
18
20
|
right: 20px;
|
|
19
21
|
top: 51%;
|
|
20
22
|
z-index: 1;
|
|
21
23
|
}
|
|
24
|
+
|
|
22
25
|
.ns_input_title {
|
|
23
26
|
font-size: 16px;
|
|
24
27
|
font-weight: 400;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.ns_input_parent{
|
|
1
|
+
.ns_input_parent {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 326px;
|
|
@@ -6,18 +6,21 @@
|
|
|
6
6
|
position: relative;
|
|
7
7
|
max-width: 100%;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
.ns_input {
|
|
10
11
|
border-radius: 8px;
|
|
11
12
|
padding: 10px 12px;
|
|
12
13
|
font-size: 16px;
|
|
13
14
|
font-weight: 400;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
.ns_input_icon {
|
|
16
18
|
position: absolute;
|
|
17
19
|
right: 20px;
|
|
18
20
|
top: 51%;
|
|
19
21
|
z-index: 1;
|
|
20
22
|
}
|
|
23
|
+
|
|
21
24
|
.ns_input_title {
|
|
22
25
|
font-size: 16px;
|
|
23
26
|
font-weight: 400;
|
|
@@ -1,37 +1,28 @@
|
|
|
1
1
|
import Styles from './NSLayout.module.css';
|
|
2
|
-
import {
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
3
|
import { NSHeader } from './NSHeader';
|
|
4
4
|
import { NSFooter } from './NSFooter';
|
|
5
5
|
|
|
6
6
|
interface IProps
|
|
7
7
|
{
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
description?: string;
|
|
12
|
-
children: ReactNode;
|
|
8
|
+
scope: string;
|
|
9
|
+
logo: string;
|
|
10
|
+
children: ReactNode;
|
|
13
11
|
}
|
|
14
12
|
|
|
15
|
-
export
|
|
13
|
+
export function NSLayout(props: IProps)
|
|
16
14
|
{
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</div >
|
|
31
|
-
<div className={Styles.ns_footer}>
|
|
32
|
-
<NSFooter scope={this.props.scope} name="Footer" logo={this.props.logo} />
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
);
|
|
36
|
-
}
|
|
15
|
+
return (
|
|
16
|
+
<div className={Styles.ns_container}>
|
|
17
|
+
<header className={Styles.ns_header}>
|
|
18
|
+
<NSHeader scope={props.scope} name="Header" logo={props.logo} />
|
|
19
|
+
</header>
|
|
20
|
+
<main className="d-flex flex-column text-white">
|
|
21
|
+
{props.children}
|
|
22
|
+
</main>
|
|
23
|
+
<footer className={Styles.ns_footer}>
|
|
24
|
+
<NSFooter scope={props.scope} name="Footer" logo={props.logo} />
|
|
25
|
+
</footer>
|
|
26
|
+
</div >
|
|
27
|
+
);
|
|
37
28
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
.hero_holder {
|
|
2
|
+
background-color: #001664;
|
|
3
|
+
position: relative;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.hero_wraper {
|
|
7
|
+
padding-bottom: 24px;
|
|
8
|
+
padding-top: 24px;
|
|
9
|
+
display: flex;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.hero_text_container {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
justify-content: flex-start;
|
|
17
|
+
align-items: flex-start;
|
|
18
|
+
color: #fff;
|
|
19
|
+
z-index: 9;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.hero_image_bg {
|
|
23
|
+
background-position: center;
|
|
24
|
+
background-repeat: no-repeat;
|
|
25
|
+
background-size: cover;
|
|
26
|
+
border-radius: 24px;
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@media only screen and (min-width: 1024px) {
|
|
31
|
+
.ns_hero_vector_bg {
|
|
32
|
+
position: absolute;
|
|
33
|
+
width: 100%;
|
|
34
|
+
top: 0;
|
|
35
|
+
left: 0;
|
|
36
|
+
right: 0;
|
|
37
|
+
bottom: 0;
|
|
38
|
+
z-index: 2;
|
|
39
|
+
background-image: url('/images/hero_banner_bg.png');
|
|
40
|
+
background-position: right bottom;
|
|
41
|
+
background-size: auto;
|
|
42
|
+
background-repeat: no-repeat;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { NSLayout } from './NSLayout';
|
|
3
|
+
|
|
4
|
+
import Styles from './NSLayoutHeroBanner.module.css'
|
|
5
|
+
import { Link } from 'react-router-dom';
|
|
6
|
+
// import { NSHeader } from './NSHeader';
|
|
7
|
+
|
|
8
|
+
interface IProps
|
|
9
|
+
{
|
|
10
|
+
scope: string;
|
|
11
|
+
logo: string;
|
|
12
|
+
title: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
description_last?: string;
|
|
15
|
+
banner: string;
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function NSLayoutHeroBanner(props: IProps)
|
|
20
|
+
{
|
|
21
|
+
return (
|
|
22
|
+
<NSLayout scope={props.scope} logo={props.logo} >
|
|
23
|
+
|
|
24
|
+
<div className={Styles.hero_holder}>
|
|
25
|
+
{/* <NSHeader name='Header' scope='Namira Software Corporation' logo='https://static.namirasoft.com/logo/namirasoft/base.png' /> */}
|
|
26
|
+
<section className={Styles.hero_wraper}>
|
|
27
|
+
<div className="container mx-auto px-4 lg:px-12">
|
|
28
|
+
<div className="flex flex-wrap lg:flex-nowrap justify-center lg:justify-between">
|
|
29
|
+
|
|
30
|
+
<article className={`mb-6 lg:mb-0 lg:mb-12lg:pe-12 ${Styles.hero_text_container}`} >
|
|
31
|
+
<h1 className="ns-font-32-bold ns_font_lg_40_bold mb-6">
|
|
32
|
+
{props.title}
|
|
33
|
+
</h1>
|
|
34
|
+
<p className="ns-font-16-normal lg:mb-4">
|
|
35
|
+
{props.description}
|
|
36
|
+
</p>
|
|
37
|
+
<p className="ns-font-16-normal">
|
|
38
|
+
{props.description_last}
|
|
39
|
+
</p>
|
|
40
|
+
|
|
41
|
+
<div className="hidden lg:block mt-6">
|
|
42
|
+
<Link to="#" style={{ width: "100%", marginBottom: "24px" }} >
|
|
43
|
+
Contact US
|
|
44
|
+
</Link>
|
|
45
|
+
|
|
46
|
+
<Link to="#" style={{ width: "100%" }} >
|
|
47
|
+
Book a Meeting With Us
|
|
48
|
+
</Link>
|
|
49
|
+
|
|
50
|
+
</div>
|
|
51
|
+
</article>
|
|
52
|
+
|
|
53
|
+
<div style={{ backgroundImage: `url(${props.banner})` }} className={`hidden lg:block lg:w-full xl:w-1/2 ${Styles.hero_image_bg}`}>
|
|
54
|
+
<div className={Styles.ns_hero_vector_bg}></div>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<div className={`block lg:hidden ${Styles.hero_img_container}`}>
|
|
58
|
+
<img
|
|
59
|
+
src={props.banner}
|
|
60
|
+
alt=""
|
|
61
|
+
/>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<div className="w-full mt-6 block lg:hidden">
|
|
65
|
+
<Link to="#" style={{ width: "100%", marginBottom: "24px" }} >
|
|
66
|
+
Contact US
|
|
67
|
+
</Link>
|
|
68
|
+
|
|
69
|
+
<Link to="#" style={{ width: "100%" }} >
|
|
70
|
+
Book a Meeting With Us
|
|
71
|
+
</Link>
|
|
72
|
+
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
</section>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
{props.children}
|
|
82
|
+
</NSLayout>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { NSLayout } from './NSLayout';
|
|
3
|
+
|
|
4
|
+
interface IProps
|
|
5
|
+
{
|
|
6
|
+
scope: string;
|
|
7
|
+
logo: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function NSLayoutTitle(props: IProps)
|
|
14
|
+
{
|
|
15
|
+
return (
|
|
16
|
+
<NSLayout scope={props.scope} logo={props.logo} >
|
|
17
|
+
<div>
|
|
18
|
+
<h1 className='text-black text-center'>{props.title}</h1>
|
|
19
|
+
<p className='text-black page-description'>{props.description}</p>
|
|
20
|
+
</div>
|
|
21
|
+
{props.children}
|
|
22
|
+
</NSLayout>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* .section_card_container {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
justify-content: center;
|
|
5
|
+
align-items: center;
|
|
6
|
+
padding: 48px 0;
|
|
7
|
+
gap: 48px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.section_card_details>h2 {
|
|
11
|
+
color: inherit;
|
|
12
|
+
font-size: 32px;
|
|
13
|
+
font-weight: 700;
|
|
14
|
+
line-height: normal;
|
|
15
|
+
font-style: normal;
|
|
16
|
+
text-align: center;
|
|
17
|
+
margin-bottom: 16px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.section_card_details>p {
|
|
21
|
+
color: inherit;
|
|
22
|
+
font-size: 16px;
|
|
23
|
+
font-weight: 400;
|
|
24
|
+
line-height: normal;
|
|
25
|
+
font-style: normal;
|
|
26
|
+
margin-bottom: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.ns_card_container {
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: row;
|
|
32
|
+
flex-wrap: wrap;
|
|
33
|
+
justify-content: space-between;
|
|
34
|
+
gap: 24px;
|
|
35
|
+
} */
|