namirasoft-site-react 1.3.60 → 1.3.61

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 (132) hide show
  1. package/dist/App.js +1 -1
  2. package/dist/App.js.map +1 -1
  3. package/dist/components/NSButton.d.ts +0 -9
  4. package/dist/components/NSButton.js +2 -9
  5. package/dist/components/NSButton.js.map +1 -1
  6. package/dist/components/NSButton.module.css +8 -7
  7. package/dist/components/NSButtonBlue.d.ts +2 -14
  8. package/dist/components/NSButtonBlue.js +6 -13
  9. package/dist/components/NSButtonBlue.js.map +1 -1
  10. package/dist/components/NSButtonBlue.module.css +0 -8
  11. package/dist/components/NSButtonGreen.d.ts +2 -14
  12. package/dist/components/NSButtonGreen.js +6 -13
  13. package/dist/components/NSButtonGreen.js.map +1 -1
  14. package/dist/components/NSButtonGreen.module.css +0 -8
  15. package/dist/components/NSButtonRed.d.ts +2 -14
  16. package/dist/components/NSButtonRed.js +7 -14
  17. package/dist/components/NSButtonRed.js.map +1 -1
  18. package/dist/components/NSButtonRed.module.css +0 -8
  19. package/dist/components/NSCard.d.ts +3 -9
  20. package/dist/components/NSCard.js +12 -16
  21. package/dist/components/NSCard.js.map +1 -1
  22. package/dist/components/NSCopyToClipboard.d.ts +1 -8
  23. package/dist/components/NSCopyToClipboard.js +6 -14
  24. package/dist/components/NSCopyToClipboard.js.map +1 -1
  25. package/dist/components/NSCopyToClipboard.module.css +1 -1
  26. package/dist/components/NSEntityBar.d.ts +3 -9
  27. package/dist/components/NSEntityBar.js +3 -6
  28. package/dist/components/NSEntityBar.js.map +1 -1
  29. package/dist/components/NSEntityBar.module.css +1 -1
  30. package/dist/components/NSEntityCardBackground.d.ts +1 -11
  31. package/dist/components/NSEntityCardBackground.js +4 -23
  32. package/dist/components/NSEntityCardBackground.js.map +1 -1
  33. package/dist/components/NSFooter.js +2 -1
  34. package/dist/components/NSFooter.js.map +1 -1
  35. package/dist/components/NSHeader.d.ts +1 -2
  36. package/dist/components/NSHeader.js +9 -4
  37. package/dist/components/NSHeader.js.map +1 -1
  38. package/dist/components/NSInputDate.js +1 -1
  39. package/dist/components/NSInputDate.js.map +1 -1
  40. package/dist/components/NSLayout.js +2 -2
  41. package/dist/components/NSLayout.js.map +1 -1
  42. package/dist/components/NSLayoutHeroBanner.js.map +1 -1
  43. package/dist/components/NSLinkBlue.d.ts +1 -9
  44. package/dist/components/NSLinkBlue.js +3 -17
  45. package/dist/components/NSLinkBlue.js.map +1 -1
  46. package/dist/components/NSLoading.d.ts +1 -6
  47. package/dist/components/NSLoading.js +2 -6
  48. package/dist/components/NSLoading.js.map +1 -1
  49. package/dist/components/NSNotification.js +2 -2
  50. package/dist/components/NSNotification.js.map +1 -1
  51. package/dist/components/NSPagination.d.ts +1 -1
  52. package/dist/components/NSPagination.js +2 -1
  53. package/dist/components/NSPagination.js.map +1 -1
  54. package/dist/components/NSPanel.d.ts +2 -7
  55. package/dist/components/NSPanel.js +3 -9
  56. package/dist/components/NSPanel.js.map +1 -1
  57. package/dist/components/NSSection.d.ts +2 -10
  58. package/dist/components/NSSection.js +6 -25
  59. package/dist/components/NSSection.js.map +1 -1
  60. package/dist/components/NSSectionBars.d.ts +1 -6
  61. package/dist/components/NSSectionBars.js +4 -8
  62. package/dist/components/NSSectionBars.js.map +1 -1
  63. package/dist/components/NSSectionCards.d.ts +5 -14
  64. package/dist/components/NSSectionCards.js +7 -11
  65. package/dist/components/NSSectionCards.js.map +1 -1
  66. package/dist/components/NSSectionTitle.d.ts +4 -10
  67. package/dist/components/NSSectionTitle.js +2 -6
  68. package/dist/components/NSSectionTitle.js.map +1 -1
  69. package/dist/components/NSSpace.js +2 -1
  70. package/dist/components/NSSpace.js.map +1 -1
  71. package/dist/components/NSTable.js +2 -1
  72. package/dist/components/NSTable.js.map +1 -1
  73. package/dist/components/NSTitle.d.ts +1 -6
  74. package/dist/components/NSTitle.js +3 -6
  75. package/dist/components/NSTitle.js.map +1 -1
  76. package/dist/main.d.ts +0 -1
  77. package/dist/main.js +0 -1
  78. package/dist/main.js.map +1 -1
  79. package/dist/pages/NSLoginPage.d.ts +2 -3
  80. package/dist/pages/NSLoginPage.js +4 -3
  81. package/dist/pages/NSLoginPage.js.map +1 -1
  82. package/dist/props/BaseComponentProps.d.ts +1 -0
  83. package/package.json +1 -2
  84. package/src/App.tsx +1 -1
  85. package/src/components/NSButton.module.css +8 -7
  86. package/src/components/NSButton.tsx +6 -24
  87. package/src/components/NSButtonBlue.module.css +0 -8
  88. package/src/components/NSButtonBlue.tsx +7 -29
  89. package/src/components/NSButtonGreen.module.css +0 -8
  90. package/src/components/NSButtonGreen.tsx +7 -29
  91. package/src/components/NSButtonRed.module.css +0 -8
  92. package/src/components/NSButtonRed.tsx +8 -30
  93. package/src/components/NSCard.tsx +49 -56
  94. package/src/components/NSCopyToClipboard.module.css +1 -1
  95. package/src/components/NSCopyToClipboard.tsx +21 -35
  96. package/src/components/NSEntityBar.module.css +1 -1
  97. package/src/components/NSEntityBar.tsx +17 -23
  98. package/src/components/NSEntityCardBackground.tsx +22 -56
  99. package/src/components/NSFooter.tsx +4 -1
  100. package/src/components/NSHeader.tsx +16 -7
  101. package/src/components/NSInputDate.tsx +4 -2
  102. package/src/components/NSLayout.tsx +3 -3
  103. package/src/components/NSLayoutHeroBanner.tsx +0 -1
  104. package/src/components/NSLinkBlue.tsx +12 -32
  105. package/src/components/NSLoading.tsx +8 -17
  106. package/src/components/NSNotification.tsx +19 -14
  107. package/src/components/NSPagination.tsx +4 -3
  108. package/src/components/NSPanel.tsx +10 -21
  109. package/src/components/NSSection.tsx +13 -39
  110. package/src/components/NSSectionBars.tsx +12 -22
  111. package/src/components/NSSectionCards.tsx +31 -46
  112. package/src/components/NSSectionTitle.tsx +11 -21
  113. package/src/components/NSSpace.tsx +3 -1
  114. package/src/components/NSTable.tsx +5 -3
  115. package/src/components/NSTitle.tsx +10 -15
  116. package/src/main.ts +0 -1
  117. package/src/pages/NSLoginPage.tsx +8 -6
  118. package/src/props/BaseComponentProps.ts +1 -0
  119. package/dist/components/NSButtonBlueVector.d.ts +0 -16
  120. package/dist/components/NSButtonBlueVector.js +0 -17
  121. package/dist/components/NSButtonBlueVector.js.map +0 -1
  122. package/dist/components/NSButtonBlueVector.module.css +0 -17
  123. package/dist/props/BackgroundProps.d.ts +0 -6
  124. package/dist/props/BackgroundProps.js +0 -2
  125. package/dist/props/BackgroundProps.js.map +0 -1
  126. package/dist/props/NSButtonProps.d.ts +0 -11
  127. package/dist/props/NSButtonProps.js +0 -2
  128. package/dist/props/NSButtonProps.js.map +0 -1
  129. package/src/components/NSButtonBlueVector.module.css +0 -17
  130. package/src/components/NSButtonBlueVector.tsx +0 -42
  131. package/src/props/BackgroundProps.ts +0 -7
  132. package/src/props/NSButtonProps.ts +0 -12
