namirasoft-site-react 1.2.52 → 1.2.54

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.
Files changed (73) hide show
  1. package/dist/assets/images/map_location.png +0 -0
  2. package/dist/components/NSCard.d.ts +2 -5
  3. package/dist/components/NSCard.js +3 -3
  4. package/dist/components/NSCard.js.map +1 -1
  5. package/dist/components/NSCard.module.css +10 -1
  6. package/dist/components/NSEntityBar.d.ts +12 -0
  7. package/dist/components/NSEntityBar.js +10 -0
  8. package/dist/components/NSEntityBar.js.map +1 -0
  9. package/dist/components/NSEntityBar.module.css +53 -0
  10. package/dist/components/NSLayoutTitle.d.ts +4 -1
  11. package/dist/components/NSLayoutTitle.js +5 -2
  12. package/dist/components/NSLayoutTitle.js.map +1 -1
  13. package/dist/components/NSLinkBlue.d.ts +17 -0
  14. package/dist/components/NSLinkBlue.js +20 -0
  15. package/dist/components/NSLinkBlue.js.map +1 -0
  16. package/dist/components/NSLinkBlue.module.css +24 -0
  17. package/dist/components/NSMap.d.ts +12 -0
  18. package/dist/components/NSMap.js +18 -0
  19. package/dist/components/NSMap.js.map +1 -0
  20. package/dist/components/NSSection.d.ts +15 -0
  21. package/dist/components/NSSection.js +27 -0
  22. package/dist/components/NSSection.js.map +1 -0
  23. package/dist/components/NSSection.module.css +10 -0
  24. package/dist/components/NSSectionBars.d.ts +11 -0
  25. package/dist/components/NSSectionBars.js +14 -0
  26. package/dist/components/NSSectionBars.js.map +1 -0
  27. package/dist/components/NSSectionBars.module.css +11 -0
  28. package/dist/components/NSSectionCards.d.ts +23 -0
  29. package/dist/components/NSSectionCards.js +19 -0
  30. package/dist/components/NSSectionCards.js.map +1 -0
  31. package/dist/components/NSSectionCards.module.css +38 -0
  32. package/dist/components/NSSectionTitle.d.ts +15 -0
  33. package/dist/components/NSSectionTitle.js +11 -0
  34. package/dist/components/NSSectionTitle.js.map +1 -0
  35. package/dist/components/NSSectionTitle.module.css +0 -0
  36. package/dist/components/NSSelectBox.js +1 -2
  37. package/dist/components/NSSelectBox.js.map +1 -1
  38. package/dist/components/NSTitle.d.ts +10 -0
  39. package/dist/components/NSTitle.js +11 -0
  40. package/dist/components/NSTitle.js.map +1 -0
  41. package/dist/components/NSTitle.module.css +9 -0
  42. package/dist/main.d.ts +8 -0
  43. package/dist/main.js +8 -0
  44. package/dist/main.js.map +1 -1
  45. package/dist/types/Background.d.ts +5 -0
  46. package/dist/types/Background.js +2 -0
  47. package/dist/types/Background.js.map +1 -0
  48. package/package.json +12 -8
  49. package/src/assets/images/map_location.png +0 -0
  50. package/src/components/NSCard.module.css +10 -1
  51. package/src/components/NSCard.tsx +16 -16
  52. package/src/components/NSEntityBar.module.css +53 -0
  53. package/src/components/NSEntityBar.tsx +32 -0
  54. package/src/components/NSLayoutTitle.tsx +14 -11
  55. package/src/components/NSLinkBlue.module.css +24 -0
  56. package/src/components/NSLinkBlue.tsx +45 -0
  57. package/src/components/NSMap.tsx +38 -0
  58. package/src/components/NSSection.module.css +10 -0
  59. package/src/components/NSSection.tsx +48 -0
  60. package/src/components/NSSectionBars.module.css +11 -0
  61. package/src/components/NSSectionBars.tsx +35 -0
  62. package/src/components/NSSectionCards.module.css +38 -0
  63. package/src/components/NSSectionCards.tsx +69 -0
  64. package/src/components/NSSectionTitle.module.css +0 -0
  65. package/src/components/NSSectionTitle.tsx +28 -0
  66. package/src/components/NSSelectBox.tsx +2 -3
  67. package/src/components/NSTitle.module.css +9 -0
  68. package/src/components/NSTitle.tsx +25 -0
  69. package/src/main.ts +8 -0
  70. package/src/types/Background.ts +6 -0
  71. package/dist/components/NSParentCard.module.css +0 -35
  72. package/src/components/NSParentCard.module.css +0 -35
  73. package/src/components/NSParentCard.tsx.temp +0 -59
