namirasoft-site-react 1.3.61 → 1.3.63
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 +2 -2
- package/dist/App.js.map +1 -1
- package/dist/Validator.d.ts +7 -2
- package/dist/Validator.js +57 -15
- package/dist/Validator.js.map +1 -1
- package/dist/components/NSButton.module.css +1 -1
- package/dist/components/NSButtonBlue.js +5 -4
- package/dist/components/NSButtonBlue.js.map +1 -1
- package/dist/components/NSButtonGreen.js +5 -4
- package/dist/components/NSButtonGreen.js.map +1 -1
- package/dist/components/NSButtonRed.js +5 -4
- package/dist/components/NSButtonRed.js.map +1 -1
- package/dist/components/NSCard.module.css +2 -3
- package/dist/components/NSCopyToClipboard.js +1 -1
- package/dist/components/NSCopyToClipboard.js.map +1 -1
- package/dist/components/NSCopyToClipboard.module.css +1 -1
- package/dist/components/NSEntityBar.module.css +2 -2
- package/dist/components/NSEntityCardBackground.module.css +2 -2
- package/dist/components/NSFooter.js.map +1 -1
- package/dist/components/NSHeader.js +1 -1
- package/dist/components/NSHeader.js.map +1 -1
- package/dist/components/NSInput.module.css +29 -0
- package/dist/components/NSInputDate.d.ts +3 -1
- package/dist/components/NSInputDate.js +14 -4
- package/dist/components/NSInputDate.js.map +1 -1
- package/dist/components/NSInputDate.module.css +5 -2
- package/dist/components/NSInputDuration.d.ts +6 -1
- package/dist/components/NSInputDuration.js +15 -6
- package/dist/components/NSInputDuration.js.map +1 -1
- package/dist/components/NSInputEmail.d.ts +1 -1
- package/dist/components/NSInputEmail.js +5 -3
- package/dist/components/NSInputEmail.js.map +1 -1
- package/dist/components/NSInputFloat.d.ts +4 -4
- package/dist/components/NSInputFloat.js +8 -9
- package/dist/components/NSInputFloat.js.map +1 -1
- package/dist/components/NSInputIP.d.ts +5 -1
- package/dist/components/NSInputIP.js +17 -7
- package/dist/components/NSInputIP.js.map +1 -1
- package/dist/components/NSInputInteger.d.ts +9 -5
- package/dist/components/NSInputInteger.js +16 -8
- package/dist/components/NSInputInteger.js.map +1 -1
- package/dist/components/NSInputPassword.d.ts +5 -1
- package/dist/components/NSInputPassword.js +15 -6
- package/dist/components/NSInputPassword.js.map +1 -1
- package/dist/components/NSInputPhone.d.ts +8 -3
- package/dist/components/NSInputPhone.js +18 -12
- package/dist/components/NSInputPhone.js.map +1 -1
- package/dist/components/NSInputPrice.d.ts +7 -2
- package/dist/components/NSInputPrice.js +15 -7
- package/dist/components/NSInputPrice.js.map +1 -1
- package/dist/components/NSInputSearch.d.ts +6 -1
- package/dist/components/NSInputSearch.js +15 -6
- package/dist/components/NSInputSearch.js.map +1 -1
- package/dist/components/NSInputString.d.ts +5 -1
- package/dist/components/NSInputString.js +15 -6
- package/dist/components/NSInputString.js.map +1 -1
- package/dist/components/NSInputText.d.ts +5 -1
- package/dist/components/NSInputText.js +15 -6
- package/dist/components/NSInputText.js.map +1 -1
- package/dist/components/NSInputTime.d.ts +5 -1
- package/dist/components/NSInputTime.js +16 -6
- package/dist/components/NSInputTime.js.map +1 -1
- package/dist/components/NSLayoutTitle.d.ts +1 -4
- package/dist/components/NSLayoutTitle.js +7 -11
- package/dist/components/NSLayoutTitle.js.map +1 -1
- package/dist/components/NSLink.d.ts +5 -0
- package/dist/components/NSLink.js +7 -0
- package/dist/components/NSLink.js.map +1 -0
- package/dist/components/{NSLinkBlue.module.css → NSLink.module.css} +3 -3
- package/dist/components/NSLinkBlue.d.ts +2 -5
- package/dist/components/NSLinkBlue.js +2 -3
- package/dist/components/NSLinkBlue.js.map +1 -1
- package/dist/components/NSLinkGreen.d.ts +2 -16
- package/dist/components/NSLinkGreen.js +3 -18
- package/dist/components/NSLinkGreen.js.map +1 -1
- package/dist/components/NSLinkRed.d.ts +2 -16
- package/dist/components/NSLinkRed.js +3 -18
- package/dist/components/NSLinkRed.js.map +1 -1
- package/dist/components/NSNotification.d.ts +2 -10
- package/dist/components/NSNotification.js +4 -20
- package/dist/components/NSNotification.js.map +1 -1
- package/dist/components/NSPagination.d.ts +1 -9
- package/dist/components/NSPagination.js +25 -33
- package/dist/components/NSPagination.js.map +1 -1
- package/dist/components/NSSectionBars.d.ts +1 -0
- package/dist/components/NSSectionBars.js.map +1 -1
- package/dist/components/NSSectionCards.d.ts +1 -2
- package/dist/components/NSSectionCards.js +1 -1
- package/dist/components/NSSectionCards.js.map +1 -1
- package/dist/components/NSSectionTitle.d.ts +1 -2
- package/dist/components/NSSectionTitle.js +1 -1
- package/dist/components/NSSectionTitle.js.map +1 -1
- package/dist/components/NSSelectBox.d.ts +6 -3
- package/dist/components/NSSelectBox.js +21 -6
- package/dist/components/NSSelectBox.js.map +1 -1
- package/dist/components/NSSelectBox.module.css +3 -3
- package/dist/components/NSTable.js +1 -1
- package/dist/components/NSTable.js.map +1 -1
- package/dist/pages/NSLoginPage.d.ts +1 -4
- package/dist/pages/NSLoginPage.js +8 -11
- package/dist/pages/NSLoginPage.js.map +1 -1
- package/dist/pages/NSNotFoundPage.d.ts +1 -4
- package/dist/pages/NSNotFoundPage.js +2 -6
- package/dist/pages/NSNotFoundPage.js.map +1 -1
- package/dist/props/ValidationNumberProps.d.ts +1 -2
- package/dist/props/ValidationProps.d.ts +1 -0
- package/dist/props/ValidationStringProps.d.ts +1 -2
- package/package.json +4 -4
- package/src/App.tsx +13 -3
- package/src/Validator.ts +67 -18
- package/src/components/NSButton.module.css +1 -1
- package/src/components/NSButtonBlue.tsx +6 -4
- package/src/components/NSButtonGreen.tsx +5 -4
- package/src/components/NSButtonRed.tsx +5 -4
- package/src/components/NSCard.module.css +2 -3
- package/src/components/NSCopyToClipboard.module.css +1 -1
- package/src/components/NSCopyToClipboard.tsx +3 -3
- package/src/components/NSEntityBar.module.css +2 -2
- package/src/components/NSEntityCardBackground.module.css +2 -2
- package/src/components/NSHeader.tsx +3 -3
- package/src/components/NSInput.module.css +29 -0
- package/src/components/NSInputDate.module.css +5 -2
- package/src/components/NSInputDate.tsx +29 -12
- package/src/components/NSInputDuration.tsx +44 -23
- package/src/components/NSInputEmail.tsx +10 -5
- package/src/components/NSInputFloat.tsx +33 -32
- package/src/components/NSInputIP.tsx +44 -24
- package/src/components/NSInputInteger.tsx +48 -31
- package/src/components/NSInputPassword.tsx +42 -23
- package/src/components/NSInputPhone.tsx +45 -29
- package/src/components/NSInputPrice.tsx +45 -23
- package/src/components/NSInputSearch.tsx +43 -21
- package/src/components/NSInputString.tsx +42 -23
- package/src/components/NSInputText.tsx +42 -23
- package/src/components/NSInputTime.tsx +44 -23
- package/src/components/NSLayoutTitle.tsx +24 -30
- package/src/components/{NSLinkBlue.module.css → NSLink.module.css} +3 -3
- package/src/components/NSLink.tsx +22 -0
- package/src/components/NSLinkBlue.tsx +3 -19
- package/src/components/NSLinkGreen.tsx +3 -42
- package/src/components/NSLinkRed.tsx +3 -42
- package/src/components/NSNotification.tsx +19 -51
- package/src/components/NSPagination.tsx +56 -72
- package/src/components/NSSectionBars.tsx +1 -0
- package/src/components/NSSectionCards.tsx +3 -3
- package/src/components/NSSectionTitle.tsx +3 -3
- package/src/components/NSSelectBox.module.css +3 -3
- package/src/components/NSSelectBox.tsx +48 -23
- package/src/components/NSTable.tsx +1 -1
- package/src/pages/NSLoginPage.tsx +20 -24
- package/src/pages/NSNotFoundPage.tsx +7 -13
- package/src/props/ValidationNumberProps.ts +1 -3
- package/src/props/ValidationProps.ts +1 -0
- package/src/props/ValidationStringProps.ts +1 -3
- package/dist/components/NSInputDuration.module.css +0 -26
- package/dist/components/NSInputEmail.module.css +0 -38
- package/dist/components/NSInputFloat.module.css +0 -26
- package/dist/components/NSInputIP.module.css +0 -26
- package/dist/components/NSInputInteger.module.css +0 -26
- package/dist/components/NSInputPassword.module.css +0 -27
- package/dist/components/NSInputPhone.module.css +0 -33
- package/dist/components/NSInputPrice.module.css +0 -27
- package/dist/components/NSInputSearch.module.css +0 -27
- package/dist/components/NSInputString.module.css +0 -27
- package/dist/components/NSInputText.module.css +0 -28
- package/dist/components/NSInputTime.module.css +0 -27
- package/dist/components/NSLinkGreen.module.css +0 -16
- package/dist/components/NSLinkRed.module.css +0 -16
- package/src/components/NSInputDuration.module.css +0 -26
- package/src/components/NSInputEmail.module.css +0 -38
- package/src/components/NSInputFloat.module.css +0 -26
- package/src/components/NSInputIP.module.css +0 -26
- package/src/components/NSInputInteger.module.css +0 -26
- package/src/components/NSInputPassword.module.css +0 -27
- package/src/components/NSInputPhone.module.css +0 -33
- package/src/components/NSInputPrice.module.css +0 -27
- package/src/components/NSInputSearch.module.css +0 -27
- package/src/components/NSInputString.module.css +0 -27
- package/src/components/NSInputText.module.css +0 -28
- package/src/components/NSInputTime.module.css +0 -27
- package/src/components/NSLinkGreen.module.css +0 -16
- package/src/components/NSLinkRed.module.css +0 -16
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
1
|
import { BaseComponentProps } from '../props/BaseComponentProps';
|
|
4
2
|
import Styles from './NSPagination.module.css';
|
|
5
|
-
import { Component } from 'react';
|
|
6
3
|
|
|
7
4
|
export interface NSPaginationProps extends BaseComponentProps
|
|
8
5
|
{
|
|
@@ -10,88 +7,75 @@ export interface NSPaginationProps extends BaseComponentProps
|
|
|
10
7
|
page: number;
|
|
11
8
|
}
|
|
12
9
|
|
|
13
|
-
export
|
|
14
|
-
{
|
|
15
|
-
size: number;
|
|
16
|
-
page: number;
|
|
17
|
-
}
|
|
18
|
-
export class NSPagination extends Component<NSPaginationProps, NSPaginationState>
|
|
10
|
+
export function NSPagination(props: NSPaginationProps)
|
|
19
11
|
{
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
12
|
+
let page = props.page;
|
|
13
|
+
let size = props.size;
|
|
14
|
+
let window = 2;
|
|
15
|
+
let min = Math.max(2, page - window);
|
|
16
|
+
let max = Math.min(page + window, size - 1);
|
|
17
|
+
let arr = [];
|
|
18
|
+
let pushPage = (index: number) =>
|
|
26
19
|
{
|
|
27
|
-
|
|
28
|
-
let size = this.props.size;
|
|
29
|
-
let window = 2;
|
|
30
|
-
let min = Math.max(2, page - window);
|
|
31
|
-
let max = Math.min(page + window, size - 1);
|
|
32
|
-
let arr = [];
|
|
33
|
-
let pushPage = (index: number) =>
|
|
34
|
-
{
|
|
35
|
-
if (index == page)
|
|
36
|
-
arr.push(
|
|
37
|
-
<div className={`${Styles.ns_select_number_parent}`}>
|
|
38
|
-
<a href='#' className={`${Styles.ns_paginate_link} ${Styles.ns_select_number}`}>{index}</a>
|
|
39
|
-
</div>
|
|
40
|
-
);
|
|
41
|
-
else
|
|
42
|
-
arr.push(
|
|
43
|
-
<div>
|
|
44
|
-
<a href='#' className={`${Styles.ns_paginate_link}`}>{index}</a>
|
|
45
|
-
</div>
|
|
46
|
-
);
|
|
47
|
-
};
|
|
48
|
-
arr.push(
|
|
49
|
-
<div>
|
|
50
|
-
<a href='#'>
|
|
51
|
-
<img
|
|
52
|
-
src='https://static.namirasoft.com/icons/base/circle-chevron-left.png'
|
|
53
|
-
alt='left_vector'
|
|
54
|
-
width={32}
|
|
55
|
-
height={32}
|
|
56
|
-
/>
|
|
57
|
-
</a>
|
|
58
|
-
</div>
|
|
59
|
-
);
|
|
60
|
-
pushPage(1);
|
|
61
|
-
if (page > window * 2)
|
|
20
|
+
if (index == page)
|
|
62
21
|
arr.push(
|
|
63
|
-
<div>
|
|
64
|
-
<a href='#' className={`${Styles.ns_paginate_link}`}
|
|
22
|
+
<div className={`${Styles.ns_select_number_parent}`}>
|
|
23
|
+
<a href='#' className={`${Styles.ns_paginate_link} ${Styles.ns_select_number}`}>{index}</a>
|
|
65
24
|
</div>
|
|
66
25
|
);
|
|
67
|
-
|
|
68
|
-
pushPage(i);
|
|
69
|
-
if (page <= size - window * 2)
|
|
26
|
+
else
|
|
70
27
|
arr.push(
|
|
71
28
|
<div>
|
|
72
|
-
<a href='#' className={`${Styles.ns_paginate_link}`}
|
|
29
|
+
<a href='#' className={`${Styles.ns_paginate_link}`}>{index}</a>
|
|
73
30
|
</div>
|
|
74
31
|
);
|
|
75
|
-
|
|
32
|
+
};
|
|
33
|
+
arr.push(
|
|
34
|
+
<div>
|
|
35
|
+
<a href='#'>
|
|
36
|
+
<img
|
|
37
|
+
src='https://static.namirasoft.com/icons/base/circle-chevron-left.png'
|
|
38
|
+
alt='left_vector'
|
|
39
|
+
width={32}
|
|
40
|
+
height={32}
|
|
41
|
+
/>
|
|
42
|
+
</a>
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
pushPage(1);
|
|
46
|
+
if (page > window * 2)
|
|
76
47
|
arr.push(
|
|
77
48
|
<div>
|
|
78
|
-
<a href='#'>
|
|
79
|
-
<img
|
|
80
|
-
src='https://static.namirasoft.com/icons/base/circle-chevron-right.png'
|
|
81
|
-
width={32}
|
|
82
|
-
height={32}
|
|
83
|
-
alt='right_vector'
|
|
84
|
-
/>
|
|
85
|
-
</a>
|
|
49
|
+
<a href='#' className={`${Styles.ns_paginate_link}`}>...</a>
|
|
86
50
|
</div>
|
|
87
51
|
);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
{
|
|
52
|
+
for (let i = min; i <= max; i++)
|
|
53
|
+
pushPage(i);
|
|
54
|
+
if (page <= size - window * 2)
|
|
55
|
+
arr.push(
|
|
56
|
+
<div>
|
|
57
|
+
<a href='#' className={`${Styles.ns_paginate_link}`}>...</a>
|
|
94
58
|
</div>
|
|
95
59
|
);
|
|
96
|
-
|
|
60
|
+
pushPage(size);
|
|
61
|
+
arr.push(
|
|
62
|
+
<div>
|
|
63
|
+
<a href='#'>
|
|
64
|
+
<img
|
|
65
|
+
src='https://static.namirasoft.com/icons/base/circle-chevron-right.png'
|
|
66
|
+
width={32}
|
|
67
|
+
height={32}
|
|
68
|
+
alt='right_vector'
|
|
69
|
+
/>
|
|
70
|
+
</a>
|
|
71
|
+
</div>
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<div id={props.id}
|
|
76
|
+
className={`${Styles.ns_pagination_container} ${props.classList?.join(" ")}`}
|
|
77
|
+
style={props.style}>
|
|
78
|
+
{arr.map(x => (x))}
|
|
79
|
+
</div>
|
|
80
|
+
);
|
|
97
81
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Styles from './NSSectionCards.module.css';
|
|
2
|
-
import { NSTitle
|
|
2
|
+
import { NSTitle } from './NSTitle';
|
|
3
3
|
import { NSCard, NSCardProps } from './NSCard';
|
|
4
4
|
import { NSSection } from './NSSection';
|
|
5
5
|
import { NSLinkBlue } from './NSLinkBlue';
|
|
@@ -9,7 +9,7 @@ import { LinkProps } from '../props/LinkProps';
|
|
|
9
9
|
|
|
10
10
|
export interface NSSectionCardsProps extends BaseComponentProps
|
|
11
11
|
{
|
|
12
|
-
title?:
|
|
12
|
+
title?: string;
|
|
13
13
|
description?: {
|
|
14
14
|
text: string,
|
|
15
15
|
color?: string
|
|
@@ -27,7 +27,7 @@ export function NSSectionCards(props: NSSectionCardsProps)
|
|
|
27
27
|
{
|
|
28
28
|
props.title &&
|
|
29
29
|
<div className={Styles.ns_section_cards_title_container}>
|
|
30
|
-
<NSTitle {
|
|
30
|
+
<NSTitle title={props.title} />
|
|
31
31
|
{
|
|
32
32
|
props.description &&
|
|
33
33
|
<p style={{ color: props.description?.color }} className={Styles.ns_description}> {props.description.text} </p>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { NSSection } from './NSSection';
|
|
3
|
-
import { NSTitle
|
|
3
|
+
import { NSTitle } from './NSTitle';
|
|
4
4
|
import { NSSpace, NSSpaceSizeType } from './NSSpace';
|
|
5
5
|
import { BaseComponentProps } from "../props/BaseComponentProps";
|
|
6
6
|
|
|
7
7
|
export interface NSSectionTitleProps extends BaseComponentProps
|
|
8
8
|
{
|
|
9
|
-
title:
|
|
9
|
+
title: string;
|
|
10
10
|
children: ReactNode
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ export function NSSectionTitle(props: NSSectionTitleProps)
|
|
|
15
15
|
return (
|
|
16
16
|
<NSSection {...props} >
|
|
17
17
|
<NSSpace size={NSSpaceSizeType.NORMAL} />
|
|
18
|
-
<NSTitle {
|
|
18
|
+
<NSTitle title={props.title} />
|
|
19
19
|
{props.children}
|
|
20
20
|
</NSSection>
|
|
21
21
|
);
|
|
@@ -6,8 +6,11 @@ import { Select, Space } from 'antd';
|
|
|
6
6
|
import type { SelectProps } from 'antd';
|
|
7
7
|
import IconSelectBox from '../assets/images/icon-select-box.svg';
|
|
8
8
|
import { BaseComponentProps } from "../props/BaseComponentProps";
|
|
9
|
+
import { ValidationProps } from "../props/ValidationProps";
|
|
10
|
+
import { Validator } from "../Validator";
|
|
11
|
+
import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
|
|
9
12
|
|
|
10
|
-
export interface NSSelectBoxProps extends BaseComponentProps
|
|
13
|
+
export interface NSSelectBoxProps extends BaseComponentProps, ValidationProps
|
|
11
14
|
{
|
|
12
15
|
title: string;
|
|
13
16
|
options: SelectProps['options'];
|
|
@@ -17,6 +20,7 @@ export interface NSSelectBoxState
|
|
|
17
20
|
{
|
|
18
21
|
value: string | null;
|
|
19
22
|
values: string[];
|
|
23
|
+
error?: string;
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
export class NSSelectBox extends React.Component<NSSelectBoxProps, NSSelectBoxState>
|
|
@@ -31,43 +35,64 @@ export class NSSelectBox extends React.Component<NSSelectBoxProps, NSSelectBoxSt
|
|
|
31
35
|
this.getValues = this.getValues.bind(this);
|
|
32
36
|
this.setValues = this.setValues.bind(this);
|
|
33
37
|
}
|
|
34
|
-
|
|
38
|
+
getError(): string | null
|
|
35
39
|
{
|
|
36
|
-
|
|
40
|
+
return (
|
|
41
|
+
Validator.getError(this.props.title, this.state.value, this.props)
|
|
42
|
+
);
|
|
37
43
|
}
|
|
38
44
|
getValue(): string | null
|
|
39
45
|
{
|
|
46
|
+
let error = this.getError();
|
|
47
|
+
if (error)
|
|
48
|
+
{
|
|
49
|
+
this.setState({ error });
|
|
50
|
+
throw new Error(error);
|
|
51
|
+
}
|
|
40
52
|
return this.state.value;
|
|
41
53
|
}
|
|
42
|
-
|
|
54
|
+
setValue(value: string | null): void
|
|
43
55
|
{
|
|
44
|
-
this.setState({
|
|
56
|
+
this.setState({ value });
|
|
45
57
|
}
|
|
46
58
|
getValues(): string[]
|
|
47
59
|
{
|
|
60
|
+
let error = this.getError();
|
|
61
|
+
if (error)
|
|
62
|
+
{
|
|
63
|
+
this.setState({ error });
|
|
64
|
+
throw new Error(error);
|
|
65
|
+
}
|
|
48
66
|
return this.state.values;
|
|
49
67
|
}
|
|
68
|
+
setValues(values: string[]): void
|
|
69
|
+
{
|
|
70
|
+
this.setState({ values });
|
|
71
|
+
}
|
|
50
72
|
override render()
|
|
51
73
|
{
|
|
52
74
|
return (
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
{
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
<>
|
|
76
|
+
<div className={`${Styles.ns_input_parent} p-2`}>
|
|
77
|
+
<span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
|
|
78
|
+
<Select
|
|
79
|
+
mode="multiple"
|
|
80
|
+
style={{ width: '100%' }}
|
|
81
|
+
className={Styles.ns_input_select}
|
|
82
|
+
placeholder="Combo Box"
|
|
83
|
+
onChange={this.setValues}
|
|
84
|
+
optionLabelProp="label"
|
|
85
|
+
options={this.props.options}
|
|
86
|
+
optionRender={(option) => (
|
|
87
|
+
<Space className={Styles.ns_input_select_option}>
|
|
88
|
+
{option.data.desc}
|
|
89
|
+
</Space>
|
|
90
|
+
)}
|
|
91
|
+
suffixIcon={<img src={IconSelectBox} alt="SelectBox Icon" />}
|
|
92
|
+
/>
|
|
93
|
+
</div>
|
|
94
|
+
<NSInputErrorNotifier error={this.state.error} />
|
|
95
|
+
</>
|
|
71
96
|
);
|
|
72
97
|
}
|
|
73
98
|
}
|
|
@@ -59,7 +59,7 @@ export class NSTable<RowType> extends Component<NSTableProps<RowType>, NSTableSt
|
|
|
59
59
|
className={`container ${Styles.ns_project_list_container} ${this.props.classList?.join(" ")}`}
|
|
60
60
|
style={this.props.style}>
|
|
61
61
|
<section className={Styles.ns_search_input}>
|
|
62
|
-
<NSInputSearch />
|
|
62
|
+
<NSInputSearch title='' required={false} />
|
|
63
63
|
</section>
|
|
64
64
|
<NSSpace size={NSSpaceSizeType.SMALL} />
|
|
65
65
|
<table className={Styles.ns_table} >
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Component } from 'react';
|
|
2
1
|
import Styles from './NSLoginPage.module.css'
|
|
3
2
|
import { NSButtonGreen } from '../components/NSButtonGreen';
|
|
4
3
|
import { NSLinkBlue } from '../components/NSLinkBlue';
|
|
@@ -13,29 +12,26 @@ export interface NSLoginPageProps
|
|
|
13
12
|
onClick?: () => void;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
export
|
|
15
|
+
export function NSLoginPage(props: NSLoginPageProps)
|
|
17
16
|
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<div className={`${Styles.ns_logo}`}>
|
|
29
|
-
<img width={256} height={256} src={this.props.logo} alt={`${this.props.title} Logo`}></img>
|
|
30
|
-
</div>
|
|
31
|
-
<NSSpace size={NSSpaceSizeType.SMALL} />
|
|
32
|
-
<div><h1 className={`${Styles.ns_title}`}>{this.props.title}</h1></div>
|
|
33
|
-
<NSSpace size={NSSpaceSizeType.SMALL} />
|
|
34
|
-
<div className={`${Styles.ns_button}`}>
|
|
35
|
-
{button}
|
|
36
|
-
</div>
|
|
17
|
+
let button = <></>;
|
|
18
|
+
if (props.href)
|
|
19
|
+
button = <NSLinkBlue title="Login" href={props.href ?? ""} />;
|
|
20
|
+
else if (props.onClick)
|
|
21
|
+
button = <NSButtonGreen title="Login" onClick={props.onClick} />;
|
|
22
|
+
return (
|
|
23
|
+
<div style={{ backgroundImage: props.background, width: "100%", backgroundSize: "cover" }}>
|
|
24
|
+
<div className={`${Styles.ns_login_container}`} style={{ marginTop: "100px" }}>
|
|
25
|
+
<div className={`${Styles.ns_logo}`}>
|
|
26
|
+
<img width={256} height={256} src={props.logo} alt={`${props.title} Logo`}></img>
|
|
37
27
|
</div>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
<NSSpace size={NSSpaceSizeType.SMALL} />
|
|
29
|
+
<div><h1 className={`${Styles.ns_title}`}>{props.title}</h1></div>
|
|
30
|
+
<NSSpace size={NSSpaceSizeType.SMALL} />
|
|
31
|
+
<div className={`${Styles.ns_button}`}>
|
|
32
|
+
{button}
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div >
|
|
36
|
+
);
|
|
41
37
|
}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { Component } from 'react';
|
|
4
1
|
import Styles from './NSNotFoundPage.module.css'
|
|
5
2
|
import { NSLinkBlue } from '../main';
|
|
6
3
|
|
|
7
|
-
export
|
|
4
|
+
export function NSNotFoundPage()
|
|
8
5
|
{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
</>
|
|
16
|
-
);
|
|
17
|
-
}
|
|
6
|
+
return (
|
|
7
|
+
<>
|
|
8
|
+
<div className={Styles.ns_not_found_page}></div>
|
|
9
|
+
<NSLinkBlue href='/' target='_self' title='Back To Home' />``
|
|
10
|
+
</>
|
|
11
|
+
);
|
|
18
12
|
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
.ns_input_parent {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
width: 326px;
|
|
5
|
-
color: #fff;
|
|
6
|
-
position: relative;
|
|
7
|
-
max-width: 100%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.ns_input {
|
|
11
|
-
border-radius: 8px;
|
|
12
|
-
padding: 10px 12px;
|
|
13
|
-
font-size: 16px;
|
|
14
|
-
font-weight: 400;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ns_input_icon {
|
|
18
|
-
position: absolute;
|
|
19
|
-
right: 20px;
|
|
20
|
-
top: 51%;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.ns_input_title {
|
|
24
|
-
font-size: 16px;
|
|
25
|
-
font-weight: 400;
|
|
26
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
.ns_input_parent {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
width: 326px;
|
|
5
|
-
color: #fff;
|
|
6
|
-
position: relative;
|
|
7
|
-
max-width: 100%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.ns_input {
|
|
11
|
-
border-radius: 8px;
|
|
12
|
-
padding: 10px 12px;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.ns_input_icon {
|
|
16
|
-
position: absolute;
|
|
17
|
-
right: 20px;
|
|
18
|
-
top: 51%;
|
|
19
|
-
font-size: 16px;
|
|
20
|
-
font-weight: 400;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.ns_input_title {
|
|
24
|
-
font-size: 16px;
|
|
25
|
-
font-weight: 400;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.ns_input_error {
|
|
29
|
-
color: #FF3F3F !important;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.ns_input_error:focus {
|
|
33
|
-
color: #FF3F3F !important;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.ns_input_red {
|
|
37
|
-
border: 2px solid #FF3F3F;
|
|
38
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
.ns_input_parent {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
width: 326px;
|
|
5
|
-
color: #fff;
|
|
6
|
-
position: relative;
|
|
7
|
-
max-width: 100%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.ns_input {
|
|
11
|
-
border-radius: 8px;
|
|
12
|
-
padding: 10px 12px;
|
|
13
|
-
font-size: 16px;
|
|
14
|
-
font-weight: 400;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ns_input_icon {
|
|
18
|
-
position: absolute;
|
|
19
|
-
right: 20px;
|
|
20
|
-
top: 51%;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.ns_input_title {
|
|
24
|
-
font-size: 16px;
|
|
25
|
-
font-weight: 400;
|
|
26
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
.ns_input_parent {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
width: 326px;
|
|
5
|
-
color: #fff;
|
|
6
|
-
position: relative;
|
|
7
|
-
max-width: 100%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.ns_input {
|
|
11
|
-
border-radius: 8px;
|
|
12
|
-
padding: 10px 12px;
|
|
13
|
-
font-size: 16px;
|
|
14
|
-
font-weight: 400;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ns_input_icon {
|
|
18
|
-
position: absolute;
|
|
19
|
-
right: 20px;
|
|
20
|
-
top: 51%;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.ns_input_title {
|
|
24
|
-
font-size: 16px;
|
|
25
|
-
font-weight: 400;
|
|
26
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
.ns_input_parent {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
width: 326px;
|
|
5
|
-
color: #fff;
|
|
6
|
-
position: relative;
|
|
7
|
-
max-width: 100%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.ns_input {
|
|
11
|
-
border-radius: 8px;
|
|
12
|
-
padding: 10px 12px;
|
|
13
|
-
font-size: 16px;
|
|
14
|
-
font-weight: 400;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ns_input_icon {
|
|
18
|
-
position: absolute;
|
|
19
|
-
right: 20px;
|
|
20
|
-
top: 51%;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.ns_input_title {
|
|
24
|
-
font-size: 16px;
|
|
25
|
-
font-weight: 400;
|
|
26
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
.ns_input_parent {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
width: 326px;
|
|
5
|
-
color: #fff;
|
|
6
|
-
position: relative;
|
|
7
|
-
max-width: 100%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.ns_input {
|
|
11
|
-
border-radius: 8px;
|
|
12
|
-
padding: 10px 12px;
|
|
13
|
-
font-size: 16px;
|
|
14
|
-
font-weight: 400;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ns_input_icon {
|
|
18
|
-
position: absolute;
|
|
19
|
-
right: 20px;
|
|
20
|
-
top: 51%;
|
|
21
|
-
z-index: 1;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.ns_input_title {
|
|
25
|
-
font-size: 16px;
|
|
26
|
-
font-weight: 400;
|
|
27
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
.ns_input_parent {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
width: 326px;
|
|
5
|
-
|
|
6
|
-
position: relative;
|
|
7
|
-
max-width: 100%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.ns_input {
|
|
11
|
-
height: 48px !important;
|
|
12
|
-
font-size: 16px !important;
|
|
13
|
-
font-weight: 400;
|
|
14
|
-
width: 310px !important;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ns_input span {
|
|
18
|
-
color: #000 !important;
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.ns_input_icon {
|
|
23
|
-
position: absolute;
|
|
24
|
-
right: 20px;
|
|
25
|
-
top: 51%;
|
|
26
|
-
z-index: 1;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.ns_input_title {
|
|
30
|
-
color: #fff;
|
|
31
|
-
font-size: 16px;
|
|
32
|
-
font-weight: 400;
|
|
33
|
-
}
|