namirasoft-site-react 1.3.196 → 1.3.198

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 (61) hide show
  1. package/dist/App.js +11 -2
  2. package/dist/App.js.map +1 -1
  3. package/dist/components/NSBox.module.css +3 -30
  4. package/dist/components/NSBoxBoolean.js.map +1 -1
  5. package/dist/components/NSBoxDouble.js +1 -1
  6. package/dist/components/NSBoxDouble.js.map +1 -1
  7. package/dist/components/NSBoxDuration.js +1 -1
  8. package/dist/components/NSBoxDuration.js.map +1 -1
  9. package/dist/components/NSBoxEmail.js +1 -1
  10. package/dist/components/NSBoxEmail.js.map +1 -1
  11. package/dist/components/NSBoxIPV4.js +1 -1
  12. package/dist/components/NSBoxIPV4.js.map +1 -1
  13. package/dist/components/NSBoxIPV6.js +1 -1
  14. package/dist/components/NSBoxIPV6.js.map +1 -1
  15. package/dist/components/NSBoxInteger.js +1 -1
  16. package/dist/components/NSBoxInteger.js.map +1 -1
  17. package/dist/components/NSBoxLabel.d.ts +11 -0
  18. package/dist/components/NSBoxLabel.js +10 -0
  19. package/dist/components/NSBoxLabel.js.map +1 -0
  20. package/dist/components/NSBoxLabel.module.css +13 -0
  21. package/dist/components/NSBoxPassword.js +1 -1
  22. package/dist/components/NSBoxPassword.js.map +1 -1
  23. package/dist/components/NSBoxPhone.js +5 -2
  24. package/dist/components/NSBoxPhone.js.map +1 -1
  25. package/dist/components/NSBoxPrice.js +1 -1
  26. package/dist/components/NSBoxPrice.js.map +1 -1
  27. package/dist/components/NSBoxSearch.js +2 -1
  28. package/dist/components/NSBoxSearch.js.map +1 -1
  29. package/dist/components/NSBoxString.js +1 -1
  30. package/dist/components/NSBoxString.js.map +1 -1
  31. package/dist/components/NSBoxText.js +1 -1
  32. package/dist/components/NSBoxText.js.map +1 -1
  33. package/dist/components/NSBoxTextArea.js +5 -1
  34. package/dist/components/NSBoxTextArea.js.map +1 -1
  35. package/dist/components/NSBoxTextArea.module.css +6 -2
  36. package/dist/components/NSBoxTime.js +1 -1
  37. package/dist/components/NSBoxTime.js.map +1 -1
  38. package/dist/components/NSTabPage.module.css +4 -0
  39. package/package.json +1 -1
  40. package/src/App.css +5 -1
  41. package/src/App.tsx +25 -3
  42. package/src/components/NSBox.module.css +3 -30
  43. package/src/components/NSBoxBoolean.tsx +0 -1
  44. package/src/components/NSBoxDouble.tsx +2 -7
  45. package/src/components/NSBoxDuration.tsx +1 -7
  46. package/src/components/NSBoxEmail.tsx +4 -9
  47. package/src/components/NSBoxIPV4.tsx +1 -7
  48. package/src/components/NSBoxIPV6.tsx +1 -7
  49. package/src/components/NSBoxInteger.tsx +1 -7
  50. package/src/components/NSBoxLabel.module.css +13 -0
  51. package/src/components/NSBoxLabel.tsx +29 -0
  52. package/src/components/NSBoxPassword.tsx +1 -7
  53. package/src/components/NSBoxPhone.tsx +7 -10
  54. package/src/components/NSBoxPrice.tsx +1 -7
  55. package/src/components/NSBoxSearch.tsx +2 -8
  56. package/src/components/NSBoxString.tsx +2 -8
  57. package/src/components/NSBoxText.tsx +3 -8
  58. package/src/components/NSBoxTextArea.module.css +6 -2
  59. package/src/components/NSBoxTextArea.tsx +8 -11
  60. package/src/components/NSBoxTime.tsx +1 -7
  61. package/src/components/NSTabPage.module.css +4 -0