@@ -1,69 +1,35 @@
1
- "use client";
2
-
3
- import { Component } from 'react';
4
1
  import Styles from './NSEntityCardBackground.module.css'
5
- import { BackgroundProps } from '../props/BackgroundProps';
6
2
  import { NSLinkBlue } from './NSLinkBlue';
7
3
  import { LinkProps } from '../props/LinkProps';
8
4
  import { BaseComponentProps } from "../props/BaseComponentProps";
9
5
 
10
6
  export interface NSEntityCardBackgroundProps extends BaseComponentProps
11
7
  {
12
- id?: string | number;
13
8
  title: string;
14
9
  link?: LinkProps
15
-
16
- background?: BackgroundProps;
17
- }
18
-
19
- export interface NSEntityCardBackgroundState
20
- {
21
- background?: BackgroundProps;
22
10
  }
23
11
 
24
- export class NSEntityCardBackground extends Component<NSEntityCardBackgroundProps, NSEntityCardBackgroundState>
12
+ export function NSEntityCardBackground(props: NSEntityCardBackgroundProps)
25
13
  {
26
-
27
- constructor(props: NSEntityCardBackgroundProps)
28
- {
29
- super(props);
30
- this.state = {
31
- background: {
32
- image: `url(${props.background?.image})`,
33
- color: props.background?.color,
34
- position: props.background?.position
35
- }
36
- }
37
- }
38
-
39
- override render()
40
- {
41
- return (
42
- <>
43
- <article className={Styles.card_background}
44
- style=
45
- {{
46
- backgroundImage: this.state.background?.image,
47
- backgroundColor: this.state.background?.color,
48
- backgroundPosition: this.state.background?.position
49
- }}
50
- >
51
-
52
- <p className={Styles.card_background_text}>
53
- {this.props.title}
54
- </p>
55
-
56
-
57
- {this.props.link &&
58
- <div className={Styles.ns_card_link_container}>
59
- <NSLinkBlue
60
- href={this.props.link.href}
61
- target={this.props.link.target}
62
- />
63
- </div>
64
- }
65
- </article >
66
- </>
67
- );
68
- }
14
+ return (
15
+ <>
16
+ <article id={props.id}
17
+ className={`${Styles.card_background} ${props.classList?.join(" ")}`}
18
+ style={props.style}
19
+ >
20
+ <p className={Styles.card_background_text}>
21
+ {props.title}
22
+ </p>
23
+ {
24
+ props.link &&
25
+ <div className={Styles.ns_card_link_container}>
26
+ <NSLinkBlue
27
+ href={props.link.href}
28
+ target={props.link.target}
29
+ />
30
+ </div>
31
+ }
32
+ </article >
33
+ </>
34
+ );
69
35
  }