package/dist/main.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./components/NSButtonGreen";
2
2
  export * from "./components/NSButtonRed";
3
3
  export * from "./components/NSCard";
4
+ export * from "./components/NSEntityBar";
4
5
  export * from "./components/NSFooter";
5
6
  export * from "./components/NSHeader";
6
7
  export * from "./components/NSInputDate";
@@ -19,8 +20,15 @@ export * from "./components/NSLayout";
19
20
  export * from "./components/NSLayoutHeroBanner";
20
21
  export * from "./components/NSLayoutTitle";
21
22
  export * from "./components/NSSelectBox";
23
+ export * from "./components/NSSection";
24
+ export * from "./components/NSSectionBars";
25
+ export * from "./components/NSSectionCards";
26
+ export * from "./components/NSSectionTitle";
27
+ export * from "./components/NSLinkBlue";
22
28
  export * from "./components/NSLinkGreen";
23
29
  export * from "./components/NSLinkRed";
30
+ export * from "./components/NSMap";
24
31
  export * from "./components/NSPagination";
25
32
  export * from "./components/NSTable";
33
+ export * from "./components/NSTitle";
26
34
  export * from "./pages/NSLoginPage";
package/dist/main.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./components/NSButtonGreen";
2
2
  export * from "./components/NSButtonRed";
3
3
  export * from "./components/NSCard";
4
+ export * from "./components/NSEntityBar";
4
5
  export * from "./components/NSFooter";
5
6
  export * from "./components/NSHeader";
6
7
  export * from "./components/NSInputDate";
@@ -19,9 +20,16 @@ export * from "./components/NSLayout";
19
20
  export * from "./components/NSLayoutHeroBanner";
20
21
  export * from "./components/NSLayoutTitle";
21
22
  export * from "./components/NSSelectBox";
23
+ export * from "./components/NSSection";
24
+ export * from "./components/NSSectionBars";
25
+ export * from "./components/NSSectionCards";
26
+ export * from "./components/NSSectionTitle";
27
+ export * from "./components/NSLinkBlue";
22
28
  export * from "./components/NSLinkGreen";
23
29
  export * from "./components/NSLinkRed";
30
+ export * from "./components/NSMap";
24
31
  export * from "./components/NSPagination";
25
32
  export * from "./components/NSTable";
33
+ export * from "./components/NSTitle";
26
34
  export * from "./pages/NSLoginPage";
27
35
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface Background {
2
+ image?: string;
3
+ color?: string;
4
+ position?: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../src/types/Background.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,25 +1,29 @@
1
1
  {
2
2
  "name": "namirasoft-site-react",
3
- "version": "1.2.52",
3
+ "version": "1.2.54",
4
4
  "main": "./dist/main.js",
5
5
  "types": "./dist/main.d.ts",
6
6
  "dependencies": {
7
- "@types/node": "^20.11.24",
8
- "@types/react": "^18.2.63",
9
- "@types/react-dom": "^18.2.20",
10
- "antd": "^5.15.0",
7
+ "@types/leaflet": "^1.9.8",
8
+ "@types/node": "^20.11.28",
9
+ "@types/react": "^18.2.66",
10
+ "@types/react-dom": "^18.2.22",
11
+ "@types/react-leaflet": "^3.0.0",
12
+ "antd": "^5.15.2",
11
13
  "bootstrap": "^5.3.3",
14
+ "leaflet": "^1.9.4",
12
15
  "link-react": "^3.0.0",
13
16
  "namirasoft-api-link": "^1.2.3",
14
- "namirasoft-core": "^1.2.13",
17
+ "namirasoft-core": "^1.2.16",
15
18
  "path-browserify": "^1.0.1",
16
19
  "react": "^18.2.0",
17
20
  "react-app-rewired": "^2.2.1",
18
21
  "react-bootstrap": "^2.10.1",
19
22
  "react-dom": "^18.2.0",
23
+ "react-leaflet": "^4.2.1",
20
24
  "react-phone-input-2": "^2.15.1",
21
25
  "react-phone-number-input": "^3.3.9",
22
- "react-router-dom": "^6.22.2",
26
+ "react-router-dom": "^6.22.3",
23
27
  "react-scripts": "5.0.1"
24
28
  },
25
29
  "scripts": {
@@ -50,4 +54,4 @@
50
54
  "devDependencies": {
51
55
  "copyfiles": "^2.4.1"
52
56
  }
53
- }
57
+ }
@@ -9,6 +9,8 @@
9
9
  box-shadow: 0 2px 10px 4px #00000040;
10
10
  padding: 24px;
11
11
  border-radius: 24px;
12
+ width: 100%;
13
+ max-width: 358px;
12
14
  }