@@ -14,6 +14,7 @@
14
14
  align-items: center;
15
15
  position: relative;
16
16
  width: 100%;
17
+ height: 100%;
17
18
  }
18
19
 
19
20
  .ns_text_area_icon_container {
@@ -38,6 +39,8 @@
38
39
  }
39
40
 
40
41
  .ns_btn_box {
42
+ opacity: 0;
43
+ visibility: hidden;
41
44
  color: #000;
42
45
  border: none;
43
46
  cursor: pointer;
@@ -45,7 +48,7 @@
45
48
  background-color: transparent;
46
49
  }
47
50
 
48
- .ns_input_parent:hover .ns_btn_box {
51
+ .ns_text_area_parent:hover .ns_btn_box {
49
52
  opacity: 1;
50
53
  visibility: visible;
51
54
  transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
@@ -67,7 +70,8 @@
67
70
  max-width: 100% !important;
68
71
  }
69
72
 
70
- .ns_full_screen input {
73
+ .ns_full_screen textarea {
71
74
  width: 100% !important;
72
75
  max-width: 100%;
76
+ height: 100% !important;
73
77
  }
@@ -37,7 +37,7 @@ export class NSBoxTime extends React.Component {
37
37
  }
38
38
  render() {
39
39
  var _a;
40
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${Styles.ns_input_parent} ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsxs("span", { className: Styles.ns_input_title, children: [" ", this.props.required && _jsx("span", { style: { color: "red" }, children: "*" }), " ", this.props.title, " "] }), _jsx("img", { className: Styles.ns_input_icon, src: IconInputTime, alt: "Time Icon", width: 24, height: 24 }), _jsx("input", { id: this.props.id, value: this.state.value, onChange: this.onChanged, type: "time", className: Styles.ns_input, placeholder: this.props.placeholder, step: "2" })] }), _jsx(NSBoxErrorNotifier, { error: this.state.error })] }));
40
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${Styles.ns_input_parent} ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsxs("span", { className: Styles.ns_input_title, children: [" ", this.props.required && _jsx("span", { style: { color: "red" }, children: "*" }), " ", this.props.title, " "] }), _jsx("input", { id: this.props.id, value: this.state.value, onChange: this.onChanged, type: "time", className: Styles.ns_input, placeholder: this.props.placeholder, step: "2", style: { background: `url(${IconInputTime}) white no-repeat scroll center right 16px` } })] }), _jsx(NSBoxErrorNotifier, { error: this.state.error })] }));
41
41
  }
42
42
  }
43
43
  //# sourceMappingURL=NSBoxTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSBoxTime.js","sourceRoot":"","sources":["../../src/components/NSBoxTime.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSBoxTime.js","sourceRoot":"","sources":["../../src/components/NSBoxTime.tsx"],"names":[],"mappings":"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"}
@@ -42,4 +42,8 @@
42
42
  padding: 16px;
43
43
  border-radius: 0 8px 8px 8px;
44
44
  background-color: #fff;
45
+ display: grid;
46
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
47
+ gap: 0;
48
+ border-right: 1px solid #ccc;
45
49
  }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.3.196",
11
+ "version": "1.3.198",
12
12
  "author": "Amir Abolhasani, Alireza Esmaeeli, Sepideh Mazloumi, Hooman Shashaeh",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
package/src/App.css CHANGED
@@ -10,4 +10,8 @@
10
10
  border-radius: 5px 0 0 5px;
11
11
  border: 1px solid rgba(47, 0, 236, 0.6) !important;
12
12
  }
13
- /*End Input Tell*/
13
+ /*End Input Tell*/
14
+ .ns_font_16_bold{
15
+ font-size: 16px;
16
+ font-weight: 600;
17
+ }
package/src/App.tsx CHANGED
@@ -1,6 +1,7 @@
1
1
  import './App.css';
2
2
  import 'bootstrap/dist/css/bootstrap.min.css';
3
- import { NSBoxEmail, NSBoxPhone, NSBoxString, NSBoxText, NSBoxTextArea, NSLayout } from './main';
3
+ import { NSBoxEmail, NSBoxPhone, NSBoxString, NSBoxText, NSBoxTextArea, NSLayout, NSTabPage } from './main';
4
+ import { NSBoxLabel } from './components/NSBoxLabel';
4
5
 
