namirasoft-site-react 1.3.60 → 1.3.62

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 (223) hide show
  1. package/dist/App.js +2 -2
  2. package/dist/App.js.map +1 -1
  3. package/dist/Validator.d.ts +7 -2
  4. package/dist/Validator.js +57 -15
  5. package/dist/Validator.js.map +1 -1
  6. package/dist/components/NSButton.d.ts +0 -9
  7. package/dist/components/NSButton.js +2 -9
  8. package/dist/components/NSButton.js.map +1 -1
  9. package/dist/components/NSButton.module.css +8 -7
  10. package/dist/components/NSButtonBlue.d.ts +2 -14
  11. package/dist/components/NSButtonBlue.js +7 -13
  12. package/dist/components/NSButtonBlue.js.map +1 -1
  13. package/dist/components/NSButtonBlue.module.css +0 -8
  14. package/dist/components/NSButtonGreen.d.ts +2 -14
  15. package/dist/components/NSButtonGreen.js +7 -13
  16. package/dist/components/NSButtonGreen.js.map +1 -1
  17. package/dist/components/NSButtonGreen.module.css +0 -8
  18. package/dist/components/NSButtonRed.d.ts +2 -14
  19. package/dist/components/NSButtonRed.js +8 -14
  20. package/dist/components/NSButtonRed.js.map +1 -1
  21. package/dist/components/NSButtonRed.module.css +0 -8
  22. package/dist/components/NSCard.d.ts +3 -9
  23. package/dist/components/NSCard.js +12 -16
  24. package/dist/components/NSCard.js.map +1 -1
  25. package/dist/components/NSCopyToClipboard.d.ts +1 -8
  26. package/dist/components/NSCopyToClipboard.js +6 -14
  27. package/dist/components/NSCopyToClipboard.js.map +1 -1
  28. package/dist/components/NSCopyToClipboard.module.css +1 -1
  29. package/dist/components/NSEntityBar.d.ts +3 -9
  30. package/dist/components/NSEntityBar.js +3 -6
  31. package/dist/components/NSEntityBar.js.map +1 -1
  32. package/dist/components/NSEntityBar.module.css +1 -1
  33. package/dist/components/NSEntityCardBackground.d.ts +1 -11
  34. package/dist/components/NSEntityCardBackground.js +4 -23
  35. package/dist/components/NSEntityCardBackground.js.map +1 -1
  36. package/dist/components/NSFooter.js +2 -1
  37. package/dist/components/NSFooter.js.map +1 -1
  38. package/dist/components/NSHeader.d.ts +1 -2
  39. package/dist/components/NSHeader.js +9 -4
  40. package/dist/components/NSHeader.js.map +1 -1
  41. package/dist/components/NSInput.module.css +29 -0
  42. package/dist/components/NSInputDate.d.ts +3 -1
  43. package/dist/components/NSInputDate.js +14 -4
  44. package/dist/components/NSInputDate.js.map +1 -1
  45. package/dist/components/NSInputDate.module.css +4 -1
  46. package/dist/components/NSInputDuration.d.ts +6 -1
  47. package/dist/components/NSInputDuration.js +15 -6
  48. package/dist/components/NSInputDuration.js.map +1 -1
  49. package/dist/components/NSInputEmail.d.ts +1 -1
  50. package/dist/components/NSInputEmail.js +5 -3
  51. package/dist/components/NSInputEmail.js.map +1 -1
  52. package/dist/components/NSInputFloat.d.ts +4 -4
  53. package/dist/components/NSInputFloat.js +8 -9
  54. package/dist/components/NSInputFloat.js.map +1 -1
  55. package/dist/components/NSInputIP.d.ts +5 -1
  56. package/dist/components/NSInputIP.js +17 -7
  57. package/dist/components/NSInputIP.js.map +1 -1
  58. package/dist/components/NSInputInteger.d.ts +9 -5
  59. package/dist/components/NSInputInteger.js +16 -8
  60. package/dist/components/NSInputInteger.js.map +1 -1
  61. package/dist/components/NSInputPassword.d.ts +5 -1
  62. package/dist/components/NSInputPassword.js +15 -6
  63. package/dist/components/NSInputPassword.js.map +1 -1
  64. package/dist/components/NSInputPhone.d.ts +8 -3
  65. package/dist/components/NSInputPhone.js +18 -12
  66. package/dist/components/NSInputPhone.js.map +1 -1
  67. package/dist/components/NSInputPrice.d.ts +7 -2
  68. package/dist/components/NSInputPrice.js +15 -7
  69. package/dist/components/NSInputPrice.js.map +1 -1
  70. package/dist/components/NSInputSearch.d.ts +6 -1
  71. package/dist/components/NSInputSearch.js +15 -6
  72. package/dist/components/NSInputSearch.js.map +1 -1
  73. package/dist/components/NSInputString.d.ts +5 -1
  74. package/dist/components/NSInputString.js +15 -6
  75. package/dist/components/NSInputString.js.map +1 -1
  76. package/dist/components/NSInputText.d.ts +5 -1
  77. package/dist/components/NSInputText.js +15 -6
  78. package/dist/components/NSInputText.js.map +1 -1
  79. package/dist/components/NSInputTime.d.ts +5 -1
  80. package/dist/components/NSInputTime.js +16 -6
  81. package/dist/components/NSInputTime.js.map +1 -1
  82. package/dist/components/NSLayout.js +2 -2
  83. package/dist/components/NSLayout.js.map +1 -1
  84. package/dist/components/NSLayoutHeroBanner.js.map +1 -1
  85. package/dist/components/NSLinkBlue.d.ts +1 -9
  86. package/dist/components/NSLinkBlue.js +3 -17
  87. package/dist/components/NSLinkBlue.js.map +1 -1
  88. package/dist/components/NSLoading.d.ts +1 -6
  89. package/dist/components/NSLoading.js +2 -6
  90. package/dist/components/NSLoading.js.map +1 -1
  91. package/dist/components/NSNotification.js +2 -2
  92. package/dist/components/NSNotification.js.map +1 -1
  93. package/dist/components/NSPagination.d.ts +1 -1
  94. package/dist/components/NSPagination.js +2 -1
  95. package/dist/components/NSPagination.js.map +1 -1
  96. package/dist/components/NSPanel.d.ts +2 -7
  97. package/dist/components/NSPanel.js +3 -9
  98. package/dist/components/NSPanel.js.map +1 -1
  99. package/dist/components/NSSection.d.ts +2 -10
  100. package/dist/components/NSSection.js +6 -25
  101. package/dist/components/NSSection.js.map +1 -1
  102. package/dist/components/NSSectionBars.d.ts +2 -6
  103. package/dist/components/NSSectionBars.js +4 -8
  104. package/dist/components/NSSectionBars.js.map +1 -1
  105. package/dist/components/NSSectionCards.d.ts +4 -14
  106. package/dist/components/NSSectionCards.js +7 -11
  107. package/dist/components/NSSectionCards.js.map +1 -1
  108. package/dist/components/NSSectionTitle.d.ts +3 -10
  109. package/dist/components/NSSectionTitle.js +2 -6
  110. package/dist/components/NSSectionTitle.js.map +1 -1
  111. package/dist/components/NSSelectBox.d.ts +6 -3
  112. package/dist/components/NSSelectBox.js +21 -6
  113. package/dist/components/NSSelectBox.js.map +1 -1
  114. package/dist/components/NSSpace.js +2 -1
  115. package/dist/components/NSSpace.js.map +1 -1
  116. package/dist/components/NSTable.js +2 -1
  117. package/dist/components/NSTable.js.map +1 -1
  118. package/dist/components/NSTitle.d.ts +1 -6
  119. package/dist/components/NSTitle.js +3 -6
  120. package/dist/components/NSTitle.js.map +1 -1
  121. package/dist/main.d.ts +0 -1
  122. package/dist/main.js +0 -1
  123. package/dist/main.js.map +1 -1
  124. package/dist/pages/NSLoginPage.d.ts +2 -3
  125. package/dist/pages/NSLoginPage.js +4 -3
  126. package/dist/pages/NSLoginPage.js.map +1 -1
  127. package/dist/props/BaseComponentProps.d.ts +1 -0
  128. package/dist/props/ValidationNumberProps.d.ts +1 -2
  129. package/dist/props/ValidationProps.d.ts +1 -0
  130. package/dist/props/ValidationStringProps.d.ts +1 -2
  131. package/package.json +3 -4
  132. package/src/App.tsx +14 -4
  133. package/src/Validator.ts +67 -18
  134. package/src/components/NSButton.module.css +8 -7
  135. package/src/components/NSButton.tsx +6 -24
  136. package/src/components/NSButtonBlue.module.css +0 -8
  137. package/src/components/NSButtonBlue.tsx +8 -28
  138. package/src/components/NSButtonGreen.module.css +0 -8
  139. package/src/components/NSButtonGreen.tsx +8 -29
  140. package/src/components/NSButtonRed.module.css +0 -8
  141. package/src/components/NSButtonRed.tsx +9 -30
  142. package/src/components/NSCard.tsx +49 -56
  143. package/src/components/NSCopyToClipboard.module.css +1 -1
  144. package/src/components/NSCopyToClipboard.tsx +21 -35
  145. package/src/components/NSEntityBar.module.css +1 -1
  146. package/src/components/NSEntityBar.tsx +17 -23
  147. package/src/components/NSEntityCardBackground.tsx +22 -56
  148. package/src/components/NSFooter.tsx +4 -1
  149. package/src/components/NSHeader.tsx +16 -7
  150. package/src/components/NSInput.module.css +29 -0
  151. package/src/components/NSInputDate.module.css +4 -1
  152. package/src/components/NSInputDate.tsx +29 -10
  153. package/src/components/NSInputDuration.tsx +44 -23
  154. package/src/components/NSInputEmail.tsx +10 -5
  155. package/src/components/NSInputFloat.tsx +33 -32
  156. package/src/components/NSInputIP.tsx +44 -24
  157. package/src/components/NSInputInteger.tsx +48 -31
  158. package/src/components/NSInputPassword.tsx +42 -23
  159. package/src/components/NSInputPhone.tsx +45 -29
  160. package/src/components/NSInputPrice.tsx +45 -23
  161. package/src/components/NSInputSearch.tsx +43 -21
  162. package/src/components/NSInputString.tsx +42 -23
  163. package/src/components/NSInputText.tsx +42 -23
  164. package/src/components/NSInputTime.tsx +44 -23
  165. package/src/components/NSLayout.tsx +3 -3
  166. package/src/components/NSLayoutHeroBanner.tsx +0 -1
  167. package/src/components/NSLinkBlue.tsx +12 -32
  168. package/src/components/NSLoading.tsx +8 -17
  169. package/src/components/NSNotification.tsx +19 -14
  170. package/src/components/NSPagination.tsx +4 -3
  171. package/src/components/NSPanel.tsx +10 -21
  172. package/src/components/NSSection.tsx +13 -39
  173. package/src/components/NSSectionBars.tsx +13 -22
  174. package/src/components/NSSectionCards.tsx +30 -45
  175. package/src/components/NSSectionTitle.tsx +10 -20
  176. package/src/components/NSSelectBox.tsx +48 -23
  177. package/src/components/NSSpace.tsx +3 -1
  178. package/src/components/NSTable.tsx +6 -4
  179. package/src/components/NSTitle.tsx +10 -15
  180. package/src/main.ts +0 -1
  181. package/src/pages/NSLoginPage.tsx +8 -6
  182. package/src/props/BaseComponentProps.ts +1 -0
  183. package/src/props/ValidationNumberProps.ts +1 -3
  184. package/src/props/ValidationProps.ts +1 -0
  185. package/src/props/ValidationStringProps.ts +1 -3
  186. package/dist/components/NSButtonBlueVector.d.ts +0 -16
  187. package/dist/components/NSButtonBlueVector.js +0 -17
  188. package/dist/components/NSButtonBlueVector.js.map +0 -1
  189. package/dist/components/NSButtonBlueVector.module.css +0 -17
  190. package/dist/components/NSInputDuration.module.css +0 -26
  191. package/dist/components/NSInputEmail.module.css +0 -38
  192. package/dist/components/NSInputFloat.module.css +0 -26
  193. package/dist/components/NSInputIP.module.css +0 -26
  194. package/dist/components/NSInputInteger.module.css +0 -26
  195. package/dist/components/NSInputPassword.module.css +0 -27
  196. package/dist/components/NSInputPhone.module.css +0 -33
  197. package/dist/components/NSInputPrice.module.css +0 -27
  198. package/dist/components/NSInputSearch.module.css +0 -27
  199. package/dist/components/NSInputString.module.css +0 -27
  200. package/dist/components/NSInputText.module.css +0 -28
  201. package/dist/components/NSInputTime.module.css +0 -27
  202. package/dist/props/BackgroundProps.d.ts +0 -6
  203. package/dist/props/BackgroundProps.js +0 -2
  204. package/dist/props/BackgroundProps.js.map +0 -1
  205. package/dist/props/NSButtonProps.d.ts +0 -11
  206. package/dist/props/NSButtonProps.js +0 -2
  207. package/dist/props/NSButtonProps.js.map +0 -1
  208. package/src/components/NSButtonBlueVector.module.css +0 -17
  209. package/src/components/NSButtonBlueVector.tsx +0 -42
  210. package/src/components/NSInputDuration.module.css +0 -26
  211. package/src/components/NSInputEmail.module.css +0 -38
  212. package/src/components/NSInputFloat.module.css +0 -26
  213. package/src/components/NSInputIP.module.css +0 -26
  214. package/src/components/NSInputInteger.module.css +0 -26
  215. package/src/components/NSInputPassword.module.css +0 -27
  216. package/src/components/NSInputPhone.module.css +0 -33
  217. package/src/components/NSInputPrice.module.css +0 -27
  218. package/src/components/NSInputSearch.module.css +0 -27
  219. package/src/components/NSInputString.module.css +0 -27
  220. package/src/components/NSInputText.module.css +0 -28
  221. package/src/components/NSInputTime.module.css +0 -27
  222. package/src/props/BackgroundProps.ts +0 -7
  223. package/src/props/NSButtonProps.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"NSInputIP.js","sourceRoot":"","sources":["../../src/components/NSInputIP.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAgB7D,MAAM,OAAO,SAAU,SAAQ,KAAK,CAAC,SAAyC;IAE1E,YAAY,KAAqB;;QAE7B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACO,SAAS,CAAC,CAAsC;QAEpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,eAAe,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aACvG,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAQ,EACjE,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,WAAW,EAChB,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,gBACI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACrC,IAEA,CACT,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"NSInputIP.js","sourceRoot":"","sources":["../../src/components/NSInputIP.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,22 @@
1
1
  import React from "react";
2
2
  import { BaseComponentProps } from "../props/BaseComponentProps";
3
- export interface NSInputIntegerProps extends BaseComponentProps {
3
+ import { ValidationNumberProps } from "../props/ValidationNumberProps";
4
+ import { ValidationProps } from "../props/ValidationProps";
5
+ export interface NSInputIntegerProps extends BaseComponentProps, ValidationProps, ValidationNumberProps {
4
6
  title: string;
5
- defaultValue?: string;
7
+ defaultValue?: number;
6
8
  onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
7
9
  placeholder?: string;
8
10
  }
9
11
  export interface NSInputIntegerState {
10
- value: string;
12
+ value?: number;
13
+ error?: string;
11
14
  }
12
15
  export declare class NSInputInteger extends React.Component<NSInputIntegerProps, NSInputIntegerState> {
13
16
  constructor(props: NSInputIntegerProps);
14
- getValue(): string;
15
- setValue(value: string): void;
17
+ getError(): string | null;
18
+ getValue(): number | undefined;
19
+ setValue(value: number | undefined): void;
16
20
  private onChanged;
17
21
  render(): import("react/jsx-runtime").JSX.Element;
18
22
  }
@@ -1,33 +1,41 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import Styles from "./NSInputInteger.module.css";
4
+ import Styles from "./NSInput.module.css";
5
5
  import IconInputInteger from '../assets/images/icon-input-integer.svg';
6
+ import { Validator } from "../Validator";
7
+ import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
6
8
  export class NSInputInteger extends React.Component {
7
9
  constructor(props) {
8
- var _a;
9
10
  super(props);
10
- this.state = {
11
- value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "",
12
- };
11
+ this.state = { value: props.defaultValue };
13
12
  this.getValue = this.getValue.bind(this);
14
13
  this.setValue = this.setValue.bind(this);
15
14
  this.onChanged = this.onChanged.bind(this);
16
15
  }
16
+ getError() {
17
+ return (Validator.getError(this.props.title, this.state.value, this.props) &&
18
+ Validator.getErrorNumber(this.props.title, this.state.value, this.props));
19
+ }
17
20
  getValue() {
21
+ let error = this.getError();
22
+ if (error) {
23
+ this.setState({ error });
24
+ throw new Error(error);
25
+ }
18
26
  return this.state.value;
19
27
  }
20
28
  setValue(value) {
21
29
  this.setState({ value });
22
30
  }
23
31
  onChanged(e) {
24
- this.setValue(e.target.value);
32
+ this.setValue(parseInt(e.target.value));
25
33
  if (this.props.onChanged)
26
34
  this.props.onChanged(e);
27
35
  }
28
36
  render() {
29
37
  var _a;
30
- return (_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx("span", { className: Styles.ns_input_title, children: this.props.title }), _jsx("img", { className: Styles.ns_input_icon, src: IconInputInteger, alt: "icon", width: 24, height: 24 }), _jsx("input", { value: this.state.value, onChange: this.onChanged, type: "number", className: Styles.ns_input, placeholder: this.props.placeholder })] }));
38
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_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: IconInputInteger, alt: "Integer Icon", width: 24, height: 24 }), _jsx("input", { id: this.props.id, value: this.state.value, onChange: this.onChanged, type: "number", className: Styles.ns_input, placeholder: this.props.placeholder })] }), _jsx(NSInputErrorNotifier, { error: this.state.error })] }));
31
39
  }