13
15
 
14
16
  .ns_card_detail_container {
@@ -23,6 +25,9 @@
23
25
  flex-direction: column;
24
26
  align-items: center;
25
27
  justify-content: flex-start;
28
+ gap: 24px;
29
+ margin-bottom: 16px;
30
+ width: 100%;
26
31
  }
27
32
 
28
33
  .card_img {
@@ -34,11 +39,12 @@
34
39
 
35
40
  .card_title {
36
41
  font-style: normal;
37
- font-size: 24;
42
+ font-size: 24px;
38
43
  font-weight: 700;
39
44
  line-height: normal;
40
45
  color: inherit;
41
46
  text-align: inherit;
47
+ color: #141161;
42
48
  }
43
49
 
44
50
  .card_description {
@@ -65,6 +71,9 @@
65
71
  width: 100%;
66
72
  max-width: 310px;
67
73
  }
74
+ .ns_card_link_container {
75
+ width: 100%;
76
+ }
68
77
 
69
78
  @media only screen and (min-width: 576px) {
70
79
  .ns_card {
@@ -4,7 +4,7 @@ import { Component } from 'react';
4
4
 
5
5
  import Styles from './NSCard.module.css'
6
6
 
7
- interface IProps
7
+ export interface NSCardProps
8
8
  {
9
9
  title: string;
10
10
  description?: string;
@@ -20,31 +20,31 @@ interface IProps
20
20
  }
21
21
  }
22
22
 
23
- interface IStart
24
- { }
25
-
26
- export class NSCard extends Component<IProps, IStart> {
23
+ export class NSCard extends Component<NSCardProps> {
27
24
  override render()
28
25
  {
29
- const { title, image, description, link } = this.props;
30
26
  return (
31
27
  <>
32
28
  <article className={Styles.ns_card}>
33
29
  <div className={Styles.ns_card_detail_container}>
34
- <div className={Styles.ns_card_title_img}>
30
+ <div className={Styles.ns_card_title_img} style={{ alignItems: this.props.description ? "flex-start" : "center" }}>
31
+ <img className={Styles.card_img} src={this.props.image.src} alt={this.props.image.alt} />
35
32
  <h3 className={Styles.card_title}>
36
- {title}
33
+ {this.props.title}
37
34
  </h3>
38
- <img className={Styles.card_img} src={image.src} alt={image.alt} />
39
35
  </div>
40
- <p className={Styles.card_description}>
41
- {description}
42
- </p>
36
+
37
+ {this.props.description &&
38
+ <p className={Styles.card_description}>
39
+ {this.props.description}
40
+ </p>
41
+ }
42
+
43
43
  </div>
44
- {link &&
45
- <div >
46
- <a className={Styles.ns_card_link} href={link.href} target={link.target ?? "_self"} >
47
- {link.text}
44
+ {this.props.link &&
45
+ <div className={Styles.ns_card_link_container}>
46
+ <a className={Styles.ns_card_link} href={this.props.link.href} target={this.props.link.target ?? "_self"} >
47
+ {this.props.link.text}
48
48
  </a>
49
49
  </div>
50
50
  }
@@ -0,0 +1,53 @@
1
+ .entity_bar_item {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: flex-start;
5
+ align-items: flex-start;
6
+ gap: 24px;
7
+ padding: 24px;
8
+ box-shadow: 0 2px 10px 4px #00000040;
9
+ width: 100%;
10
+ max-width: 358px;
11
+ }
12
+
13
+ .entity_bar_image_container {
14
+ width: 100%;
15
+ }
16
+
17
+ .entity_bar_details_container {
18
+ text-align: start;
19
+ }
20
+
21
+ .entity_bar_image_title {
22
+ color: #001664;
23
+ font-size: 32px;
24
+ font-weight: 700;
25
+ line-height: 32px;
26
+ margin-bottom: 16px;
27
+ text-align: start;
28
+ }
29
+
30
+ .entity_bar_image_description {
31
+
32
+ color: #001664;
33
+ font-size: 16px;
34
+ font-weight: 400;
35
+ line-height: 24px;
36
+ text-align: justify;
37
+ }
38
+
39
+ @media only screen and (min-width: 992px) {
40
+ .entity_bar_item {
41
+ display: flex;
42
+ flex-direction: row;
43
+ justify-content: flex-start;
44
+ align-items: flex-start;
45
+ gap: 48px;
46
+ width: 100%;
47
+ max-width: 1170px;
48
+ }
49
+
50
+ .entity_bar_details_container {
51
+ padding: 24px 0;
52
+ }
53
+ }
@@ -0,0 +1,32 @@
1
+ "use client";
2
+
3
+ import { Component } from 'react';
4
+
5
+ import Styles from './NSEntityBar.module.css'
6
+
7
+ export interface NSEntityBarProps
8
+ {
9
+ title: string;
10
+ description: string;
11
+ image: {
12
+ src: string;
13
+ alt: string;
14
+ },
15
+ }
16
+
17
+ export class NSEntityBar extends Component<NSEntityBarProps> {
18
+ override render()
19
+ {
20
+ return (
21
+ <article className={Styles.entity_bar_item}>
22
+ <figure className={Styles.entity_bar_image_container}>
23
+ <img src={this.props.image.src} alt={this.props.image.alt} width={310} height={240} />
24
+ </figure>
25
+ <div className={Styles.entity_bar_details_container}>
26
+ <h3 className={Styles.entity_bar_image_title}> {this.props.title} </h3>
27
+ <p className={Styles.entity_bar_image_description} > {this.props.description} </p>
28
+ </div>
29
+ </article>
30
+ );
31
+ }
32
+ }
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { Component } from 'react';
2
3
 
3
4
  import { ReactNode } from 'react';
4
5
  import { NSLayout } from './NSLayout';
@@ -12,15 +13,17 @@ interface IProps
12
13
  children: ReactNode;
13
14
  }
14
15
 
15
- export function NSLayoutTitle(props: IProps)
16
- {
17
- return (
18
- <NSLayout scope={props.scope} logo={props.logo} >
19
- <div>
20
- <h1 className='text-black text-center'>{props.title}</h1>
21
- <p className='text-black page-description'>{props.description}</p>
22
- </div>
23
- {props.children}
24
- </NSLayout>
25
- );
16
+ export class NSLayoutTitle extends Component<IProps> {
17
+ override render()
18
+ {
19
+ return (
20
+ <NSLayout scope={this.props.scope} logo={this.props.logo} >
21
+ <div>
22
+ <h1 className='text-black text-center'>{this.props.title}</h1>
23
+ <p className='text-black page-description'>{this.props.description}</p>
24
+ </div>
25
+ {this.props.children}
26
+ </NSLayout>
27
+ );
28
+ }
26
29
  }
@@ -0,0 +1,24 @@
1
+ .ns_link_parent {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ width: 100%;
7
+ gap: 24px;
8
+ }
9
+
10
+ .ns_link_parent a {
11
+ text-decoration: none;
12
+ background-color: #366EFF;
13
+ color: #fff;
14
+ font-size: 16px;
15
+ font-weight: 400;
16
+ height: 48px;
17
+ display: flex;
18
+ justify-content: center;
19
+ align-items: center;
20
+ max-width: 358px;
21
+ padding: 12px 64px;
22
+ border-radius: 24px;
23
+ width: 256px;
24
+ }
@@ -0,0 +1,45 @@
1
+ "use client";
2
+
3
+ import Styles from "./NSLinkblue.module.css";
4
+ import React from "react";
5
+
6
+ interface IProps
7
+ {
8
+ title: string;
9
+ href: string;
10
+ style?: React.CSSProperties;
11
+ }
12
+
13
+ interface IState
14
+ {
15
+ title: string;
16
+ href: string;
17
+ }
18
+
19
+ export class NSLinkBlue extends React.Component<IProps, IState>
20
+ {
21
+ constructor(props: IProps)
22
+ {
23
+ super(props);
24
+ this.state = { title: props.title, href: props.href };
25
+ }
26
+ setTitle(title: string)
27
+ {
28
+ this.setState({ title });
29
+ }
30
+ setHRef(href: string)
31
+ {
32
+ this.setState({ href });
33
+ }
34
+ override render()
35
+ {
36
+ return (
37
+
38
+ <div className={Styles.ns_link_parent} style={this.props.style}>
39
+ <a className="text-white text-decoration-none" href={this.state.href}>
40
+ {this.state.title}
41
+ </a>
42
+ </div>
43
+ )
44
+ }
45
+ }
@@ -0,0 +1,38 @@
1
+ 'use client'
2
+
3
+ import React from 'react';
4
+ import { MapContainer, TileLayer, Marker, Popup } from 'react-leaflet';
5
+ import L from 'leaflet';
6
+ import IconLocation from '../assets/images/map_location.png';
7
+ const locationIcon = L.icon({
8
+ iconUrl: IconLocation,
9
+ iconSize: [24, 24],
10
+ iconAnchor: [12, 41],
11
+ popupAnchor: [1, -34],
12
+ });
13
+
14
+
15
+ interface NSMapProps
16
+ {
17
+ location: {
18
+ name: string;
19
+ latitude: number;
20
+ longitude: number;
21
+ }
22
+ }
23
+
24
+ export class NSMap extends React.Component<NSMapProps> {
25
+ override render()
26
+ {
27
+ return (
28
+ <MapContainer center={[this.props.location.latitude, this.props.location.longitude]} zoom={13} style={{ height: '400px', width: '100%' }}>
29
+ <TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" />
30
+ <Marker position={[this.props.location.latitude, this.props.location.longitude]} icon={locationIcon}>
31
+ <Popup>
32
+ {this.props.location.name}
33
+ </Popup>
34
+ </Marker>
35
+ </MapContainer>
36
+ );
37
+ }
38
+ }
@@ -0,0 +1,10 @@
1
+ .ns_section {
2
+ background-repeat: no-repeat;
3
+ background-size: cover;
4
+ background-position: center;
5
+ }
6
+
7
+ .ns_section_whitespace {
8
+ padding-bottom: 48px;
9
+ padding-top: 48px;
10
+ }
@@ -0,0 +1,48 @@
1
+ 'use client'
2
+ import { Component, ReactNode } from "react";
3
+ import Styles from './NSSection.module.css'
4
+ import { Background } from "../types/Background";
5
+ interface NSSectionProps
6
+ {
7
+ children: ReactNode;
8
+ background?: Background;
9
+ padding_bottom?: string
10
+ }
11
+
12
+ interface NSSectionState
13
+ {
14
+ background?: Background;
15
+ }
16
+
17
+ class NSSection extends Component<NSSectionProps, NSSectionState> {
18
+ constructor(props: NSSectionProps)
19
+ {
20
+ super(props);
21
+ this.state = {
22
+ background: {
23
+ image: `url(${props.background?.image})`,
24
+ color: props.background?.color,
25
+ position: props.background?.position
26
+ }
27
+ }
28
+ }
29
+ override render()
30
+ {
31
+ return (
32
+ <section style=
33
+ {{
34
+ backgroundImage: this.state.background?.image,
35
+ backgroundColor: this.state.background?.color,
36
+ backgroundPosition : this.state.background?.position
37
+ }}
38
+ className={Styles.ns_section} >
39
+ <div style={{ paddingBottom: this.props.padding_bottom }}
40
+ className={`${Styles.ns_section_whitespace}`}>
41
+ {this.props.children}
42
+ </div>
43
+ </section>
44
+ );
45
+ }
46
+ }
47
+
48
+ export default NSSection;
@@ -0,0 +1,11 @@
1
+ .ns_entity_bar_container {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ margin-left: auto;
7
+ margin-right: auto;
8
+ padding-left: 1rem;
9
+ padding-right: 1rem;
10
+ gap: 24px;
11
+ }
@@ -0,0 +1,35 @@
1
+ "use client";
2
+
3
+ import { Component } from 'react';
4
+
5
+ import Styles from './NSSectionBars.module.css';
6
+
7
+ import { NSEntityBar, NSEntityBarProps } from './NSEntityBar';
8
+ import NSSection from './NSSection';
9
+ import { Background } from '../types/Background';
10
+ // import { NSLinkBlue } from './NSLinkBlue';
11
+
12
+ interface NSSectionBarsProps
13
+ {
14
+ background?: Background;
15
+ bars: NSEntityBarProps[]
16
+ }
17
+
18
+ class NSSectionBars extends Component<NSSectionBarsProps> {
19
+ override render()
20
+ {
21
+ return (
22
+ <>
23
+ <NSSection background={this.props.background} >
24
+ <div className={`container mx-auto px-4 lg:px-12 ${Styles.ns_entity_bar_container}`}>
25
+ {
26
+ this.props.bars?.map((bar) => <NSEntityBar {...bar} />)
27
+ }
28
+ </div>
29
+ </NSSection>
30
+ </>
31
+ );
32
+ }
33
+ }
34
+
35
+ export default NSSectionBars;
@@ -0,0 +1,38 @@
1
+ .ns_section_cards_holder {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: center;
5
+ align-items: center;
6
+ margin-left: auto;
7
+ margin-right: auto;
8
+ padding-left: 1rem;
9
+ padding-right: 1rem;
10
+ }
11
+
12
+ .ns_section_cards_title_container {
13
+ margin-bottom: 32px;
14
+ }
15
+
16
+ .ns_card_container {
17
+ display: flex;
18
+ flex-direction: row;
19
+ flex-wrap: wrap;
20
+ justify-content: center;
21
+ gap: 48px;
22
+ width: 100%;
23
+ }
24
+
25
+ .ns_section_cards_link_container {
26
+ margin-top: 48px;
27
+ width: 100%;
28
+ text-align: center;
29
+ }
30
+
31
+ .description {
32
+ font-style: normal;
33
+ font-weight: initial;
34
+ font-size: 16px;
35
+ font-family: initial;
36
+ line-height: initial;
37
+ margin-bottom: 16px;
38
+ }
@@ -0,0 +1,69 @@
1
+ "use client";
2
+
3
+ import { Component } from 'react';
4
+
5
+ import Styles from './NSSectionCards.module.css';
6
+ import NSTitle from './NSTitle';
7
+ import { NSCard, NSCardProps } from './NSCard';
8
+ import NSSection from './NSSection';
9
+ import { NSLinkBlue } from './NSLinkBlue';
10
+ import { Background } from '../types/Background';
11
+
12
+ interface NSSectionCardsProps
13
+ {
14
+ title?: {
15
+ text: string,
16
+ color?: string
17
+ };
18
+ description?: {
19
+ text: string,
20
+ color?: string
21
+ };
22
+ background?: Background
23
+ button?: {
24
+ href: string;
25
+ title: string;
26
+ };
27
+ cards: NSCardProps[]
28
+ }
29
+
30
+ class NSSectionCards extends Component<NSSectionCardsProps> {
31
+ override render()
32
+ {
33
+ return (
34
+ <>
35
+ <NSSection background={this.props.background} >
36
+ <div className={`container mx-auto px-4 lg:px-12 ${Styles.ns_section_cards_holder}`}>
37
+
38
+ {
39
+ this.props.title &&
40
+ <div className={Styles.ns_section_cards_title_container}>
41
+ <NSTitle color={this.props.title?.color} title={this.props.title?.text} />
42
+
43
+ {
44
+ this.props.description &&
45
+ <p style={{ color: this.props.description?.color }} className={Styles.description}> {this.props.description.text} </p>
46
+ }
47
+
48
+ </div>
49
+ }
50
+
51
+ <div className={` ${Styles.ns_card_container}`}>
52
+ {
53
+ this.props.cards?.map((card) => <NSCard {...card} />)
54
+ }
55
+ </div>
56
+ {
57
+ this.props.button &&
58
+ <div className={`mt-12 w-full- text-center ${Styles.ns_section_cards_link_container}`}>
59
+ <NSLinkBlue href={this.props.button?.href} title={this.props.button?.title} />
60
+ </div>
61
+ }
62
+ </div>
63
+ </NSSection>
64
+ </>
65
+ );
66
+ }
67
+ }
68
+
69
+ export default NSSectionCards;
File without changes