5
6
  export function App()
6
7
  {
@@ -19,7 +20,26 @@ export function App()
19
20
  { src: "https://static.namirasoft.com/image/concept/logout/white.svg", alt: "", onClicked },
20
21
  { src: "https://static.namirasoft.com/image/concept/logout/white.svg", alt: "", onClicked },
21
22
  ];
22
-
23
+ let content1 = () => <>
24
+ <NSBoxLabel title="URL"><p style={{color:"#000"}}>http://URL.com</p></NSBoxLabel>
25
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
26
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
27
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
28
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
29
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
30
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
31
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
32
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
33
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
34
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
35
+ </>;
36
+ let content2 = () => <div>Content for Tab2</div>;
37
+ let content3 = () => <div>Content for Tab3</div>;
38
+ const tabs = [
39
+ { title: 'Information', getContent: content1 },
40
+ { title: 'Price History', getContent: content2 },
41
+ { title: 'Price Estimator', getContent: content3 }
42
+ ];
23
43
  return (
24
44
  <>
25
45
  <NSLayout
@@ -33,11 +53,13 @@ export function App()
33
53
  background=""
34
54
  >
35
55
  <>
36
- <NSBoxEmail title='test' required={true}/>
56
+ <NSBoxEmail title='test' required={true} />
37
57
  <NSBoxPhone title='test' required={true} />
38
58
  <NSBoxString title='test' required={true} />
39
59
  <NSBoxText title='test' required={true} />
40
60
  <NSBoxTextArea title='test' required={true} />
61
+ <NSBoxLabel title="URL"><p style={{ color: "#000" }}>http://URL.com</p></NSBoxLabel>
62
+ <NSTabPage tabs={tabs} />
41
63
  </>
42
64
  </NSLayout>
43
65
  </>
@@ -3,37 +3,14 @@
3
3
  flex-direction: column;
4
4
  width: fit-content;
5
5
  color: #141B5C;
6
- position: relative;
7
6
  justify-content: center;
8
7
  width: 272px;
9
8
  max-width: 100%;
10
9
  }
11
10
 
12
- .ns_input_parent img {
13
- position: absolute;
14
- z-index: 2;
15
- right: 5%;
16
- top: 50%;
17
- }
18
-
19
- .ns_input_container {
20
- display: flex;
21
- align-items: center;
22
- position: relative;
23
- width: 100%;
24
- }
25
-
26
- .ns_input_icon_container {
27
- margin: 0 !important;
28
- position: absolute;
29
- left: 12px;
30
- right: 5%;
31
- top: 25%;
32
- }
33
-
34
11
  .ns_input {
35
12
  border-radius: 8px;
36
- padding: 10px 12px 10px 12px;
13
+ padding: 10px 48px 10px 12px;
37
14
  font-size: 16px;
38
15
  font-weight: 400;
39
16
  border: 1px solid rgba(0, 0, 0, 1) !important;
@@ -58,12 +35,6 @@
58
35
  }
59
36
  }
60
37
 
61
- .ns_input_parent img {
62
- position: absolute;
63
- right: 5%;
64
- top: 50%;
65
- }
66
-
67
38
  /*Start Input phone*/