32
40
  }
33
41
  //# sourceMappingURL=NSInputInteger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSInputInteger.js","sourceRoot":"","sources":["../../src/components/NSInputInteger.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAgBvE,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAAmD;IAEzF,YAAY,KAA0B;;QAElC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACO,SAAS,CAAC,CAAsC;QAEpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,eAAe,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aACvG,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAQ,EACjE,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,gBACI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACrC,IAEA,CACT,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"NSInputInteger.js","sourceRoot":"","sources":["../../src/components/NSInputInteger.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import React from "react";
2
2
  import { BaseComponentProps } from "../props/BaseComponentProps";
3
- export interface NSInputPasswordProps extends BaseComponentProps {
3
+ import { ValidationProps } from "../props/ValidationProps";
4
+ import { ValidationStringProps } from "../props/ValidationStringProps";
5
+ export interface NSInputPasswordProps extends BaseComponentProps, ValidationProps, ValidationStringProps {
4
6
  title: string;
5
7
  defaultValue?: string;
6
8
  onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
@@ -8,9 +10,11 @@ export interface NSInputPasswordProps extends BaseComponentProps {
8
10
  }
9
11
  export interface NSInputPasswordState {
10
12
  value: string;
13
+ error?: string;
11
14
  }
12
15
  export declare class NSInputPassword extends React.Component<NSInputPasswordProps, NSInputPasswordState> {
13
16
  constructor(props: NSInputPasswordProps);
17
+ getError(): string | null;
14
18
  getValue(): string;
15
19
  setValue(value: string): void;
16
20
  private onChanged;
@@ -1,20 +1,29 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import Styles from "./NSInputPassword.module.css";
4
+ import Styles from "./NSInput.module.css";
5
5
  import IconInputString from '../assets/images/icon-input-string.svg';
6
+ import { Validator } from "../Validator";
7
+ import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
6
8
  export class NSInputPassword extends React.Component {
7
9
  constructor(props) {
8
10
  var _a;
9
11
  super(props);
10
- this.state = {
11
- value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "",
12
- };
12
+ this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "" };
13
13
  this.getValue = this.getValue.bind(this);
14
14
  this.setValue = this.setValue.bind(this);
15
15
  this.onChanged = this.onChanged.bind(this);
16
16
  }
17
+ getError() {
18
+ return (Validator.getError(this.props.title, this.state.value, this.props) &&
19
+ Validator.getErrorString(this.props.title, this.state.value, this.props));
20
+ }
17
21
  getValue() {
22
+ let error = this.getError();
23
+ if (error) {
24
+ this.setState({ error });
25
+ throw new Error(error);
26
+ }
18
27
  return this.state.value;
19
28
  }
20
29
  setValue(value) {
@@ -27,7 +36,7 @@ export class NSInputPassword extends React.Component {
27
36
  }
28
37
  render() {
29
38
  var _a;
30
- return (_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx("span", { className: Styles.ns_input_title, children: this.props.title }), _jsx("img", { className: Styles.ns_input_icon, src: IconInputString, alt: "icon", width: 24, height: 24 }), _jsx("input", { value: this.state.value, onChange: this.onChanged, type: "password", className: Styles.ns_input, placeholder: this.props.placeholder })] }));
39
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_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: IconInputString, alt: "Password Icon", width: 24, height: 24 }), _jsx("input", { id: this.props.id, value: this.state.value, onChange: this.onChanged, type: "password", className: Styles.ns_input, placeholder: this.props.placeholder })] }), _jsx(NSInputErrorNotifier, { error: this.state.error })] }));
31
40
  }
