namirasoft-site-react 1.3.112 → 1.3.114

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 (124) hide show
  1. package/dist/App.js +4 -3
  2. package/dist/App.js.map +1 -1
  3. package/dist/components/{NSInputDate.d.ts → NSBoxDate.d.ts} +4 -4
  4. package/dist/components/{NSInputDate.js → NSBoxDate.js} +5 -5
  5. package/dist/components/NSBoxDate.js.map +1 -0
  6. package/dist/components/NSBoxDateTime.d.ts +21 -0
  7. package/dist/components/NSBoxDateTime.js +41 -0
  8. package/dist/components/NSBoxDateTime.js.map +1 -0
  9. package/dist/components/{NSInputInteger.d.ts → NSBoxDouble.d.ts} +5 -5
  10. package/dist/components/{NSInputPrice.js → NSBoxDouble.js} +8 -8
  11. package/dist/components/NSBoxDouble.js.map +1 -0
  12. package/dist/components/{NSInputDuration.d.ts → NSBoxDuration.d.ts} +4 -4
  13. package/dist/components/{NSInputDuration.js → NSBoxDuration.js} +5 -5
  14. package/dist/components/NSBoxDuration.js.map +1 -0
  15. package/dist/components/{NSInputTime.d.ts → NSBoxEmail.d.ts} +5 -5
  16. package/dist/components/{NSInputEmail.js → NSBoxEmail.js} +5 -5
  17. package/dist/components/NSBoxEmail.js.map +1 -0
  18. package/dist/components/NSBoxEntity.d.ts +12 -0
  19. package/dist/components/NSBoxEntity.js +10 -0
  20. package/dist/components/NSBoxEntity.js.map +1 -0
  21. package/dist/components/NSBoxEnum.d.ts +7 -0
  22. package/dist/components/NSBoxEnum.js +38 -0
  23. package/dist/components/NSBoxEnum.js.map +1 -0
  24. package/dist/components/NSBoxErrorNotifier.d.ts +5 -0
  25. package/dist/components/{NSInputErrorNotifier.js → NSBoxErrorNotifier.js} +3 -3
  26. package/dist/components/NSBoxErrorNotifier.js.map +1 -0
  27. package/dist/components/{NSInputIP.d.ts → NSBoxIPV4.d.ts} +4 -4
  28. package/dist/components/{NSInputIP.js → NSBoxIPV4.js} +6 -5
  29. package/dist/components/NSBoxIPV4.js.map +1 -0
  30. package/dist/components/{NSInputEmail.d.ts → NSBoxIPV6.d.ts} +5 -5
  31. package/dist/components/NSBoxIPV6.js +44 -0
  32. package/dist/components/NSBoxIPV6.js.map +1 -0
  33. package/dist/components/{NSInputFloat.d.ts → NSBoxInteger.d.ts} +5 -5
  34. package/dist/components/{NSInputInteger.js → NSBoxInteger.js} +5 -5
  35. package/dist/components/NSBoxInteger.js.map +1 -0
  36. package/dist/components/{NSInputString.d.ts → NSBoxPassword.d.ts} +4 -4
  37. package/dist/components/{NSInputPassword.js → NSBoxPassword.js} +5 -5
  38. package/dist/components/NSBoxPassword.js.map +1 -0
  39. package/dist/components/{NSInputPhone.d.ts → NSBoxPhone.d.ts} +4 -4
  40. package/dist/components/{NSInputPhone.js → NSBoxPhone.js} +5 -5
  41. package/dist/components/NSBoxPhone.js.map +1 -0
  42. package/dist/components/{NSInputPrice.d.ts → NSBoxPrice.d.ts} +5 -5
  43. package/dist/components/{NSInputFloat.js → NSBoxPrice.js} +5 -5
  44. package/dist/components/NSBoxPrice.js.map +1 -0
  45. package/dist/components/{NSInputSearch.d.ts → NSBoxSearch.d.ts} +4 -4
  46. package/dist/components/{NSInputSearch.js → NSBoxSearch.js} +5 -5
  47. package/dist/components/NSBoxSearch.js.map +1 -0
  48. package/dist/components/{NSInputText.d.ts → NSBoxString.d.ts} +4 -4
  49. package/dist/components/{NSInputString.js → NSBoxString.js} +5 -5
  50. package/dist/components/NSBoxString.js.map +1 -0
  51. package/dist/components/NSBoxText.d.ts +22 -0
  52. package/dist/components/{NSInputText.js → NSBoxText.js} +5 -5
  53. package/dist/components/NSBoxText.js.map +1 -0
  54. package/dist/components/NSBoxTime.d.ts +22 -0
  55. package/dist/components/{NSInputTime.js → NSBoxTime.js} +5 -5
  56. package/dist/components/NSBoxTime.js.map +1 -0
  57. package/dist/components/NSHeader.module.css +4 -3
  58. package/dist/components/NSSelectBox.d.ts +1 -0
  59. package/dist/components/NSSelectBox.js +3 -2
  60. package/dist/components/NSSelectBox.js.map +1 -1
  61. package/dist/components/NSTable.js +2 -2
  62. package/dist/components/NSTable.js.map +1 -1
  63. package/dist/main.d.ts +15 -14
  64. package/dist/main.js +15 -14
  65. package/dist/main.js.map +1 -1
  66. package/package.json +2 -2
  67. package/src/App.tsx +13 -2
  68. package/src/components/NSBoxDate.tsx +81 -0
  69. package/src/components/NSBoxDateTime.tsx +81 -0
  70. package/src/components/NSBoxDouble.tsx +92 -0
  71. package/src/components/NSBoxDuration.tsx +91 -0
  72. package/src/components/NSBoxEmail.tsx +90 -0
  73. package/src/components/NSBoxEntity.tsx +29 -0
  74. package/src/components/NSBoxEnum.tsx +54 -0
  75. package/src/components/NSBoxErrorNotifier.tsx +28 -0
  76. package/src/components/NSBoxIPV4.tsx +96 -0
  77. package/src/components/NSBoxIPV6.tsx +93 -0
  78. package/src/components/NSBoxInteger.tsx +89 -0
  79. package/src/components/NSBoxPassword.tsx +89 -0
  80. package/src/components/NSBoxPhone.tsx +83 -0
  81. package/src/components/NSBoxPrice.tsx +91 -0
  82. package/src/components/{NSInputSearch.tsx → NSBoxSearch.tsx} +9 -9
  83. package/src/components/NSBoxString.tsx +89 -0
  84. package/src/components/NSBoxText.tsx +89 -0
  85. package/src/components/NSBoxTime.tsx +91 -0
  86. package/src/components/NSHeader.module.css +4 -3
  87. package/src/components/NSSelectBox.tsx +94 -93
  88. package/src/components/NSTable.tsx +130 -130
  89. package/src/main.ts +15 -14
  90. package/dist/components/NSInputDate.js.map +0 -1
  91. package/dist/components/NSInputDuration.js.map +0 -1
  92. package/dist/components/NSInputEmail.js.map +0 -1
  93. package/dist/components/NSInputErrorNotifier.d.ts +0 -5
  94. package/dist/components/NSInputErrorNotifier.js.map +0 -1
  95. package/dist/components/NSInputFloat.js.map +0 -1
  96. package/dist/components/NSInputIP.js.map +0 -1
  97. package/dist/components/NSInputInteger.js.map +0 -1
  98. package/dist/components/NSInputPassword.d.ts +0 -22
  99. package/dist/components/NSInputPassword.js.map +0 -1
  100. package/dist/components/NSInputPhone.js.map +0 -1
  101. package/dist/components/NSInputPrice.js.map +0 -1
  102. package/dist/components/NSInputSearch.js.map +0 -1
  103. package/dist/components/NSInputString.js.map +0 -1
  104. package/dist/components/NSInputText.js.map +0 -1
  105. package/dist/components/NSInputTime.js.map +0 -1
  106. package/src/components/NSInputDate.tsx +0 -81
  107. package/src/components/NSInputDuration.tsx +0 -91
  108. package/src/components/NSInputEmail.tsx +0 -90
  109. package/src/components/NSInputErrorNotifier.tsx +0 -28
  110. package/src/components/NSInputFloat.tsx +0 -89
  111. package/src/components/NSInputIP.tsx +0 -90
  112. package/src/components/NSInputInteger.tsx +0 -89
  113. package/src/components/NSInputPassword.tsx +0 -89
  114. package/src/components/NSInputPhone.tsx +0 -83
  115. package/src/components/NSInputPrice.tsx +0 -90
  116. package/src/components/NSInputString.tsx +0 -89
  117. package/src/components/NSInputText.tsx +0 -89
  118. package/src/components/NSInputTime.tsx +0 -91
  119. /package/dist/components/{NSInput.module.css → NSBox.module.css} +0 -0
  120. /package/dist/components/{NSInputDate.module.css → NSBoxDate.module.css} +0 -0
  121. /package/dist/components/{NSInputErrorNotifier.module.css → NSBoxErrorNotifier.module.css} +0 -0
  122. /package/src/components/{NSInput.module.css → NSBox.module.css} +0 -0
  123. /package/src/components/{NSInputDate.module.css → NSBoxDate.module.css} +0 -0
  124. /package/src/components/{NSInputErrorNotifier.module.css → NSBoxErrorNotifier.module.css} +0 -0