68
39
  .ns_input_phone_parent input {
69
40
  width: 100% !important;
@@ -79,6 +50,8 @@
79
50
  /*End Input phone*/
80
51
 
81
52
  .ns_btn_box {
53
+ opacity: 0;
54
+ visibility: hidden;
82
55
  color: #000;
83
56
  border: none;
84
57
  cursor: pointer;
@@ -66,7 +66,6 @@ export class NSBoxBoolean extends React.Component<INSBoxBooleanProps, INSBoxBooe
66
66
  <>
67
67
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
68
68
  <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
69
-
70
69
  <div className={Styles.ns_checkbox_parent} >
71
70
  <input
72
71
  id={this.props.id}
@@ -66,13 +66,6 @@ export class NSBoxDouble extends React.Component<INSBoxDoubleProps, INSBoxDouble
66
66
  <>
67
67
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
68
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={IconInputFloat}
72
- alt="Flaot Icon"
73
- width={24}
74
- height={24}
75
- />
76
69
  <input
77
70
  id={this.props.id}
78
71
  value={this.state.value}
@@ -83,6 +76,8 @@ export class NSBoxDouble extends React.Component<INSBoxDoubleProps, INSBoxDouble
83
76
  pattern="[0-9]*[.,]?[0-9]*"
84
77
  className={Styles.ns_input}
85
78
  placeholder={this.props.placeholder}
79
+ style={{ background: `url(${IconInputFloat}) white no-repeat scroll center right 16px` }}
80
+
86
81
  />
87
82
  </div>
88
83
  <NSBoxErrorNotifier error={this.state.error} />
@@ -67,13 +67,6 @@ export class NSBoxDuration extends React.Component<INSBoxDurationProps, INSBoxDu
67
67
  <>
68
68
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
69
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={IconInputDuration}
73
- alt="Duration Icon"
74
- width={24}
75
- height={24}
76
- />
77
70
  <input
78
71
  id={this.props.id}
79
72
  value={this.state.value}
@@ -82,6 +75,7 @@ export class NSBoxDuration extends React.Component<INSBoxDurationProps, INSBoxDu
82
75
  className={Styles.ns_input}
83
76
  placeholder={this.props.placeholder}
84
77
  step="2"
78
+ style={{ background: `url(${IconInputDuration}) white no-repeat scroll center right 16px` }}
85
79
  />
86
80
  </div>
87
81
  <NSBoxErrorNotifier error={this.state.error} />
@@ -27,7 +27,8 @@ export interface INSBoxEmailState
27
27
  isFullScreen: boolean;
28
28
  }
29
29
 
30
- export class NSBoxEmail extends React.Component<INSBoxEmailProps, INSBoxEmailState> {
30
+ export class NSBoxEmail extends React.Component<INSBoxEmailProps, INSBoxEmailState>
31
+ {
31
32
  constructor(props: INSBoxEmailProps)
32
33
  {
33
34
  super(props);
@@ -54,7 +55,7 @@ export class NSBoxEmail extends React.Component<INSBoxEmailProps, INSBoxEmailSta
54
55
  {
55
56
  this.setState({ error });
56
57
  // throw new Error(error);
57
- return '';
58
+ return '';
58
59
  }
59
60
  return this.state.value;
60
61
  }
@@ -106,13 +107,6 @@ export class NSBoxEmail extends React.Component<INSBoxEmailProps, INSBoxEmailSta
106
107
  </button>
107
108
  </div>
108
109
  </div>
109
- <img
110
- className={Styles.ns_input_icon}
111
- src={IconInputEmail}
112
- alt="Email Icon"
113
- width={24}
114
- height={24}
115
- />
116
110
  <input
117
111
  id={this.props.id}
118
112
  value={this.state.value}
@@ -120,6 +114,7 @@ export class NSBoxEmail extends React.Component<INSBoxEmailProps, INSBoxEmailSta
120
114
  type="email"
121
115
  className={Styles.ns_input}
122
116
  placeholder={this.props.placeholder}
117
+ style={{ background: `url(${IconInputEmail}) white no-repeat scroll center right 16px` }}
123
118
  />
124
119
  </div>
125
120
  <NSBoxErrorNotifier error={this.state.error} />
@@ -69,13 +69,6 @@ export class NSBoxIPV4 extends React.Component<INSBoxIPV4Props, INSBoxIPV4State>
69
69
  <>
70
70
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
71
71
  <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
72
- <img
73
- className={Styles.ns_input_icon}
74
- src={IconInputIP}
75
- alt="IP Icon"
76
- width={24}
77
- height={24}
78
- />
79
72
  <input
80
73
  id={this.props.id}
81
74
  value={this.state.value}
@@ -87,6 +80,7 @@ export class NSBoxIPV4 extends React.Component<INSBoxIPV4Props, INSBoxIPV4State>
87
80
  maxLength={15}
88
81
  size={15}
89
82
  pattern={IPV4_PATTERN}
83
+ style={{ background: `url(${IconInputIP}) white no-repeat scroll center right 16px` }}
90
84
  />
91
85
  </div>
92
86
  <NSBoxErrorNotifier error={this.state.error} />
@@ -69,13 +69,6 @@ export class NSBoxIPV6 extends React.Component<INSBoxIPV6Props, INSBoxIPV6State>
69
69
  <>
70
70
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
71
71
  <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
72
- <img
73
- className={Styles.ns_input_icon}
74
- src={IconInputIP}
75
- alt="IP Icon"
76
- width={24}
77
- height={24}
78
- />
79
72
  <input
80
73
  id={this.props.id}
81
74
  value={this.state.value}
@@ -84,6 +77,7 @@ export class NSBoxIPV6 extends React.Component<INSBoxIPV6Props, INSBoxIPV6State>
84
77
  className={Styles.ns_input}
85
78
  placeholder={this.props.placeholder}
86
79
  pattern={IPV6_PATTERN}
80
+ style={{ background: `url(${IconInputIP}) white no-repeat scroll center right 16px` }}
87
81
  />
88
82
  </div>
89
83
  <NSBoxErrorNotifier error={this.state.error} />
@@ -66,13 +66,6 @@ export class NSBoxInteger extends React.Component<INSBoxIntegerProps, INSBoxInte
66
66
  <>
67
67
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
68
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={IconInputInteger}
72
- alt="Integer Icon"
73
- width={24}
74
- height={24}
75
- />
76
69
  <input
77
70
  id={this.props.id}
78
71
  value={this.state.value}
@@ -80,6 +73,7 @@ export class NSBoxInteger extends React.Component<INSBoxIntegerProps, INSBoxInte
80
73
  type="number"
81
74
  className={Styles.ns_input}
82
75
  placeholder={this.props.placeholder}
76
+ style={{ background: `url(${IconInputInteger}) white no-repeat scroll center right 16px` }}
83
77
  />
84
78
  </div>
85
79
  <NSBoxErrorNotifier error={this.state.error} />
@@ -0,0 +1,13 @@
1
+ .ns_box_label_title {
2
+ color: hsla(234, 64%, 22%, 1);
3
+ margin-bottom: 8px;
4
+ }
5
+
6
+
7
+ .ns_tab_item {
8
+ padding: 8px;
9
+ border-right: none !important;
10
+ }
11
+ .ns_tab_item:not(:last-child) {
12
+ border-right: 1px solid #ccc;
13
+ }
@@ -0,0 +1,29 @@
1
+ "use client";
2
+
3
+ import Styles from './NSBoxLabel.module.css'
4
+ import React from "react";
5
+ import { ReactNode } from "react";
6
+
7
+ export interface INSBoxLabelProps
8
+ {
9
+ title: string;
10
+ children: ReactNode;
11
+ }
12
+
13
+ export interface INSBoxLabelState
14
+ { }
15
+
16
+ export class NSBoxLabel extends React.Component<INSBoxLabelProps, INSBoxLabelState>
17
+ {
18
+ override render()
19
+ {
20
+ return (
21
+ <div className={Styles.ns_tab_item}>
22
+ <span className={`${Styles.ns_box_label_title} ns_font_16_bold`}>{this.props.title}</span>
23
+ <div>
24
+ {this.props.children}
25
+ </div>
26
+ </div>
27
+ );
28
+ }
29
+ }
@@ -66,13 +66,6 @@ export class NSBoxPassword extends React.Component<INSBoxPasswordProps, INSBoxPa
66
66
  <>
67
67
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
68
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="Password Icon"
73
- width={24}
74
- height={24}
75
- />
76
69
  <input
77
70
  id={this.props.id}
78
71
  value={this.state.value}
@@ -80,6 +73,7 @@ export class NSBoxPassword extends React.Component<INSBoxPasswordProps, INSBoxPa
80
73
  type="password"
81
74
  className={Styles.ns_input}
82
75
  placeholder={this.props.placeholder}
76
+ style={{ background: `url(${IconInputString}) white no-repeat scroll center right 16px` }}
83
77
  />
84
78
  </div>
85
79
  <NSBoxErrorNotifier error={this.state.error} />
@@ -2,9 +2,9 @@
2
2
 
3
3
  import React from "react";
4
4
  import Styles from "./NSBox.module.css";
5
- import IconInputPhone from '../assets/images/icon-input-phone.svg';
6
5
  import IconFullScreen from '../assets/images/icon-fullscreen.png';
7
6
  import IconCopy from '../assets/images/icon-copy.png';
7
+ import PhoneIcon from '../assets/images/icon-input-phone.svg';
8
8
  import PhoneInput from 'react-phone-input-2'
9
9
  import 'react-phone-input-2/lib/style.css'
10
10
  import { IBaseComponentProps } from "../props/IBaseComponentProps";
@@ -53,7 +53,7 @@ export class NSBoxPhone extends React.Component<INSBoxPhoneProps, INSBoxPhoneSta
53
53
  {
54
54
  this.setState({ error });
55
55
  // throw new Error(error);
56
- return '';
56
+ return '';
57
57
  }
58
58
  return this.state.value;
59
59
  }
@@ -92,19 +92,16 @@ export class NSBoxPhone extends React.Component<INSBoxPhoneProps, INSBoxPhoneSta
92
92
  </button>
93
93
  </div>
94
94
  </div>
95
- <img
96
- className={Styles.ns_input_icon}
97
- src={IconInputPhone}
98
- alt="Phone Icon"
99
- width={24}
100
- height={24}
101
- />
102
95
  <PhoneInput
103
96
  value={this.state.value}
104
97
  onChange={this.setValue}
105
98
  country={'us'}
106
- inputClass={Styles.ns_input}
99
+ inputClass={Styles.PhoneIconns_input}
107
100
  placeholder={this.props.placeholder}
101
+ inputStyle={{
102
+ background: `url(${PhoneIcon}) white no-repeat scroll center right 16px`,
103
+ backgroundSize: "24px"
104
+ }}
108
105
  />
109
106
  </div >
110
107
  <NSBoxErrorNotifier error={this.state.error} />
@@ -66,13 +66,6 @@ export class NSBoxPrice extends React.Component<INSBoxPriceProps, INSBoxPriceSta
66
66
  <>
67
67
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
68
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={IconInputFloat}
72
- alt="Flaot Icon"
73
- width={24}
74
- height={24}
75
- />
76
69
  <input
77
70
  id={this.props.id}
78
71
  value={this.state.value}
@@ -82,6 +75,7 @@ export class NSBoxPrice extends React.Component<INSBoxPriceProps, INSBoxPriceSta
82
75
  min="0"
83
76
  className={Styles.ns_input}
84
77
  placeholder={this.props.placeholder}
78
+ style={{ background: `url(${IconInputFloat}) white no-repeat scroll center right 16px` }}
85
79
  />
86
80
  </div>
87
81
  <NSBoxErrorNotifier error={this.state.error} />
@@ -7,6 +7,7 @@ import { IValidationProps } from "../props/IValidationProps";
7
7
  import { IValidationStringProps } from "../props/IValidationStringProps";
8
8
  import { Validator } from "../Validator";
9
9
  import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
10
+ import IconInputSearch from "../assets/images/icon-input-search.svg";
10
11
 
11
12
  export interface INSBoxSearchProps extends IBaseComponentProps, IValidationProps, IValidationStringProps
12
13
  {
@@ -67,14 +68,6 @@ export class NSBoxSearch extends React.Component<INSBoxSearchProps, INSBoxSearch
67
68
  <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
68
69
  <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }}>*</span>} {this.props.title} </span>