32
41
  }
33
42
  //# sourceMappingURL=NSInputPassword.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSInputPassword.js","sourceRoot":"","sources":["../../src/components/NSInputPassword.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAClD,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAgBrE,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAAqD;IAE5F,YAAY,KAA2B;;QAEnC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACO,SAAS,CAAC,CAAsC;QAEpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,eAAe,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aAEvG,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAQ,EACjE,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,gBACI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACrC,IACA,CACT,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"NSInputPassword.js","sourceRoot":"","sources":["../../src/components/NSInputPassword.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,22 @@
1
1
  import React from "react";
2
2
  import 'react-phone-input-2/lib/style.css';
3
3
  import { BaseComponentProps } from "../props/BaseComponentProps";
4
- export interface NSInputPhoneProps extends BaseComponentProps {
4
+ import { ValidationProps } from "../props/ValidationProps";
5
+ import { ValidationStringProps } from "../props/ValidationStringProps";
6
+ export interface NSInputPhoneProps extends BaseComponentProps, ValidationProps, ValidationStringProps {
5
7
  title: string;
8
+ defaultValue?: string;
9
+ onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
6
10
  placeholder?: string;
7
11
  }
8
12
  export interface NSInputPhoneState {
9
13
  value: string;
14
+ error?: string;
10
15
  }
11
16
  export declare class NSInputPhone extends React.Component<NSInputPhoneProps, NSInputPhoneState> {
12
17
  constructor(props: NSInputPhoneProps);
13
- setValue(value: string): void;
14
- setDefaultValue(value: string): void;
18
+ getError(): string | null;
15
19
  getValue(): string;
20
+ setValue(value: string): void;
16
21
  render(): import("react/jsx-runtime").JSX.Element;
17
22
  }
@@ -1,32 +1,38 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import Styles from "./NSInputPhone.module.css";
4
+ import Styles from "./NSInput.module.css";
5
5
  import IconInputPhone from '../assets/images/icon-input-phone.svg';
6
6
  import PhoneInput from 'react-phone-input-2';
7
7
  import 'react-phone-input-2/lib/style.css';
8
+ import { Validator } from "../Validator";
9
+ import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
8
10
  export class NSInputPhone extends React.Component {
9
11
  constructor(props) {
12
+ var _a;
10
13
  super(props);
11
- this.state = {
12
- value: "",
13
- };
14
+ this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "" };
14
15
  this.setValue = this.setValue.bind(this);
15
16
  this.getValue = this.getValue.bind(this);
16
- this.setDefaultValue = this.setDefaultValue.bind(this);
17
- }
18
- setValue(value) {
19
- this.setState({ value });
20
17
  }
21
- setDefaultValue(value) {
22
- this.setState({ value });
18
+ getError() {
19
+ return (Validator.getError(this.props.title, this.state.value, this.props) &&
20
+ Validator.getErrorString(this.props.title, this.state.value, this.props));
23
21
  }
24
22
  getValue() {
23
+ let error = this.getError();
24
+ if (error) {
25
+ this.setState({ error });
26
+ throw new Error(error);
27
+ }
25
28
  return this.state.value;
26
29
  }
30
+ setValue(value) {
31
+ this.setState({ value });
32
+ }
27
33
  render() {
28
34
  var _a;
29
- return (_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx("span", { className: Styles.ns_input_title, children: this.props.title }), _jsx("img", { className: Styles.ns_input_icon, src: IconInputPhone, alt: "icon", width: 24, height: 24 }), _jsx(PhoneInput, { inputClass: Styles.ns_input, country: 'us', value: this.state.value, onChange: this.setValue, placeholder: this.props.placeholder })] }));
35
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { id: this.props.id, className: `${Styles.ns_input_parent} p-2 ${(_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: IconInputPhone, alt: "Phone Icon", width: 24, height: 24 }), _jsx(PhoneInput, { value: this.state.value, onChange: this.setValue, country: 'us', inputClass: Styles.ns_input, placeholder: this.props.placeholder })] }), _jsx(NSInputErrorNotifier, { error: this.state.error })] }));
30
36
  }
31
37
  }
32
38
  //# sourceMappingURL=NSInputPhone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSInputPhone.js","sourceRoot":"","sources":["../../src/components/NSInputPhone.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,cAAc,MAAM,uCAAuC,CAAC;AACnE,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,mCAAmC,CAAA;AAc1C,MAAM,OAAO,YAAa,SAAQ,KAAK,CAAC,SAA+C;IAEnF,YAAY,KAAwB;QAEhC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,EAAE;SACZ,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,eAAe,CAAC,KAAa;QAEzB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,QAAQ;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,eAAe,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aACvG,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAQ,EACjE,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,cAAc,EACnB,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,KAAC,UAAU,IACP,UAAU,EAAE,MAAM,CAAC,QAAQ,EAC3B,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACrC,IACA,CACT,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"NSInputPhone.js","sourceRoot":"","sources":["../../src/components/NSInputPhone.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,cAAc,MAAM,uCAAuC,CAAC;AACnE,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,mCAAmC,CAAA;AAI1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAgB9D,MAAM,OAAO,YAAa,SAAQ,KAAK,CAAC,SAA+C;IAEnF,YAAY,KAAwB;;QAEhC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,QAAQ;QAEJ,OAAO,CACH,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;YAClE,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAC3E,CAAC;IACN,CAAC;IACD,QAAQ;QAEJ,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,KAAK,EACT,CAAC;YACG,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,8BACI,eAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,eAAe,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aAC1H,gBAAM,SAAS,EAAE,MAAM,CAAC,cAAc,kBAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAW,OAAG,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EACrI,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,cAAc,EACnB,GAAG,EAAC,YAAY,EAChB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,MAAM,CAAC,QAAQ,EAC3B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACrC,IACC,EACP,KAAC,oBAAoB,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,IAClD,CACN,CAAC;IACN,CAAC;CACJ"}
@@ -1,15 +1,20 @@
1
1
  import React from "react";
2
2
  import { BaseComponentProps } from "../props/BaseComponentProps";
3
- export interface NSInputPriceProps extends BaseComponentProps {
3
+ import { ValidationProps } from "../props/ValidationProps";
4
+ import { ValidationNumberProps } from "../props/ValidationNumberProps";
5
+ export interface NSInputPriceProps extends BaseComponentProps, ValidationProps, ValidationNumberProps {
4
6
  title: string;
5
7
  defaultValue?: number;
6
8
  onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
9
+ placeholder?: string;
7
10
  }
8
11
  export interface NSInputPriceState {
9
- value: number | undefined;
12
+ value?: number;
13
+ error?: string;
10
14
  }
11
15
  export declare class NSInputPrice extends React.Component<NSInputPriceProps, NSInputPriceState> {
12
16
  constructor(props: NSInputPriceProps);
17
+ getError(): string | null;
13
18
  getValue(): number | undefined;
14
19
  setValue(value: number): void;
15
20
  private onChanged;
@@ -1,20 +1,28 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import Styles from "./NSInputPrice.module.css";
4
+ import Styles from "./NSInput.module.css";
5
5
  import IconInputPrice from '../assets/images/icon-input-price.svg';
6
+ import { Validator } from "../Validator";
7
+ import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
6
8
  export class NSInputPrice extends React.Component {
7
9
  constructor(props) {
8
- var _a;
9
10
  super(props);
10
- this.state = {
11
- value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : undefined,
12
- };
11
+ this.state = { value: props.defaultValue };
13
12
  this.getValue = this.getValue.bind(this);
14
13
  this.setValue = this.setValue.bind(this);
15
14
  this.onChanged = this.onChanged.bind(this);
16
15
  }
16
+ getError() {
17
+ return (Validator.getError(this.props.title, this.state.value, this.props) &&
18
+ Validator.getErrorNumber(this.props.title, this.state.value, this.props));
19
+ }
17
20
  getValue() {
21
+ let error = this.getError();
22
+ if (error) {
23
+ this.setState({ error });
24
+ throw new Error(error);
25
+ }
18
26
  return this.state.value;
19
27
  }
20
28
  setValue(value) {
@@ -27,7 +35,7 @@ export class NSInputPrice extends React.Component {
27
35
  }
28
36
  render() {
29
37
  var _a;
30
- return (_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx("img", { className: Styles.ns_input_icon, src: IconInputPrice, alt: "icon", width: 24, height: 24 }), _jsx("input", { value: this.state.value, onChange: this.onChanged, type: "number", step: "20", className: Styles.ns_input, placeholder: "$1000" })] }));
38
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_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: IconInputPrice, alt: "Price Icon", width: 24, height: 24 }), _jsx("input", { id: this.props.id, value: this.state.value, onChange: this.onChanged, type: "number", step: "20", className: Styles.ns_input, placeholder: this.props.placeholder })] }), _jsx(NSInputErrorNotifier, { error: this.state.error })] }));
31
39
  }
32
40
  }
33
41
  //# sourceMappingURL=NSInputPrice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSInputPrice.js","sourceRoot":"","sources":["../../src/components/NSInputPrice.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAenE,MAAM,OAAO,YAAa,SAAQ,KAAK,CAAC,SAA+C;IAEnF,YAAY,KAAwB;;QAEhC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,SAAS;SACzC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACO,SAAS,CAAC,CAAsC;QAEpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,eAAe,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aACvG,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,cAAc,EACnB,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,gBACI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,IAAI,EACT,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,WAAW,EAAC,OAAO,GACrB,IACA,CACT,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"NSInputPrice.js","sourceRoot":"","sources":["../../src/components/NSInputPrice.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
1
  import React from "react";
2
2
  import { BaseComponentProps } from "../props/BaseComponentProps";
3
- export interface NSInputSearchProps extends BaseComponentProps {
3
+ import { ValidationProps } from "../props/ValidationProps";
4
+ import { ValidationStringProps } from "../props/ValidationStringProps";
5
+ export interface NSInputSearchProps extends BaseComponentProps, ValidationProps, ValidationStringProps {
6
+ title: string;
4
7
  defaultValue?: string;
5
8
  onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
6
9
  placeholder?: string;
7
10
  }
8
11
  export interface NSInputSearchState {
9
12
  value: string;
13
+ error?: string;
10
14
  }
11
15
  export declare class NSInputSearch extends React.Component<NSInputSearchProps, NSInputSearchState> {
12
16
  constructor(props: NSInputSearchProps);
17
+ getError(): string | null;
13
18
  getValue(): string;
14
19
  setValue(value: string): void;
15
20
  private onChanged;
@@ -1,20 +1,29 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import Styles from "./NSInputSearch.module.css";
4
+ import Styles from "./NSInput.module.css";
5
5
  import IconInputSearch from '../assets/images/icon-input-search.svg';
6
+ import { Validator } from "../Validator";
7
+ import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
6
8
  export class NSInputSearch extends React.Component {
7
9
  constructor(props) {
8
10
  var _a;
9
11
  super(props);
10
- this.state = {
11
- value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "",
12
- };
12
+ this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "" };
13
13
  this.getValue = this.getValue.bind(this);
14
14
  this.setValue = this.setValue.bind(this);
15
15
  this.onChanged = this.onChanged.bind(this);
16
16
  }
17
+ getError() {
18
+ return (Validator.getError(this.props.title, this.state.value, this.props) &&
19
+ Validator.getErrorString(this.props.title, this.state.value, this.props));
20
+ }
17
21
  getValue() {
22
+ let error = this.getError();
23
+ if (error) {
24
+ this.setState({ error });
25
+ throw new Error(error);
26
+ }
18
27
  return this.state.value;
19
28
  }
20
29
  setValue(value) {
@@ -27,7 +36,7 @@ export class NSInputSearch extends React.Component {
27
36
  }
28
37
  render() {
29
38
  var _a;
30
- return (_jsxs("div", { className: `${Styles.ns_input_form} p-2 ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx("img", { className: Styles.ns_input_icon, src: IconInputSearch, alt: "icon", width: 22, height: 22 }), _jsx("input", { value: this.state.value, onChange: this.onChanged, type: "text", className: Styles.ns_input, placeholder: this.props.placeholder })] }));
39
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_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: IconInputSearch, alt: "Search Icon", width: 24, height: 24 }), _jsx("input", { id: this.props.id, value: this.state.value, onChange: this.onChanged, type: "text", className: Styles.ns_input, placeholder: this.props.placeholder })] }), _jsx(NSInputErrorNotifier, { error: this.state.error })] }));
31
40
  }