@@ -46,7 +46,10 @@ export class NSFooter extends React.Component<NSFooterProps, NSFooterState>
46
46
  override render()
47
47
  {
48
48
  return (
49
- <footer className={Styles.ns_footer}>
49
+ <footer id={this.props.id}
50
+ className={`${Styles.ns_footer} ${this.props.classList?.join(" ")}`}
51
+ style={this.props.style}
52
+ >
50
53
  <div className={`container ${Styles.ns_package_footer}`}>
51
54
  <div className={`${Styles.ns_footer_parent_items}`}>
52
55
  <div className={`${Styles.ns_footer_project_logo_tablet}`}>
@@ -4,7 +4,6 @@ import React from "react";
4
4
  import Styles from "./NSHeader.module.css";
5
5
  import NavDropdown from 'react-bootstrap/NavDropdown';
6
6
  import { NamirasoftAPILinkServer, FilterLinkRow } from 'namirasoft-api-link';
7
- import { BackgroundProps } from "../props/BackgroundProps";
8
7
  import { BaseComponentProps } from "../props/BaseComponentProps";
9
8
 
10
9
  export interface NSHeaderProps extends BaseComponentProps
@@ -13,7 +12,7 @@ export interface NSHeaderProps extends BaseComponentProps
13
12
  name: string;
14
13
  logo: string;
15
14
  account?: boolean;
16
- background?: BackgroundProps;
15
+ nav?: BaseComponentProps
17
16
  }
18
17
 
19
18
  export interface NSHeaderState
@@ -62,12 +61,22 @@ export class NSHeader extends React.Component<NSHeaderProps, NSHeaderState>
62
61
  }