69
70
  <div className={Styles.ns_input_container}>
70
- <figure className={Styles.ns_input_icon_container}>
71
- <img
72
- src="https://static.namirasoft.com/image/concept/magnifier/blue.svg"
73
- alt="input-icon"
74
- width={24}
75
- height={24}
76
- />
77
- </figure>
78
71
  <input
79
72
  id={this.props.id}
80
73
  value={this.state.value}
@@ -82,6 +75,7 @@ export class NSBoxSearch extends React.Component<INSBoxSearchProps, INSBoxSearch
82
75
  type="text"
83
76
  className={Styles.ns_input}
84
77
  placeholder={this.props.placeholder}
78
+ style={{ background: `url(${IconInputSearch}) white no-repeat scroll center right 16px` }}
85
79
  />
86
80
  </div>
87
81
  </div>
@@ -52,7 +52,7 @@ export class NSBoxString extends React.Component<INSBoxStringProps, INSBoxString
52
52
  {
53
53
  this.setState({ error });
54
54
  // throw new Error(error);
55
- return '';
55
+ return '';
56
56
  }
57
57
  return this.state.value;
58
58
  }
@@ -98,13 +98,6 @@ export class NSBoxString extends React.Component<INSBoxStringProps, INSBoxString
98
98
  </button>