32
41
  }
33
42
  //# sourceMappingURL=NSInputSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSInputSearch.js","sourceRoot":"","sources":["../../src/components/NSInputSearch.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAerE,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAiD;IAEtF,YAAY,KAAyB;;QAEjC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACO,SAAS,CAAC,CAAsC;QAEpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,aAAa,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aACrG,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,gBACI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACrC,IACA,CACT,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"NSInputSearch.js","sourceRoot":"","sources":["../../src/components/NSInputSearch.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import React from "react";
2
2
  import { BaseComponentProps } from "../props/BaseComponentProps";
3
- export interface NSInputStringProps extends BaseComponentProps {
3
+ import { ValidationProps } from "../props/ValidationProps";
4
+ import { ValidationStringProps } from "../props/ValidationStringProps";
5
+ export interface NSInputStringProps extends BaseComponentProps, ValidationProps, ValidationStringProps {
4
6
  title: string;
5
7
  defaultValue?: string;
6
8
  onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
@@ -8,9 +10,11 @@ export interface NSInputStringProps extends BaseComponentProps {
8
10
  }
9
11
  export interface NSInputStringState {
10
12
  value: string;
13
+ error?: string;
11
14
  }
12
15
  export declare class NSInputString extends React.Component<NSInputStringProps, NSInputStringState> {
13
16
  constructor(props: NSInputStringProps);
17
+ getError(): string | null;
14
18
  getValue(): string;
15
19
  setValue(value: string): void;
16
20
  private onChanged;
@@ -1,20 +1,29 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import Styles from "./NSInputString.module.css";
4
+ import Styles from "./NSInput.module.css";
5
5
  import IconInputString from '../assets/images/icon-input-string.svg';
6
+ import { Validator } from "../Validator";
7
+ import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
6
8
  export class NSInputString extends React.Component {
7
9
  constructor(props) {
8
10
  var _a;
9
11
  super(props);
10
- this.state = {
11
- value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "",
12
- };
12
+ this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "" };
13
13
  this.getValue = this.getValue.bind(this);
14
14
  this.setValue = this.setValue.bind(this);
15
15
  this.onChanged = this.onChanged.bind(this);
16
16
  }
17
+ getError() {
18
+ return (Validator.getError(this.props.title, this.state.value, this.props) &&
19
+ Validator.getErrorString(this.props.title, this.state.value, this.props));
20
+ }
17
21
  getValue() {
22
+ let error = this.getError();
23
+ if (error) {
24
+ this.setState({ error });
25
+ throw new Error(error);
26
+ }
18
27
  return this.state.value;
19
28
  }
20
29
  setValue(value) {
@@ -27,7 +36,7 @@ export class NSInputString extends React.Component {
27
36
  }
28
37
  render() {
29
38
  var _a;
30
- return (_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx("span", { className: Styles.ns_input_title, children: this.props.title }), _jsx("img", { className: Styles.ns_input_icon, src: IconInputString, alt: "icon", width: 24, height: 24 }), _jsx("input", { value: this.state.value, onChange: this.onChanged, type: "text", className: Styles.ns_input, placeholder: this.props.placeholder })] }));
39
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_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: IconInputString, alt: "String Icon", width: 24, height: 24 }), _jsx("input", { id: this.props.id, value: this.state.value, onChange: this.onChanged, type: "text", className: Styles.ns_input, placeholder: this.props.placeholder })] }), _jsx(NSInputErrorNotifier, { error: this.state.error })] }));
31
40
  }