@@ -0,0 +1,89 @@
1
+ "use client";
2
+
3
+ import React from "react";
4
+ import Styles from "./NSBox.module.css";
5
+ import IconInputString from '../assets/images/icon-input-string.svg';
6
+ import { IBaseComponentProps } from "../props/IBaseComponentProps";
7
+ import { IValidationProps } from "../props/IValidationProps";
8
+ import { IValidationStringProps } from "../props/IValidationStringProps";
9
+ import { Validator } from "../Validator";
10
+ import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
11
+
12
+ export interface INSBoxStringProps extends IBaseComponentProps, IValidationProps, IValidationStringProps
13
+ {
14
+ title: string;
15
+ defaultValue?: string;
16
+ onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
17
+ placeholder?: string;
18
+ }
19
+
20
+ export interface INSBoxStringState
21
+ {
22
+ value: string;
23
+ error?: string;
24
+ }
25
+
26
+ export class NSBoxString extends React.Component<INSBoxStringProps, INSBoxStringState>
27
+ {
28
+ constructor(props: INSBoxStringProps)
29
+ {
30
+ super(props);
31
+ this.state = { value: props.defaultValue ?? "" };
32
+ this.getValue = this.getValue.bind(this);
33
+ this.setValue = this.setValue.bind(this);
34
+ this.onChanged = this.onChanged.bind(this);
35
+ }
36
+ getError(): string | null
37
+ {
38
+ return (
39
+ Validator.getError(this.props.title, this.state.value, this.props) &&
40
+ Validator.getErrorString(this.props.title, this.state.value, this.props)
41
+ );
42
+ }
43
+ getValue(): string
44
+ {
45
+ let error = this.getError();
46
+ if (error)
47
+ {
48
+ this.setState({ error });
49
+ throw new Error(error);
50
+ }
51
+ return this.state.value;
52
+ }
53
+ setValue(value: string): void
54
+ {
55
+ this.setState({ value });
56
+ }
57
+ private onChanged(e: React.ChangeEvent<HTMLInputElement>): void
58
+ {
59
+ this.setValue(e.target.value);
60
+ if (this.props.onChanged)
61
+ this.props.onChanged(e);
62
+ }
63
+ override render()
64
+ {
65
+ return (
66
+ <>
67
+ <div className={`${Styles.ns_input_parent} p-2 ${this.props.classList?.join(" ")}`} style={this.props.style}>
68
+ <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
69
+ <img
70
+ className={Styles.ns_input_icon}
71
+ src={IconInputString}
72
+ alt="String Icon"
73
+ width={24}
74
+ height={24}
75
+ />
76
+ <input
77
+ id={this.props.id}
78
+ value={this.state.value}
79
+ onChange={this.onChanged}
80
+ type="text"
81
+ className={Styles.ns_input}
82
+ placeholder={this.props.placeholder}
83
+ />
84
+ </div>
85
+ <NSBoxErrorNotifier error={this.state.error} />
86
+ </>
87
+ );
88
+ }
89
+ }
@@ -0,0 +1,89 @@
1
+ "use client";
2
+
3
+ import React from "react";
4
+ import Styles from "./NSBox.module.css";
5
+ import IconInputText from '../assets/images/icon-input-text.svg';
6
+ import { IBaseComponentProps } from "../props/IBaseComponentProps";
7
+ import { IValidationProps } from "../props/IValidationProps";
8
+ import { IValidationStringProps } from "../props/IValidationStringProps";
9
+ import { Validator } from "../Validator";
10
+ import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
11
+
12
+ export interface INSBoxTextProps extends IBaseComponentProps, IValidationProps, IValidationStringProps
13
+ {
14
+ title: string;
15
+ defaultValue?: string;
16
+ onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
17
+ placeholder?: string;
18
+ }
19
+
20
+ export interface INSBoxTextState
21
+ {
22
+ value: string;
23
+ error?: string;
24
+ }
25
+
26
+ export class NSBoxText extends React.Component<INSBoxTextProps, INSBoxTextState>
27
+ {
28
+ constructor(props: INSBoxTextProps)
29
+ {
30
+ super(props);
31
+ this.state = { value: props.defaultValue ?? "" };
32
+ this.getValue = this.getValue.bind(this);
33
+ this.setValue = this.setValue.bind(this);
34
+ this.onChanged = this.onChanged.bind(this);
35
+ }
36
+ getError(): string | null
37
+ {
38
+ return (
39
+ Validator.getError(this.props.title, this.state.value, this.props) &&
40
+ Validator.getErrorString(this.props.title, this.state.value, this.props)
41
+ );
42
+ }
43
+ getValue(): string
44
+ {
45
+ let error = this.getError();
46
+ if (error)
47
+ {
48
+ this.setState({ error });
49
+ throw new Error(error);
50
+ }
51
+ return this.state.value;
52
+ }
53
+ setValue(value: string): void
54
+ {
55
+ this.setState({ value });
56
+ }
57
+ private onChanged(e: React.ChangeEvent<HTMLInputElement>): void
58
+ {
59
+ this.setValue(e.target.value);
60
+ if (this.props.onChanged)
61
+ this.props.onChanged(e);
62
+ }
63
+ override render()
64
+ {
65
+ return (
66
+ <>
67
+ <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
68
+ <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
69
+ <img
70
+ className={Styles.ns_input_icon}
71
+ src={IconInputText}
72
+ alt="Text Icon"
73
+ width={24}
74
+ height={24}
75
+ />
76
+ <input
77
+ id={this.props.id}
78
+ value={this.state.value}
79
+ onChange={this.onChanged}
80
+ type="text"
81
+ className={Styles.ns_input}
82
+ placeholder={this.props.placeholder}
83
+ />
84
+ </div>
85
+ <NSBoxErrorNotifier error={this.state.error} />
86
+ </>
87
+ );
88
+ }
89
+ }
@@ -0,0 +1,91 @@
1
+ "use client";
2
+
3
+ import React from "react";
4
+ import Styles from "./NSBox.module.css";
5
+ import IconInputTime from '../assets/images/icon-input-time.svg';
6
+ import { IBaseComponentProps } from "../props/IBaseComponentProps";
7
+ import { IValidationProps } from "../props/IValidationProps";
8
+ import { IValidationStringProps } from "../props/IValidationStringProps";
9
+ import { Validator } from "../Validator";
10
+ import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
11
+
12
+ export interface INSBoxTimeProps extends IBaseComponentProps, IValidationProps, IValidationStringProps
13
+ {
14
+ title: string;
15
+ defaultValue?: string;
16
+ onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
17
+ placeholder?: string;
18
+ }
19
+
20
+ export interface INSBoxTimeState
21
+ {
22
+ value: string;
23
+ error?: string;
24
+ }
25
+
26
+ export class NSBoxTime extends React.Component<INSBoxTimeProps, INSBoxTimeState>
27
+ {
28
+ constructor(props: INSBoxTimeProps)
29
+ {
30
+ super(props);
31
+ this.state = { value: props.defaultValue ?? "" };
32
+ this.getValue = this.getValue.bind(this);
33
+ this.setValue = this.setValue.bind(this);
34
+ this.onChanged = this.onChanged.bind(this);
35
+ }
36
+ getError(): string | null
37
+ {
38
+ return (
39
+ Validator.getError(this.props.title, this.state.value, this.props) &&
40
+ Validator.getErrorString(this.props.title, this.state.value, this.props) &&
41
+ Validator.getErrorTime(this.props.title, this.state.value)
42
+ );
43
+ }
44
+ getValue(): string
45
+ {
46
+ let error = this.getError();
47
+ if (error)
48
+ {
49
+ this.setState({ error });
50
+ throw new Error(error);
51
+ }
52
+ return this.state.value;
53
+ }
54
+ setValue(value: string): void
55
+ {
56
+ this.setState({ value });
57
+ }
58
+ private onChanged(e: React.ChangeEvent<HTMLInputElement>): void
59
+ {
60
+ this.setValue(e.target.value);
61
+ if (this.props.onChanged)
62
+ this.props.onChanged(e);
63
+ }
64
+ override render()
65
+ {
66
+ return (
67
+ <>
68
+ <div className={`${Styles.ns_input_parent} p-2 ${this.props.classList?.join(" ")}`} style={this.props.style}>
69
+ <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
70
+ <img
71
+ className={Styles.ns_input_icon}
72
+ src={IconInputTime}
73
+ alt="Time Icon"
74
+ width={24}
75
+ height={24}
76
+ />
77
+ <input
78
+ id={this.props.id}
79
+ value={this.state.value}
80
+ onChange={this.onChanged}
81
+ type="time"
82
+ className={Styles.ns_input}
83
+ placeholder={this.props.placeholder}
84
+ step="2"
85
+ />
86
+ </div>
87
+ <NSBoxErrorNotifier error={this.state.error} />
88
+ </>
89
+ );
90
+ }
91
+ }
@@ -187,22 +187,23 @@
187
187
 