99
99
  </div>
100
100
  </div>
101
- <img
102
- className={Styles.ns_input_icon}
103
- src={IconInputString}
104
- alt="String Icon"
105
- width={24}
106
- height={24}
107
- />
108
101
  <input
109
102
  id={this.props.id}
110
103
  value={this.state.value}
@@ -112,6 +105,7 @@ export class NSBoxString extends React.Component<INSBoxStringProps, INSBoxString
112
105
  type="text"
113
106
  className={Styles.ns_input}
114
107
  placeholder={this.props.placeholder}
108
+ style={{ background: `url(${IconInputString}) white no-repeat scroll center right 16px` }}
115
109
  />
116
110
  </div>
117
111
  <NSBoxErrorNotifier error={this.state.error} />
@@ -27,7 +27,8 @@ export interface INSBoxTextState
27
27
  isFullScreen: boolean;
28
28
  }
29
29
 
30
- export class NSBoxText extends React.Component<INSBoxTextProps, INSBoxTextState> {
30
+ export class NSBoxText extends React.Component<INSBoxTextProps, INSBoxTextState>
31
+ {
31
32
  constructor(props: INSBoxTextProps)
32
33
  {
33
34
  super(props);
@@ -108,13 +109,6 @@ export class NSBoxText extends React.Component<INSBoxTextProps, INSBoxTextState>
108
109
  </button>
109
110
  </div>
110
111
  </div>
111
- <img
112
- className={Styles.ns_input_icon}
113
- src={IconInputText}
114
- alt="Text Icon"
115
- width={24}
116
- height={24}
117
- />
118
112
  <input
119
113
  id={this.props.id}
120
114
  value={this.state.value}
@@ -122,6 +116,7 @@ export class NSBoxText extends React.Component<INSBoxTextProps, INSBoxTextState>
122
116
  type="text"
123
117
  className={Styles.ns_input}
124
118
  placeholder={this.props.placeholder}
119
+ style={{ background: `url(${IconInputText}) white no-repeat scroll center right 16px` }}
125
120
  />
126
121
  </div>
127
122
  <NSBoxErrorNotifier error={this.state.error} />
@@ -14,6 +14,7 @@
14
14
  align-items: center;
15
15
  position: relative;
16
16
  width: 100%;
17
+ height: 100%;
17
18
  }
18
19
 
19
20
  .ns_text_area_icon_container {
@@ -38,6 +39,8 @@
38
39
  }
39
40
 
40
41
  .ns_btn_box {
42
+ opacity: 0;
43
+ visibility: hidden;
41
44
  color: #000;
42
45
  border: none;
43
46
  cursor: pointer;
@@ -45,7 +48,7 @@
45
48
  background-color: transparent;
46
49
  }
47
50
 
48
- .ns_input_parent:hover .ns_btn_box {
51
+ .ns_text_area_parent:hover .ns_btn_box {
49
52
  opacity: 1;
50
53
  visibility: visible;
51
54
  transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
@@ -67,7 +70,8 @@
67
70
  max-width: 100% !important;
68
71
  }
69
72
 
70
- .ns_full_screen input {
73
+ .ns_full_screen textarea {
71
74
  width: 100% !important;
72
75
  max-width: 100%;
76
+ height: 100% !important;
73
77
  }