32
41
  }
33
42
  //# sourceMappingURL=NSInputString.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSInputString.js","sourceRoot":"","sources":["../../src/components/NSInputString.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,eAAe,MAAM,wCAAwC,CAAC;AAgBrE,MAAM,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAiD;IAEtF,YAAY,KAAyB;;QAEjC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACO,SAAS,CAAC,CAAsC;QAEpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,eAAe,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aAEvG,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAQ,EACjE,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,gBACI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACrC,IACA,CACT,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"NSInputString.js","sourceRoot":"","sources":["../../src/components/NSInputString.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import React from "react";
2
2
  import { BaseComponentProps } from "../props/BaseComponentProps";
3
- export interface NSInputTextProps extends BaseComponentProps {
3
+ import { ValidationProps } from "../props/ValidationProps";
4
+ import { ValidationStringProps } from "../props/ValidationStringProps";
5
+ export interface NSInputTextProps extends BaseComponentProps, ValidationProps, ValidationStringProps {
4
6
  title: string;
5
7
  defaultValue?: string;
6
8
  onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
@@ -8,9 +10,11 @@ export interface NSInputTextProps extends BaseComponentProps {
8
10
  }
9
11
  export interface NSInputTextState {
10
12
  value: string;
13
+ error?: string;
11
14
  }
12
15
  export declare class NSInputText extends React.Component<NSInputTextProps, NSInputTextState> {
13
16
  constructor(props: NSInputTextProps);
17
+ getError(): string | null;
14
18
  getValue(): string;
15
19
  setValue(value: string): void;
16
20
  private onChanged;
@@ -1,20 +1,29 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import Styles from "./NSInputText.module.css";
4
+ import Styles from "./NSInput.module.css";
5
5
  import IconInputText from '../assets/images/icon-input-text.svg';
6
+ import { Validator } from "../Validator";
7
+ import { NSInputErrorNotifier } from "./NSInputErrorNotifier";
6
8
  export class NSInputText extends React.Component {
7
9
  constructor(props) {
8
10
  var _a;
9
11
  super(props);
10
- this.state = {
11
- value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "",
12
- };
12
+ this.state = { value: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : "" };
13
13
  this.getValue = this.getValue.bind(this);
14
14
  this.setValue = this.setValue.bind(this);
15
15
  this.onChanged = this.onChanged.bind(this);
16
16
  }
17
+ getError() {
18
+ return (Validator.getError(this.props.title, this.state.value, this.props) &&
19
+ Validator.getErrorString(this.props.title, this.state.value, this.props));
20
+ }
17
21
  getValue() {
22
+ let error = this.getError();
23
+ if (error) {
24
+ this.setState({ error });
25
+ throw new Error(error);
26
+ }
18
27
  return this.state.value;
19
28
  }
20
29
  setValue(value) {
@@ -27,7 +36,7 @@ export class NSInputText extends React.Component {
27
36
  }
28
37
  render() {
29
38
  var _a;
30
- return (_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_a = this.props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: this.props.style, children: [_jsx("span", { className: Styles.ns_input_title, children: this.props.title }), _jsx("img", { className: Styles.ns_input_icon, src: IconInputText, alt: "icon", width: 24, height: 24 }), _jsx("input", { value: this.state.value, onChange: this.onChanged, type: "text", className: Styles.ns_input, placeholder: this.props.placeholder })] }));
39
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `${Styles.ns_input_parent} p-2 ${(_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: IconInputText, alt: "Text Icon", width: 24, height: 24 }), _jsx("input", { id: this.props.id, value: this.state.value, onChange: this.onChanged, type: "text", className: Styles.ns_input, placeholder: this.props.placeholder })] }), _jsx(NSInputErrorNotifier, { error: this.state.error })] }));
31
40
  }
32
41
  }
33
42
  //# sourceMappingURL=NSInputText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSInputText.js","sourceRoot":"","sources":["../../src/components/NSInputText.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAgBjE,MAAM,OAAO,WAAY,SAAQ,KAAK,CAAC,SAA6C;IAEhF,YAAY,KAAuB;;QAE/B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE;SAClC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ;QAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,KAAa;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACO,SAAS,CAAC,CAAsC;QAEpD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACQ,MAAM;;QAEX,OAAO,CACH,eAAK,SAAS,EAAE,GAAG,MAAM,CAAC,eAAe,QAAQ,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,aACvG,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAQ,EACjE,cACI,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,GAAG,EAAE,aAAa,EAClB,GAAG,EAAC,MAAM,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACZ,EACF,gBACI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GACrC,IAEA,CACT,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"NSInputText.js","sourceRoot":"","sources":["../../src/components/NSInputText.tsx"],"names":[],"mappings":"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"}