63
62
  override render()
64
63
  {
64
+ let nav: BaseComponentProps | undefined = this.props.nav;
65
+ if (!nav)
66
+ nav = { style: {} };
67
+ if (!nav.style)
68
+ nav.style = {};
69
+ if (!nav.style?.backgroundColor)
70
+ nav.style.backgroundColor = "rgba(20, 27, 92, 1)";
65
71
  return (
66
- <header className={Styles.ns_header}>
67
- <nav className={Styles.ns_navbar}
68
- style={{
69
- backgroundColor: this.props.background?.color ? this.props.background?.color : "rgba(20, 27, 92, 1)"
70
- }}
72
+ <header id={this.props.id}
73
+ className={`${Styles.ns_header} ${this.props.classList?.join(" ")}`}
74
+ style={this.props.style}
75
+ >
76
+ <nav
77
+ id={this.props.nav?.id}
78
+ className={`${Styles.ns_navbar} ${this.props.nav?.classList?.join(" ")}`}
79
+ style={nav?.style}
71
80
  >
72
81
  <div className={`${Styles.ns_navbar_parent_content} container`}>
73
82
  <a href="/">
@@ -49,7 +49,9 @@ export class NSInputDate extends React.Component<NSInputDateProps, NSInputDateSt
49
49
  {
50
50
  return (
51
51
  <>
52
- <div className={`${Styles.ns_parent_input} p-2 ${this.props.classList?.join(" ")}`} style={this.props.style}>
52
+ <div className={`${Styles.ns_parent_input} p-2 ${this.props.classList?.join(" ")}`}
53
+ style={this.props.style}
54
+ >
53
55
  <span className={Styles.ns_input_title}>{this.props.title}</span>
54
56
  <input
55
57
  value={this.state.value}
@@ -57,7 +59,7 @@ export class NSInputDate extends React.Component<NSInputDateProps, NSInputDateSt
57
59
  type="date"
58
60
  className={Styles.ns_input}
59
61
  placeholder={this.props.placeholder}
60
- id="ns-input-date"
62
+ id={this.props.id}
61
63
  onClick={() => { }}
62
64
  />
63
65
  </div>
@@ -1,5 +1,3 @@
1
- "use client";
2
-
3
1
  import Styles from './NSLayout.module.css';
4
2
  import { ReactNode } from 'react';
5
3
  import { NSHeader } from './NSHeader';
@@ -19,7 +17,9 @@ export interface NSLayoutProps extends BaseComponentProps
19
17
  export function NSLayout(props: NSLayoutProps)
20
18
  {
21
19
  return (
22
- <div className={Styles.ns_container}>
20
+ <div id={props.id}
21
+ className={`${Styles.ns_container} ${props.classList?.join(" ")}`}
22
+ style={props.style}>
23
23
  <NSHeader scope={props.scope} name="Header" logo={props.logo} />
24
24
  {props.notifications.map(props => <NSNotification {...props}></NSNotification>)}
25
25
  <main className="d-flex flex-column text-white" style={{ background: props.background }}>
@@ -20,7 +20,6 @@ export function NSLayoutHeroBanner(props: NSLayoutHeroBannerProps)
20
20
  return (
21
21
  <NSLayout {...props} >
22
22
  <div className={Styles.hero_holder}>
23
- {/* <NSHeader name='Header' scope='Namira Software Corporation' logo='https://static.namirasoft.com/logo/namirasoft/base.png' /> */}
24
23
  <section className={Styles.hero_wraper}>
25
24
  <div className="container mx-auto px-4 lg:px-12">
26
25
  <div className="flex flex-wrap lg:flex-nowrap justify-center lg:justify-between">
@@ -1,42 +1,22 @@
1
- "use client";
2
-
3
1
  import { BaseComponentProps } from "../props/BaseComponentProps";
4
2
  import { LinkProps } from "../props/LinkProps";
5
3
  import Styles from "./NSLinkBlue.module.css";
6
- import React from "react";
7
4
 
8
5
  export interface NSLinkBlueProps extends LinkProps, BaseComponentProps
9
6
  {
10
7
  }
11
8
 
12
- export interface NSLinkBlueState extends LinkProps
9
+ export function NSLinkBlue(props: NSLinkBlueProps)
13
10
  {
14
- }
15
-
16
- export class NSLinkBlue extends React.Component<NSLinkBlueProps, NSLinkBlueState>
17
- {
18
- constructor(props: NSLinkBlueProps)
19
- {
20
- super(props);
21
- this.state = { title: props.title, href: props.href, target: props.target };
22
- }
23
- setTitle(title: string)
24
- {
25
- this.setState({ title });
26
- }
27
- setHRef(href: string)
28
- {
29
- this.setState({ href });
30
- }
31
- override render()
32
- {
33
- return (
34
-
35
- <div className={Styles.ns_link_parent} style={this.props.style}>
36
- <a className={`text-white text-decoration-none ${this.props.title ? Styles.ns_link : Styles.ns_link_absolute}`} href={this.state.href} target={this.state?.target ?? "_self"} >
37
- {this.state.title}
38
- </a>
39
- </div>
40
- )
41
- }
11
+ return (
12
+ <div
13
+ id={props.id}
14
+ className={Styles.ns_link_parent}
15
+ style={props.style}
16
+ >
17
+ <a className={`text-white text-decoration-none ${props.title ? Styles.ns_link : Styles.ns_link_absolute}`} href={props.href} target={props?.target ?? "_self"} >
18
+ {props.title}
19
+ </a>
20
+ </div>
21
+ )
42
22
  }
@@ -1,27 +1,18 @@
1
- "use client";
2
-
3
- import { Component } from 'react';
4
1
  import Styles from './NSLoading.module.css';
5
2
  import { NSSection } from './NSSection';
6
- import { BackgroundProps } from '../props/BackgroundProps';
7
3
  import { BaseComponentProps } from "../props/BaseComponentProps";
8
4
 
9
5
  export interface NSLoadingProps extends BaseComponentProps
10
6
  {
11
- background?: BackgroundProps;
12
7
  }
13
8
 
14
- export class NSLoading extends Component<NSLoadingProps>
9
+ export function NSLoading(props: NSLoadingProps)
15
10
  {
16
- override render()
17
- {
18
- return (
19
- <NSSection background={this.props.background} >
20
- <div className={Styles.ns_loading_parent}>
21
- <div className={Styles.ns_loader}></div>
22
- </div>
23
- </NSSection>
24
- );
25
- }
11
+ return (
12
+ <NSSection {...props}>
13
+ <div className={Styles.ns_loading_parent}>
14
+ <div className={Styles.ns_loader}></div>
15
+ </div>
16
+ </NSSection>
17
+ );
26
18
  }
27
-
@@ -47,21 +47,26 @@ export class NSNotification extends React.Component<NSNotificationProps, NSNotif
47
47
 
48
48
  override render()
49
49
  {
50
- let style = Styles["ns_" + this.props.type.toString().toLowerCase];
50
+ let className = Styles["ns_" + this.props.type.toString().toLowerCase];
51
51
  return <>
52
- {this.state.show && (
53
- <div className={`${Styles.ns_messenger} ${style}`}>
54
- <p className={`mb-0 ns-font-16-normal`}>{this.props.title}</p>
55
- <img
56
- className={Styles.ns_exit_icon}
57
- src={Exit}
58
- alt="exit"
59
- width={32}
60
- height={32}
61
- onClick={() => this.handleDestroy()}
62
- />
63
- </div>
64
- )}
52
+ {
53
+ this.state.show && (
54
+ <div id={this.props.id}
55
+ className={`${Styles.ns_messenger} ${className}`}
56
+ style={this.props.style}
57
+ >
58
+ <p className={`mb-0 ns-font-16-normal`}>{this.props.title}</p>
59
+ <img
60
+ className={Styles.ns_exit_icon}
61
+ src={Exit}
62
+ alt="exit"
63
+ width={32}
64
+ height={32}
65
+ onClick={() => this.handleDestroy()}
66
+ />
67
+ </div>
68
+ )
69
+ }
65
70
  </>
66
71
  }
67
72
  }
@@ -15,8 +15,7 @@ export interface NSPaginationState
15
15
  size: number;
16
16
  page: number;
17
17
  }
18
-
19
- export class NSPagination extends Component<NSPaginationState, NSPaginationProps>
18
+ export class NSPagination extends Component<NSPaginationProps, NSPaginationState>
20
19
  {
21
20
  constructor(props: NSPaginationProps)
22
21
  {
@@ -88,7 +87,9 @@ export class NSPagination extends Component<NSPaginationState, NSPaginationProps
88
87
  );
89
88
 
90
89
  return (
91
- <div className={`${Styles.ns_pagination_container}`}>
90
+ <div id={this.props.id}
91
+ className={`${Styles.ns_pagination_container} ${this.props.classList?.join(" ")}`}
92
+ style={this.props.style}>
92
93
  {arr.map(x => (x))}
93
94
  </div>
94
95
  );
@@ -1,6 +1,4 @@
1
- "use client";
2
-
3
- import { Component, ReactNode } from "react";
1
+ import { ReactNode } from "react";
4
2
  import Styles from './NSPanel.module.css';
5
3
  import { BaseComponentProps } from "../props/BaseComponentProps";
6
4
 
@@ -9,23 +7,14 @@ export interface NSSectionProps extends BaseComponentProps
9
7
  children: ReactNode;
10
8
  grid: boolean;
11
9
  }
12
-
13
- export interface NSSectionState
14
- { }
15
-
16
- export class NSPanel extends Component<NSSectionProps, NSSectionState>
10
+ export function NSPanel(props: NSSectionProps)
17
11
  {
18
- constructor(props: NSSectionProps)
19
- {
20
- super(props);
21
- }
22
- override render()
23
- {
24
- return (
25
- <section
26
- className={this.props.grid ? Styles.ns_panel_grid : Styles.ns_panel_column} >
27
- {this.props.children}
28
- </section>
29
- );
30
- }
12
+ return (
13
+ <section id={props.id}
14
+ className={`${props.grid ? Styles.ns_panel_grid : Styles.ns_panel_column} ${props.classList?.join(" ")}`}
15
+ style={props.style}
16
+ >
17
+ {props.children}
18
+ </section>
19
+ );
31
20
  }
@@ -1,50 +1,24 @@
1
- "use client";
2
-
3
- import { Component, ReactNode } from "react";
1
+ import { ReactNode } from "react";
4
2
  import Styles from './NSSection.module.css'
5
- import { BackgroundProps } from "../props/BackgroundProps";
6
3
  import { BaseComponentProps } from "../props/BaseComponentProps";
7
4
 
8
5
  export interface NSSectionProps extends BaseComponentProps
9
6
  {
10
7
  children: ReactNode;
11
- background?: BackgroundProps;
12
8
  center_items?: boolean;
13
9
  }
14
10
 
15
- export interface NSSectionState
16
- {
17
- background?: BackgroundProps;
18
- }
19
-
20
- export class NSSection extends Component<NSSectionProps, NSSectionState>
11
+ export function NSSection(props: NSSectionProps)
21
12
  {
22
- constructor(props: NSSectionProps)
23
- {
24
- super(props);
25
- this.state = {
26
- background: {
27
- image: `url(${props.background?.image})`,
28
- color: props.background?.color,
29
- position: props.background?.position
30
- }
31
- }
32
- }
33
- override render()
34
- {
35
- let styles = [Styles.ns_section];
36
- if (this.props.center_items)
37
- styles.push(Styles.ns_section_center);
38
- return (
39
- <section style=
40
- {{
41
- backgroundImage: this.state.background?.image,
42
- backgroundColor: this.state.background?.color,
43
- backgroundPosition: this.state.background?.position
44
- }}
45
- className={styles.join(" ")} >
46
- {this.props.children}
47
- </section>
48
- );
49
- }
13
+ let styles = [Styles.ns_section];
14
+ if (props.center_items)
15
+ styles.push(Styles.ns_section_center);
16
+ return (
17
+ <section id={props.id}
18
+ className={`${styles.join(" ")} ${props.classList?.join(" ")}`}
19
+ style={props.style}
20
+ >
21
+ {props.children}
22
+ </section>
23
+ );
50
24
  }
@@ -1,35 +1,25 @@
1
- "use client";
2
-
3
- import { Component } from 'react';
4
1
  import Styles from './NSSectionBars.module.css';
5
2
  import { NSEntityBar, NSEntityBarProps } from './NSEntityBar';
6
3
  import { NSSection } from './NSSection';
7
- import { BackgroundProps } from '../props/BackgroundProps';
8
4
  import { NSSpace, NSSpaceSizeType } from './NSSpace';
9
5
  import { BaseComponentProps } from "../props/BaseComponentProps";
10
6
 
11
7
  export interface NSSectionBarsProps extends BaseComponentProps
12
8
  {
13
- background?: BackgroundProps;
14
9
  bars: NSEntityBarProps[]
15
10
  }
16
11
 
17
- export class NSSectionBars extends Component<NSSectionBarsProps>
12
+ export function NSSectionBars(props: NSSectionBarsProps)
18
13
  {
19
- override render()
20
- {
21
- return (
22
- <>
23
- <NSSection background={this.props.background} >
24
- <NSSpace size={NSSpaceSizeType.NORMAL} />
25
- <div className={`container mx-auto px-4 lg:px-12 ${Styles.ns_entity_bar_container}`}>
26
- {
27
- this.props.bars?.map((bar) => <NSEntityBar key={bar.id} {...bar} />)
28
- }
29
- </div>
30
- <NSSpace size={NSSpaceSizeType.NORMAL} />
31
- </NSSection>
32
- </>
33
- );
34
- }
14
+ return (
15
+ <NSSection {...props} >
16
+ <NSSpace size={NSSpaceSizeType.NORMAL} />
17
+ <div className={`container mx-auto px-4 lg:px-12 ${Styles.ns_entity_bar_container}`}>
18
+ {
19
+ props.bars?.map((bar) => <NSEntityBar key={bar.id} {...bar} />)
20
+ }
21
+ </div>
22
+ <NSSpace size={NSSpaceSizeType.NORMAL} />
23
+ </NSSection>
24
+ );
35
25
  }
@@ -1,67 +1,52 @@
1
- "use client";
2
-
3
- import { Component } from 'react';
4
1
  import Styles from './NSSectionCards.module.css';
5
- import { NSTitle } from './NSTitle';
2
+ import { NSTitle, NSTitleProps } from './NSTitle';
6
3
  import { NSCard, NSCardProps } from './NSCard';
7
4
  import { NSSection } from './NSSection';
8
5
  import { NSLinkBlue } from './NSLinkBlue';
9
- import { BackgroundProps } from '../props/BackgroundProps';
10
6
  import { NSSpace, NSSpaceSizeType } from './NSSpace';
11
7
  import { BaseComponentProps } from "../props/BaseComponentProps";
8
+ import { LinkProps } from '../props/LinkProps';
12
9
 
13
10
  export interface NSSectionCardsProps extends BaseComponentProps
14
11
  {
15
- title?: {
16
- text: string,
17
- color?: string
18
- };
12
+ title?: NSTitleProps;
19
13
  description?: {
20
14
  text: string,
21
15
  color?: string
22
16
  };
23
- background?: BackgroundProps
24
- button?: {
25
- href: string;
26
- title: string;
27
- };
17
+ button?: LinkProps;
28
18
  cards: NSCardProps[];
29
19
  }
30
20
 
31
- export class NSSectionCards extends Component<NSSectionCardsProps>
21
+ export function NSSectionCards(props: NSSectionCardsProps)
32
22
  {
33
- override render()
34
- {
35
- return (
36
- <>
37
- <NSSection background={this.props.background} >
38
- <NSSpace size={NSSpaceSizeType.NORMAL} />
39
- <div className={`container mx-auto px-4 lg:px-12 ${Styles.ns_section_cards_holder}`}>
40
- {
41
- this.props.title &&
42
- <div className={Styles.ns_section_cards_title_container}>
43
- <NSTitle color={this.props.title?.color} title={this.props.title?.text} />
44
- {
45
- this.props.description &&
46
- <p style={{ color: this.props.description?.color }} className={Styles.ns_description}> {this.props.description.text} </p>
47
- }
48
- </div>
49
- }
50
- <div className={` ${Styles.ns_card_container}`}>
51
- {
52
- this.props.cards?.map((card) => <NSCard key={card.id} {...card} />)
53
- }
54
- </div>
23
+ return (
24
+ <NSSection {...props} >
25
+ <NSSpace size={NSSpaceSizeType.NORMAL} />
26
+ <div className={`container mx-auto px-4 lg:px-12 ${Styles.ns_section_cards_holder}`}>
27
+ {
28
+ props.title &&
29
+ <div className={Styles.ns_section_cards_title_container}>
30
+ <NSTitle {...props.title} />
55
31
  {
56
- this.props.button &&
57
- <div className={`mt-12 w-full- text-center ${Styles.ns_section_cards_link_container}`}>
58
- <NSLinkBlue href={this.props.button?.href} title={this.props.button?.title} />
59
- </div>
32
+ props.description &&
33
+ <p style={{ color: props.description?.color }} className={Styles.ns_description}> {props.description.text} </p>
60
34
  }
61
35
  </div>
62
- <NSSpace size={NSSpaceSizeType.NORMAL} />
63
- </NSSection>
64
- </>
65
- );
66
- }
36
+ }
37
+ <div className={` ${Styles.ns_card_container}`}>
38
+ {
39
+ props.cards?.map((card) => <NSCard key={card.id} {...card} />)
40
+ }
41
+ </div>
42
+ {
43
+ props.button &&
44
+ <div className={`mt-12 w-full- text-center ${Styles.ns_section_cards_link_container}`}>
45
+ <NSLinkBlue {...props.button} />
46
+ </div>
47
+ }
48
+ </div>
49
+ <NSSpace size={NSSpaceSizeType.NORMAL} />
50
+ </NSSection>
51
+ );
67
52
  }
@@ -1,32 +1,22 @@
1
- "use client";
2
-
3
- import { Component, ReactNode } from 'react';
1
+ import { ReactNode } from 'react';
4
2
  import { NSSection } from './NSSection';
5
- import { NSTitle } from './NSTitle';
6
- import { BackgroundProps } from '../props/BackgroundProps';
3
+ import { NSTitle, NSTitleProps } from './NSTitle';
7
4
  import { NSSpace, NSSpaceSizeType } from './NSSpace';
8
5
  import { BaseComponentProps } from "../props/BaseComponentProps";
9
6
 
10
7
  export interface NSSectionTitleProps extends BaseComponentProps
11
8
  {
12
- title: {
13
- text: string,
14
- color?: string
15
- };
16
- background?: BackgroundProps
9
+ title: NSTitleProps;
17
10
  children: ReactNode
18
11
  }
19
12
 
20
- export class NSSectionTitle extends Component<NSSectionTitleProps>
13
+ export function NSSectionTitle(props: NSSectionTitleProps)
21
14
  {
22
- override render()
23
- {
24
- return (
25
- <NSSection background={this.props.background} >
26
- <NSSpace size={NSSpaceSizeType.NORMAL} />
27
- <NSTitle color={this.props.title.color} title={this.props.title.text} />
28
- {this.props.children}
29
- </NSSection>
30
- );
31
- }
15
+ return (
16
+ <NSSection {...props} >
17
+ <NSSpace size={NSSpaceSizeType.NORMAL} />
18
+ <NSTitle {...props.title} />
19
+ {props.children}
20
+ </NSSection>
21
+ );
32
22
  }
@@ -22,6 +22,8 @@ export enum NSSpaceSizeType
22
22
  export function NSSpace(props: NSSpaceProps)
23
23
  {
24
24
  return (
25
- <hr style={{ width: "100%", height: props.size, margin: "0px", padding: "0px", background: "transparent", color: "transparent", border: 0 }} />
25
+ <hr id={props.id}
26
+ className={props.classList?.join(" ")}
27
+ style={{ ...props.style, width: "100%", height: props.size, margin: "0px", padding: "0px", background: "transparent", color: "transparent", border: 0 }} />
26
28
  );
27
29
  }