188
188
  .ns_navbar_first_level_item a {
189
189
  color: #fff;
190
+ padding-top: 12px;
190
191
  }
191
192
 
192
193
  .ns_navbar_second_level_item a {
193
194
  color: #000 !important;
194
195
  width: 100%;
195
- padding: 10px;
196
+ padding: 10px;
196
197
  }
197
198
 
198
199
  .ns_navbar_first_level_item {
199
200
  color: #fff;
200
- padding-top: 12px;
201
- padding-bottom: 12px;
202
201
  }
203
202
 
204
203
  .ns_navbar_second_level_item {
205
204
  color: #000 !important;
205
+ width: 100%;
206
+ padding: 10px;
206
207
  }
207
208
 
208
209
  .ns_navbar_username {
@@ -7,108 +7,109 @@ import IconSelectBox from '../assets/images/icon-select-box.svg';
7
7
  import { IBaseComponentProps } from "../props/IBaseComponentProps";
8
8
  import { IValidationProps } from "../props/IValidationProps";
9
9
  import { Validator } from "../Validator";
10
- import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
10
+ import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
11
11
 
12
12
  export interface INSSelectBoxProps extends IBaseComponentProps, IValidationProps
13
13
  {
14
- title: string;
15
- options: SelectProps['options'];
16
- multiple: boolean;
14
+ title: string;
15
+ options: SelectProps['options'];
16
+ multiple: boolean;
17
+ placeHolder?: string;
17
18
  }
18
19
 
19
20
  export interface NSSelectBoxState
20
21
  {
21
- value: string | null;
22
- values: string[];
23
- error?: string;
22
+ value: string | null;
23
+ values: string[];
24
+ error?: string;
24
25
  }
25
26
 
26
27
  export class NSSelectBox extends React.Component<INSSelectBoxProps, NSSelectBoxState>
27
28
  {
28
- constructor(props: INSSelectBoxProps)
29
- {
30
- super(props);
31
- this.state = {
32
- value: null,
33
- values: [],
34
- };
35
- this.getValues = this.getValues.bind(this);
36
- this.setValues = this.setValues.bind(this);
37
- this.setValue = this.setValue.bind(this);
38
- this.getValue = this.getValue.bind(this);
39
- this.handleChange = this.handleChange.bind(this);
40
- }
41
- getError(value: string): string | null
42
- {
43
- return (
44
- Validator.getError(this.props.title, value, this.props)
45
- );
46
- }
47
- getValue(): string | null
48
- {
49
- let error = this.getError(this.state.value || "");
50
- if (error)
51
- {
52
- this.setState({ error });
53
- throw new Error(error);
54
- }
55
- return this.state.value;
56
- }
57
- getValues(): string[]
58
- {
59
- this.state.values.forEach(value =>
60
- {
61
- let error = this.getError(value || "");
62
- if (error)
63
- {
64
- this.setState({ error });
65
- throw new Error(error);
66
- }
67
- });
68
- return this.state.values;
69
- }
70
- setValue(value: string | null): void
71
- {
72
- this.setState({ value });
73
- }
74
- setValues(values: string[]): void
75
- {
76
- this.setState({ values });
77
- }
78
- handleChange(value: string | null | string[]): void
79
- {
80
- if (this.props.multiple)
81
- {
82
- this.setValues(value as string[]);
83
- } else
84
- {
85
- this.setValue(value as string | null);
86
- }
87
- }
88
- override render()
89
- {
90
- return (
91
- <>
92
- <div className={`${Styles.ns_input_parent}`}>
93
- <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
94
- <Select
95
- mode={this.props.multiple ? "multiple" : undefined}
96
- style={{ width: '100%' }}
97
- className={Styles.ns_input_select}
98
- placeholder="Combo Box"
99
- onChange={this.handleChange}
100
- optionLabelProp="label"
101
- options={this.props.options}
102
- optionRender={(option) => (
103
- <Space className={Styles.ns_input_select_option}>
104
- {option.data.desc}
105
- </Space>
106
- )}
107
- suffixIcon={<img src={IconSelectBox} alt="SelectBox Icon" />}
108
- />
109
- </div>
110
- <NSInputErrorNotifier error={this.state.error} />
111
- </>
112
- );
113
- }
29
+ constructor(props: INSSelectBoxProps)
30
+ {
31
+ super(props);
32
+ this.state = {
33
+ value: null,
34
+ values: [],
35
+ };
36
+ this.getValues = this.getValues.bind(this);
37
+ this.setValues = this.setValues.bind(this);
38
+ this.setValue = this.setValue.bind(this);
39
+ this.getValue = this.getValue.bind(this);
40
+ this.handleChange = this.handleChange.bind(this);
41
+ }
42
+ getError(value: string): string | null
43
+ {
44
+ return (
45
+ Validator.getError(this.props.title, value, this.props)
46
+ );
47
+ }
48
+ getValue(): string | null
49
+ {
50
+ let error = this.getError(this.state.value || "");
51
+ if (error)
52
+ {
53
+ this.setState({ error });
54
+ throw new Error(error);
55
+ }
56
+ return this.state.value;
57
+ }
58
+ getValues(): string[]
59
+ {
60
+ this.state.values.forEach(value =>
61
+ {
62
+ let error = this.getError(value || "");
63
+ if (error)
64
+ {
65
+ this.setState({ error });
66
+ throw new Error(error);
67
+ }
68
+ });
69
+ return this.state.values;
70
+ }
71
+ setValue(value: string | null): void
72
+ {
73
+ this.setState({ value });
74
+ }
75
+ setValues(values: string[]): void
76
+ {
77
+ this.setState({ values });
78
+ }
79
+ handleChange(value: string | null | string[]): void
80
+ {
81
+ if (this.props.multiple)
82
+ {
83
+ this.setValues(value as string[]);
84
+ } else
85
+ {
86
+ this.setValue(value as string | null);
87
+ }
88
+ }
89
+ override render()
90
+ {
91
+ return (
92
+ <>
93
+ <div className={`${Styles.ns_input_parent}`}>
94
+ <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
95
+ <Select
96
+ mode={this.props.multiple ? "multiple" : undefined}
97
+ style={{ width: '100%' }}
98
+ className={Styles.ns_input_select}
99
+ placeholder={this.props.placeHolder ?? "Combo Box"}
100
+ onChange={this.handleChange}
101
+ optionLabelProp="label"
102
+ options={this.props.options}
103
+ optionRender={(option) => (
104
+ <Space className={Styles.ns_input_select_option}>
105
+ {option.data.desc}
106
+ </Space>
107
+ )}
108
+ suffixIcon={<img src={IconSelectBox} alt="SelectBox Icon" />}
109
+ />
110
+ </div>
111
+ <NSBoxErrorNotifier error={this.state.error} />
112
+ </>
113
+ );
114
+ }
114
115
  }