namirasoft-site-react 1.3.211 → 1.3.213

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 (341) hide show
  1. package/config-overrides.js +70 -70
  2. package/dist/App.css +13 -0
  3. package/dist/App.d.ts +0 -6
  4. package/dist/App.js +5 -33
  5. package/dist/App.js.map +1 -1
  6. package/dist/assets/images/404 image.svg +9 -9
  7. package/dist/assets/images/404 image_mobile.svg +9 -9
  8. package/dist/assets/images/arrow.svg +3 -3
  9. package/dist/assets/images/danger.svg +3 -3
  10. package/dist/assets/images/exit.svg +3 -3
  11. package/dist/assets/images/icon-export.svg +3 -0
  12. package/dist/assets/images/icon-input-copy.svg +3 -3
  13. package/dist/assets/images/icon-input-date.svg +9 -9
  14. package/dist/assets/images/icon-input-duration.svg +9 -9
  15. package/dist/assets/images/icon-input-email.svg +9 -9
  16. package/dist/assets/images/icon-input-float.svg +9 -9
  17. package/dist/assets/images/icon-input-id.svg +9 -0
  18. package/dist/assets/images/icon-input-integer.svg +9 -9
  19. package/dist/assets/images/icon-input-ip.svg +9 -9
  20. package/dist/assets/images/icon-input-phone.svg +9 -9
  21. package/dist/assets/images/icon-input-price.svg +9 -9
  22. package/dist/assets/images/icon-input-search.svg +3 -3
  23. package/dist/assets/images/icon-input-string.svg +9 -9
  24. package/dist/assets/images/icon-input-text.svg +9 -9
  25. package/dist/assets/images/icon-input-time.svg +9 -9
  26. package/dist/assets/images/icon-refresh.svg +3 -0
  27. package/dist/assets/images/icon-select-box.svg +3 -3
  28. package/dist/assets/images/logo.svg +9 -9
  29. package/dist/assets/images/menu.svg +3 -3
  30. package/dist/assets/images/namira.svg +9 -9
  31. package/dist/assets/images/rectangle.svg +3 -3
  32. package/dist/components/NSActionMenu.js +4 -4
  33. package/dist/components/NSActionMenu.js.map +1 -1
  34. package/dist/components/NSActionMenu.module.css +75 -75
  35. package/dist/components/NSBarAction.module.css +87 -87
  36. package/dist/components/NSBarHeroBanner.module.css +42 -42
  37. package/dist/components/NSBarNotification.module.css +31 -31
  38. package/dist/components/NSBarTitle.js +1 -1
  39. package/dist/components/NSBarTitle.js.map +1 -1
  40. package/dist/components/NSBarTitle.module.css +9 -9
  41. package/dist/components/NSBox.module.css +112 -105
  42. package/dist/components/NSBoxBoolean.module.css +54 -54
  43. package/dist/components/NSBoxDate.module.css +39 -39
  44. package/dist/components/NSBoxEmail.js +1 -1
  45. package/dist/components/NSBoxEmail.js.map +1 -1
  46. package/dist/components/NSBoxEnum.module.css +38 -38
  47. package/dist/components/NSBoxErrorNotifier.module.css +2 -2
  48. package/dist/components/NSBoxOTP.module.css +10 -10
  49. package/dist/components/NSBoxTextArea.module.css +72 -76
  50. package/dist/components/NSButton.js +1 -1
  51. package/dist/components/NSButton.js.map +1 -1
  52. package/dist/components/NSButton.module.css +27 -27
  53. package/dist/components/NSButtonBlue.module.css +4 -4
  54. package/dist/components/NSButtonGreen.module.css +4 -4
  55. package/dist/components/NSButtonRed.module.css +4 -4
  56. package/dist/components/NSCard.js +1 -1
  57. package/dist/components/NSCard.js.map +1 -1
  58. package/dist/components/NSCard.module.css +110 -110
  59. package/dist/components/NSCopyToClipboard.module.css +39 -39
  60. package/dist/components/NSElectronicCard.module.css +60 -60
  61. package/dist/components/NSEntityBar.js +1 -1
  62. package/dist/components/NSEntityBar.js.map +1 -1
  63. package/dist/components/NSEntityBar.module.css +77 -77
  64. package/dist/components/NSEntityCardBackground.module.css +27 -27
  65. package/dist/components/NSFilterBox.module.css +38 -38
  66. package/dist/components/NSFilterBoxDialog.module.css +36 -36
  67. package/dist/components/NSFilterItem.module.css +23 -23
  68. package/dist/components/NSFooter.module.css +126 -126
  69. package/dist/components/NSGroupedList.module.css +70 -70
  70. package/dist/components/NSHeader.js +1 -1
  71. package/dist/components/NSHeader.js.map +1 -1
  72. package/dist/components/NSHeader.module.css +254 -254
  73. package/dist/components/NSInput.module.css +74 -0
  74. package/dist/components/NSInputDate.d.ts +21 -0
  75. package/dist/components/NSInputDate.js +41 -0
  76. package/dist/components/NSInputDate.js.map +1 -0
  77. package/dist/components/NSInputDate.module.css +42 -0
  78. package/dist/components/NSInputDuration.d.ts +23 -0
  79. package/dist/components/NSInputDuration.js +42 -0
  80. package/dist/components/NSInputDuration.js.map +1 -0
  81. package/dist/components/NSInputEmail.d.ts +22 -0
  82. package/dist/components/NSInputEmail.js +43 -0
  83. package/dist/components/NSInputEmail.js.map +1 -0
  84. package/dist/components/NSInputErrorNotifier.d.ts +5 -0
  85. package/dist/components/NSInputErrorNotifier.js +7 -0
  86. package/dist/components/NSInputErrorNotifier.js.map +1 -0
  87. package/dist/components/NSInputErrorNotifier.module.css +3 -0
  88. package/dist/components/NSInputFloat.d.ts +22 -0
  89. package/dist/components/NSInputFloat.js +41 -0
  90. package/dist/components/NSInputFloat.js.map +1 -0
  91. package/dist/components/NSInputIP.d.ts +22 -0
  92. package/dist/components/NSInputIP.js +43 -0
  93. package/dist/components/NSInputIP.js.map +1 -0
  94. package/dist/components/NSInputInteger.d.ts +22 -0
  95. package/dist/components/NSInputInteger.js +41 -0
  96. package/dist/components/NSInputInteger.js.map +1 -0
  97. package/dist/components/NSInputPassword.d.ts +22 -0
  98. package/dist/components/NSInputPassword.js +42 -0
  99. package/dist/components/NSInputPassword.js.map +1 -0
  100. package/dist/components/NSInputPhone.d.ts +22 -0
  101. package/dist/components/NSInputPhone.js +38 -0
  102. package/dist/components/NSInputPhone.js.map +1 -0
  103. package/dist/components/NSInputPrice.d.ts +22 -0
  104. package/dist/components/NSInputPrice.js +41 -0
  105. package/dist/components/NSInputPrice.js.map +1 -0
  106. package/dist/components/NSInputSearch.d.ts +22 -0
  107. package/dist/components/NSInputSearch.js +41 -0
  108. package/dist/components/NSInputSearch.js.map +1 -0
  109. package/dist/components/NSInputString.d.ts +22 -0
  110. package/dist/components/NSInputString.js +42 -0
  111. package/dist/components/NSInputString.js.map +1 -0
  112. package/dist/components/NSInputText.d.ts +22 -0
  113. package/dist/components/NSInputText.js +42 -0
  114. package/dist/components/NSInputText.js.map +1 -0
  115. package/dist/components/NSInputTime.d.ts +22 -0
  116. package/dist/components/NSInputTime.js +43 -0
  117. package/dist/components/NSInputTime.js.map +1 -0
  118. package/dist/components/NSLayout.module.css +13 -13
  119. package/dist/components/NSLayoutAction.d.ts +5 -0
  120. package/dist/components/NSLayoutAction.js +20 -0
  121. package/dist/components/NSLayoutAction.js.map +1 -0
  122. package/dist/components/NSLayoutAction.module.css +88 -0
  123. package/dist/components/NSLayoutHeroBanner.d.ts +2 -0
  124. package/dist/components/NSLayoutHeroBanner.js +8 -0
  125. package/dist/components/NSLayoutHeroBanner.js.map +1 -0
  126. package/dist/components/NSLayoutHeroBanner.module.css +43 -0
  127. package/dist/components/NSLayoutTitle.d.ts +2 -0
  128. package/dist/components/NSLayoutTitle.js +11 -0
  129. package/dist/components/NSLayoutTitle.js.map +1 -0
  130. package/dist/components/NSLayoutTitle.module.css +10 -0
  131. package/dist/components/NSLink.module.css +36 -36
  132. package/dist/components/NSLoading.js +2 -2
  133. package/dist/components/NSLoading.js.map +1 -1
  134. package/dist/components/NSLoading.module.css +26 -29
  135. package/dist/components/NSModal.js +2 -2
  136. package/dist/components/NSModal.module.css +70 -70
  137. package/dist/components/NSNotification.d.ts +21 -0
  138. package/dist/components/NSNotification.js +37 -0
  139. package/dist/components/NSNotification.js.map +1 -0
  140. package/dist/components/NSNotification.module.css +32 -0
  141. package/dist/components/NSPagination.js +2 -2
  142. package/dist/components/NSPagination.js.map +1 -1
  143. package/dist/components/NSPagination.module.css +37 -67
  144. package/dist/components/NSPanel.module.css +45 -46
  145. package/dist/components/NSSection.module.css +10 -10
  146. package/dist/components/NSSectionBars.module.css +10 -10
  147. package/dist/components/NSSectionCards.module.css +38 -38
  148. package/dist/components/NSSelectBox.d.ts +24 -0
  149. package/dist/components/NSSelectBox.js +61 -0
  150. package/dist/components/NSSelectBox.js.map +1 -0
  151. package/dist/components/NSSelectBox.module.css +42 -0
  152. package/dist/components/NSTabPage.module.css +44 -48
  153. package/dist/components/NSTable.js +5 -8
  154. package/dist/components/NSTable.js.map +1 -1
  155. package/dist/components/NSTable.module.css +165 -170
  156. package/dist/components/NSTitle.module.css +15 -15
  157. package/dist/components/NSVerification.module.css +22 -22
  158. package/dist/index.css +6 -0
  159. package/dist/pages/NSLoginPage.module.css +19 -19
  160. package/dist/pages/NSNotFoundPage.module.css +18 -18
  161. package/dist/props/BaseComponentProps.d.ts +6 -0
  162. package/dist/props/BaseComponentProps.js +2 -0
  163. package/dist/props/BaseComponentProps.js.map +10 -0
  164. package/dist/props/IHeaderIconProps.d.ts +2 -0
  165. package/dist/props/INamirasoftProps.d.ts +4 -0
  166. package/dist/props/INamirasoftProps.js +2 -0
  167. package/dist/props/INamirasoftProps.js.map +1 -0
  168. package/dist/props/ImageProps.d.ts +4 -0
  169. package/dist/props/ImageProps.js +2 -0
  170. package/dist/props/ImageProps.js.map +10 -0
  171. package/dist/props/LinkProps.d.ts +5 -0
  172. package/dist/props/LinkProps.js +2 -0
  173. package/dist/props/LinkProps.js.map +10 -0
  174. package/dist/props/ValidationNumberProps.d.ts +4 -0
  175. package/dist/props/ValidationNumberProps.js +2 -0
  176. package/dist/props/ValidationNumberProps.js.map +10 -0
  177. package/dist/props/ValidationProps.d.ts +6 -0
  178. package/dist/props/ValidationProps.js +2 -0
  179. package/dist/props/ValidationProps.js.map +10 -0
  180. package/dist/props/ValidationRegexProps.d.ts +4 -0
  181. package/dist/props/ValidationRegexProps.js +2 -0
  182. package/dist/props/ValidationRegexProps.js.map +1 -0
  183. package/dist/props/ValidationStringProps.d.ts +4 -0
  184. package/dist/props/ValidationStringProps.js +2 -0
  185. package/dist/props/ValidationStringProps.js.map +10 -0
  186. package/package.json +65 -65
  187. package/public/index.html +38 -38
  188. package/public/manifest.json +24 -24
  189. package/public/robots.txt +3 -3
  190. package/src/App.css +16 -16
  191. package/src/App.tsx +67 -114
  192. package/src/CopyToClipboard.ts +6 -6
  193. package/src/Validator.ts +110 -110
  194. package/src/assets/images/404 image.svg +9 -9
  195. package/src/assets/images/404 image_mobile.svg +9 -9
  196. package/src/assets/images/arrow.svg +3 -3
  197. package/src/assets/images/danger.svg +3 -3
  198. package/src/assets/images/exit.svg +3 -3
  199. package/src/assets/images/icon-input-copy.svg +3 -3
  200. package/src/assets/images/icon-input-date.svg +9 -9
  201. package/src/assets/images/icon-input-duration.svg +9 -9
  202. package/src/assets/images/icon-input-email.svg +9 -9
  203. package/src/assets/images/icon-input-float.svg +9 -9
  204. package/src/assets/images/icon-input-integer.svg +9 -9
  205. package/src/assets/images/icon-input-ip.svg +9 -9
  206. package/src/assets/images/icon-input-phone.svg +9 -9
  207. package/src/assets/images/icon-input-price.svg +9 -9
  208. package/src/assets/images/icon-input-search.svg +3 -3
  209. package/src/assets/images/icon-input-string.svg +9 -9
  210. package/src/assets/images/icon-input-text.svg +9 -9
  211. package/src/assets/images/icon-input-time.svg +9 -9
  212. package/src/assets/images/icon-select-box.svg +3 -3
  213. package/src/assets/images/logo.svg +9 -9
  214. package/src/assets/images/menu.svg +3 -3
  215. package/src/assets/images/namira.svg +9 -9
  216. package/src/assets/images/rectangle.svg +3 -3
  217. package/src/components/NSActionMenu.module.css +75 -75
  218. package/src/components/NSActionMenu.tsx +78 -78
  219. package/src/components/NSBarAction.module.css +87 -87
  220. package/src/components/NSBarAction.tsx +87 -87
  221. package/src/components/NSBarHeroBanner.module.css +42 -42
  222. package/src/components/NSBarHeroBanner.tsx +61 -61
  223. package/src/components/NSBarNotification.module.css +31 -31
  224. package/src/components/NSBarNotification.tsx +63 -63
  225. package/src/components/NSBarTitle.module.css +9 -9
  226. package/src/components/NSBarTitle.tsx +28 -28
  227. package/src/components/NSBox.module.css +85 -105
  228. package/src/components/NSBoxBoolean.module.css +54 -54
  229. package/src/components/NSBoxBoolean.tsx +91 -91
  230. package/src/components/NSBoxDate.module.css +39 -39
  231. package/src/components/NSBoxDate.tsx +84 -84
  232. package/src/components/NSBoxDateTime.tsx +84 -84
  233. package/src/components/NSBoxDouble.tsx +90 -90
  234. package/src/components/NSBoxDuration.tsx +88 -88
  235. package/src/components/NSBoxEmail.tsx +128 -135
  236. package/src/components/NSBoxEntity.tsx +120 -120
  237. package/src/components/NSBoxEnum.module.css +38 -38
  238. package/src/components/NSBoxEnum.tsx +127 -127
  239. package/src/components/NSBoxErrorNotifier.module.css +2 -2
  240. package/src/components/NSBoxErrorNotifier.tsx +27 -27
  241. package/src/components/NSBoxIPV4.tsx +93 -93
  242. package/src/components/NSBoxIPV6.tsx +90 -90
  243. package/src/components/NSBoxInteger.tsx +86 -86
  244. package/src/components/NSBoxLabel.module.css +12 -12
  245. package/src/components/NSBoxLabel.tsx +28 -28
  246. package/src/components/NSBoxOTP.module.css +10 -10
  247. package/src/components/NSBoxOTP.tsx +61 -61
  248. package/src/components/NSBoxPassword.tsx +86 -86
  249. package/src/components/NSBoxPhone.tsx +114 -114
  250. package/src/components/NSBoxPrice.tsx +88 -88
  251. package/src/components/NSBoxSearch.tsx +89 -89
  252. package/src/components/NSBoxString.tsx +118 -118
  253. package/src/components/NSBoxText.tsx +131 -131
  254. package/src/components/NSBoxTextArea.module.css +76 -76
  255. package/src/components/NSBoxTextArea.tsx +131 -131
  256. package/src/components/NSBoxTime.tsx +88 -88
  257. package/src/components/NSButton.module.css +27 -27
  258. package/src/components/NSButton.tsx +23 -23
  259. package/src/components/NSButtonBlue.module.css +4 -4
  260. package/src/components/NSButtonBlue.tsx +12 -12
  261. package/src/components/NSButtonGreen.module.css +4 -4
  262. package/src/components/NSButtonGreen.tsx +11 -11
  263. package/src/components/NSButtonRed.module.css +4 -4
  264. package/src/components/NSButtonRed.tsx +11 -11
  265. package/src/components/NSCard.module.css +110 -110
  266. package/src/components/NSCard.tsx +69 -69
  267. package/src/components/NSCopyToClipboard.module.css +39 -39
  268. package/src/components/NSCopyToClipboard.tsx +35 -35
  269. package/src/components/NSElectronicCard.module.css +60 -60
  270. package/src/components/NSElectronicCard.tsx +47 -47
  271. package/src/components/NSEntityBar.module.css +77 -77
  272. package/src/components/NSEntityBar.tsx +27 -27
  273. package/src/components/NSEntityCardBackground.module.css +27 -27
  274. package/src/components/NSEntityCardBackground.tsx +34 -34
  275. package/src/components/NSFilterBox.module.css +38 -38
  276. package/src/components/NSFilterBox.tsx +277 -277
  277. package/src/components/NSFilterBoxDialog.module.css +36 -36
  278. package/src/components/NSFilterBoxDialog.tsx +74 -74
  279. package/src/components/NSFilterItem.module.css +23 -23
  280. package/src/components/NSFilterItem.tsx +71 -71
  281. package/src/components/NSFooter.module.css +126 -126
  282. package/src/components/NSFooter.tsx +153 -153
  283. package/src/components/NSGroupedList.module.css +70 -70
  284. package/src/components/NSGroupedList.tsx +56 -56
  285. package/src/components/NSHeader.module.css +254 -254
  286. package/src/components/NSHeader.tsx +187 -184
  287. package/src/components/NSLayout.module.css +13 -13
  288. package/src/components/NSLayout.tsx +75 -75
  289. package/src/components/NSLine.tsx +18 -18
  290. package/src/components/NSLink.module.css +36 -36
  291. package/src/components/NSLink.tsx +25 -25
  292. package/src/components/NSLinkBlue.tsx +20 -20
  293. package/src/components/NSLinkGreen.tsx +5 -5
  294. package/src/components/NSLinkRed.tsx +5 -5
  295. package/src/components/NSLoading.module.css +26 -29
  296. package/src/components/NSLoading.tsx +17 -19
  297. package/src/components/NSModal.module.css +70 -70
  298. package/src/components/NSModal.tsx +62 -62
  299. package/src/components/NSPagination.module.css +37 -67
  300. package/src/components/NSPagination.tsx +116 -116
  301. package/src/components/NSPanel.module.css +46 -46
  302. package/src/components/NSPanel.tsx +19 -19
  303. package/src/components/NSSection.module.css +10 -10
  304. package/src/components/NSSection.tsx +23 -23
  305. package/src/components/NSSectionBars.module.css +10 -10
  306. package/src/components/NSSectionBars.tsx +25 -25
  307. package/src/components/NSSectionCards.module.css +38 -38
  308. package/src/components/NSSectionCards.tsx +51 -51
  309. package/src/components/NSSectionTitle.tsx +21 -21
  310. package/src/components/NSSpace.tsx +28 -28
  311. package/src/components/NSTabPage.module.css +48 -48
  312. package/src/components/NSTabPage.tsx +45 -45
  313. package/src/components/NSTable.module.css +166 -170
  314. package/src/components/NSTable.tsx +192 -197
  315. package/src/components/NSTitle.module.css +15 -15
  316. package/src/components/NSTitle.tsx +19 -19
  317. package/src/components/NSVerification.module.css +22 -22
  318. package/src/components/NSVerification.tsx +41 -41
  319. package/src/index.tsx +7 -7
  320. package/src/main.ts +73 -73
  321. package/src/pages/NSLoginPage.module.css +19 -19
  322. package/src/pages/NSLoginPage.tsx +45 -45
  323. package/src/pages/NSNotFoundPage.module.css +18 -18
  324. package/src/pages/NSNotFoundPage.tsx +11 -11
  325. package/src/props/IBaseComponentProps.ts +7 -7
  326. package/src/props/IHeaderIconProps.ts +9 -6
  327. package/src/props/IHeaderProps.ts +6 -6
  328. package/src/props/IImageProps.ts +4 -4
  329. package/src/props/ILinkProps.ts +5 -5
  330. package/src/props/IValidationNumberProps.ts +4 -4
  331. package/src/props/IValidationProps.ts +7 -7
  332. package/src/props/IValidationRegexProps.ts +4 -4
  333. package/src/props/IValidationStringProps.ts +4 -4
  334. package/src/routing/INSRouterMaker.ts +6 -6
  335. package/src/routing/INSRouterProps.ts +5 -5
  336. package/src/routing/INSRouterState.ts +5 -5
  337. package/src/routing/NSRouterMaker.tsx +33 -33
  338. package/src/routing/Notifier.ts +79 -79
  339. package/tsconfig.json +43 -43
  340. package/dist/components/NSBoxLabel.module.css +0 -13
  341. package/public/assets/images/no_data.png +0 -0
@@ -1,87 +1,87 @@
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 INSBoxPasswordProps 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 INSBoxPasswordState
21
- {
22
- value: string;
23
- error?: string;
24
- }
25
-
26
- export class NSBoxPassword extends React.Component<INSBoxPasswordProps, INSBoxPasswordState>
27
- {
28
- constructor(props: INSBoxPasswordProps)
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
- setTimeout(() =>
50
- {
51
- this.setState({ error: "" });
52
- }, 7000);
53
- throw new Error(error);
54
- }
55
- return this.state.value;
56
- }
57
- setValue(value: string): void
58
- {
59
- this.setState({ value });
60
- }
61
- private onChanged(e: React.ChangeEvent<HTMLInputElement>): void
62
- {
63
- this.setValue(e.target.value);
64
- if (this.props.onChanged)
65
- this.props.onChanged(e);
66
- }
67
- override render()
68
- {
69
- return (
70
- <>
71
- <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
72
- <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
73
- <input
74
- id={this.props.id}
75
- value={this.state.value}
76
- onChange={this.onChanged}
77
- type="password"
78
- className={Styles.ns_input}
79
- placeholder={this.props.placeholder}
80
- style={{ background: `url(${IconInputString}) white no-repeat scroll center right 16px` }}
81
- />
82
- </div>
83
- <NSBoxErrorNotifier error={this.state.error} />
84
- </>
85
- );
86
- }
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 INSBoxPasswordProps 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 INSBoxPasswordState
21
+ {
22
+ value: string;
23
+ error?: string;
24
+ }
25
+
26
+ export class NSBoxPassword extends React.Component<INSBoxPasswordProps, INSBoxPasswordState>
27
+ {
28
+ constructor(props: INSBoxPasswordProps)
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
+ setTimeout(() =>
50
+ {
51
+ this.setState({ error: "" });
52
+ }, 7000);
53
+ throw new Error(error);
54
+ }
55
+ return this.state.value;
56
+ }
57
+ setValue(value: string): void
58
+ {
59
+ this.setState({ value });
60
+ }
61
+ private onChanged(e: React.ChangeEvent<HTMLInputElement>): void
62
+ {
63
+ this.setValue(e.target.value);
64
+ if (this.props.onChanged)
65
+ this.props.onChanged(e);
66
+ }
67
+ override render()
68
+ {
69
+ return (
70
+ <>
71
+ <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
72
+ <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
73
+ <input
74
+ id={this.props.id}
75
+ value={this.state.value}
76
+ onChange={this.onChanged}
77
+ type="password"
78
+ className={Styles.ns_input}
79
+ placeholder={this.props.placeholder}
80
+ style={{ background: `url(${IconInputString}) white no-repeat scroll center right 16px` }}
81
+ />
82
+ </div>
83
+ <NSBoxErrorNotifier error={this.state.error} />
84
+ </>
85
+ );
86
+ }
87
87
  }
@@ -1,115 +1,115 @@
1
- "use client";
2
-
3
- import React from "react";
4
- import Styles from "./NSBox.module.css";
5
- import IconFullScreen from '../assets/images/icon-fullscreen.png';
6
- import IconCopy from '../assets/images/icon-copy.png';
7
- import PhoneIcon from '../assets/images/icon-input-phone.svg';
8
- import PhoneInput from 'react-phone-input-2'
9
- import 'react-phone-input-2/lib/style.css'
10
- import { IBaseComponentProps } from "../props/IBaseComponentProps";
11
- import { IValidationProps } from "../props/IValidationProps";
12
- import { IValidationStringProps } from "../props/IValidationStringProps";
13
- import { Validator } from "../Validator";
14
- import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
15
- import CopyToClipboard from '../CopyToClipboard';
16
-
17
- export interface INSBoxPhoneProps extends IBaseComponentProps, IValidationProps, IValidationStringProps
18
- {
19
- title: string;
20
- defaultValue?: string;
21
- onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
22
- placeholder?: string;
23
- }
24
-
25
- export interface INSBoxPhoneState
26
- {
27
- value: string;
28
- error?: string;
29
- isFullScreen: boolean;
30
- }
31
-
32
- export class NSBoxPhone extends React.Component<INSBoxPhoneProps, INSBoxPhoneState>
33
- {
34
- constructor(props: INSBoxPhoneProps)
35
- {
36
- super(props);
37
- this.state = { value: props.defaultValue ?? "", isFullScreen: false };
38
- this.setValue = this.setValue.bind(this);
39
- this.getValue = this.getValue.bind(this);
40
- this.toggleFullScreen = this.toggleFullScreen.bind(this);
41
- }
42
- getError(): string | null
43
- {
44
- return (
45
- Validator.getError(this.props.title, this.state.value, this.props) ||
46
- Validator.getErrorString(this.props.title, this.state.value, this.props)
47
- );
48
- }
49
- getValue(): string
50
- {
51
- let error = this.getError();
52
- if (error)
53
- {
54
- this.setState({ error });
55
- setTimeout(() =>
56
- {
57
- this.setState({ error: "" });
58
- }, 8000);
59
- throw new Error(error);
60
-
61
- }
62
- return this.state.value;
63
- }
64
- setValue(value: string): void
65
- {
66
- this.setState({ value });
67
- }
68
- private toggleFullScreen(): void
69
- {
70
- this.setState(prevState => ({ isFullScreen: !prevState.isFullScreen }));
71
- }
72
- override render()
73
- {
74
- return (
75
- <>
76
- <div id={this.props.id} className={`${Styles.ns_input_phone_parent} ${Styles.ns_input_parent} ${this.props.classList?.join(" ")} ${this.state.isFullScreen ? Styles.ns_full_screen : ""}`} style={this.props.style}>
77
-
78
- <div className="d-flex justify-content-between align-item-center">
79
- <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
80
- <div className="d-flex gap-1">
81
- <button className={Styles.ns_btn_box} onClick={() => CopyToClipboard.copyToClipboard(this.getValue())}>
82
- <img
83
- src={IconCopy}
84
- alt="Copy"
85
- width={14}
86
- height={14}
87
- />
88
- </button>
89
- <button className={Styles.ns_btn_box} onClick={this.toggleFullScreen}>
90
- <img
91
- src={IconFullScreen}
92
- alt="FullScreen"
93
- width={14}
94
- height={14}
95
- />
96
- </button>
97
- </div>
98
- </div>
99
- <PhoneInput
100
- value={this.state.value}
101
- onChange={this.setValue}
102
- country={'us'}
103
- inputClass={Styles.PhoneIconns_input}
104
- placeholder={this.props.placeholder}
105
- inputStyle={{
106
- background: `url(${PhoneIcon}) white no-repeat scroll center right 16px`,
107
- backgroundSize: "24px"
108
- }}
109
- />
110
- </div >
111
- <NSBoxErrorNotifier error={this.state.error} />
112
- </>
113
- );
114
- }
1
+ "use client";
2
+
3
+ import React from "react";
4
+ import Styles from "./NSBox.module.css";
5
+ import IconFullScreen from '../assets/images/icon-fullscreen.png';
6
+ import IconCopy from '../assets/images/icon-copy.png';
7
+ import PhoneIcon from '../assets/images/icon-input-phone.svg';
8
+ import PhoneInput from 'react-phone-input-2'
9
+ import 'react-phone-input-2/lib/style.css'
10
+ import { IBaseComponentProps } from "../props/IBaseComponentProps";
11
+ import { IValidationProps } from "../props/IValidationProps";
12
+ import { IValidationStringProps } from "../props/IValidationStringProps";
13
+ import { Validator } from "../Validator";
14
+ import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
15
+ import CopyToClipboard from '../CopyToClipboard';
16
+
17
+ export interface INSBoxPhoneProps extends IBaseComponentProps, IValidationProps, IValidationStringProps
18
+ {
19
+ title: string;
20
+ defaultValue?: string;
21
+ onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
22
+ placeholder?: string;
23
+ }
24
+
25
+ export interface INSBoxPhoneState
26
+ {
27
+ value: string;
28
+ error?: string;
29
+ isFullScreen: boolean;
30
+ }
31
+
32
+ export class NSBoxPhone extends React.Component<INSBoxPhoneProps, INSBoxPhoneState>
33
+ {
34
+ constructor(props: INSBoxPhoneProps)
35
+ {
36
+ super(props);
37
+ this.state = { value: props.defaultValue ?? "", isFullScreen: false };
38
+ this.setValue = this.setValue.bind(this);
39
+ this.getValue = this.getValue.bind(this);
40
+ this.toggleFullScreen = this.toggleFullScreen.bind(this);
41
+ }
42
+ getError(): string | null
43
+ {
44
+ return (
45
+ Validator.getError(this.props.title, this.state.value, this.props) ||
46
+ Validator.getErrorString(this.props.title, this.state.value, this.props)
47
+ );
48
+ }
49
+ getValue(): string
50
+ {
51
+ let error = this.getError();
52
+ if (error)
53
+ {
54
+ this.setState({ error });
55
+ setTimeout(() =>
56
+ {
57
+ this.setState({ error: "" });
58
+ }, 8000);
59
+ throw new Error(error);
60
+
61
+ }
62
+ return this.state.value;
63
+ }
64
+ setValue(value: string): void
65
+ {
66
+ this.setState({ value });
67
+ }
68
+ private toggleFullScreen(): void
69
+ {
70
+ this.setState(prevState => ({ isFullScreen: !prevState.isFullScreen }));
71
+ }
72
+ override render()
73
+ {
74
+ return (
75
+ <>
76
+ <div id={this.props.id} className={`${Styles.ns_input_phone_parent} ${Styles.ns_input_parent} ${this.props.classList?.join(" ")} ${this.state.isFullScreen ? Styles.ns_full_screen : ""}`} style={this.props.style}>
77
+
78
+ <div className="d-flex justify-content-between align-item-center">
79
+ <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
80
+ <div className="d-flex gap-1">
81
+ <button className={Styles.ns_btn_box} onClick={() => CopyToClipboard.copyToClipboard(this.getValue())}>
82
+ <img
83
+ src={IconCopy}
84
+ alt="Copy"
85
+ width={14}
86
+ height={14}
87
+ />
88
+ </button>
89
+ <button className={Styles.ns_btn_box} onClick={this.toggleFullScreen}>
90
+ <img
91
+ src={IconFullScreen}
92
+ alt="FullScreen"
93
+ width={14}
94
+ height={14}
95
+ />
96
+ </button>
97
+ </div>
98
+ </div>
99
+ <PhoneInput
100
+ value={this.state.value}
101
+ onChange={this.setValue}
102
+ country={'us'}
103
+ inputClass={Styles.PhoneIconns_input}
104
+ placeholder={this.props.placeholder}
105
+ inputStyle={{
106
+ background: `url(${PhoneIcon}) white no-repeat scroll center right 16px`,
107
+ backgroundSize: "24px"
108
+ }}
109
+ />
110
+ </div >
111
+ <NSBoxErrorNotifier error={this.state.error} />
112
+ </>
113
+ );
114
+ }
115
115
  }
@@ -1,89 +1,89 @@
1
- "use client";
2
-
3
- import React from "react";
4
- import Styles from "./NSBox.module.css";
5
- import IconInputFloat from '../assets/images/icon-input-float.svg';
6
- import { IBaseComponentProps } from "../props/IBaseComponentProps";
7
- import { IValidationProps } from "../props/IValidationProps";
8
- import { IValidationNumberProps } from "../props/IValidationNumberProps";
9
- import { Validator } from "../Validator";
10
- import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
11
-
12
- export interface INSBoxPriceProps extends IBaseComponentProps, IValidationProps, IValidationNumberProps
13
- {
14
- title: string;
15
- defaultValue?: number;
16
- onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
17
- placeholder?: string;
18
- }
19
-
20
- export interface INSBoxPriceState
21
- {
22
- value?: number;
23
- error?: string;
24
- }
25
-
26
- export class NSBoxPrice extends React.Component<INSBoxPriceProps, INSBoxPriceState>
27
- {
28
- constructor(props: INSBoxPriceProps)
29
- {
30
- super(props);
31
- this.state = { value: props.defaultValue };
32
- this.setValue = this.setValue.bind(this);
33
- this.getValue = this.getValue.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.getErrorNumber(this.props.title, this.state.value, this.props)
41
- );
42
- }
43
- getValue(): number | undefined
44
- {
45
- let error = this.getError();
46
- if (error)
47
- {
48
- this.setState({ error });
49
- setTimeout(() =>
50
- {
51
- this.setState({ error: "" });
52
- }, 7000);
53
- throw new Error(error);
54
- }
55
- return this.state.value;
56
- }
57
- setValue(value: number | undefined): void
58
- {
59
- this.setState({ value });
60
- }
61
- private onChanged(e: React.ChangeEvent<HTMLInputElement>): void
62
- {
63
- this.setValue(parseFloat(e.target.value));
64
- if (this.props.onChanged)
65
- this.props.onChanged(e);
66
- }
67
- override render()
68
- {
69
- return (
70
- <>
71
- <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
72
- <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
73
- <input
74
- id={this.props.id}
75
- value={this.state.value}
76
- onChange={this.onChanged}
77
- type="number"
78
- step="0.01"
79
- min="0"
80
- className={Styles.ns_input}
81
- placeholder={this.props.placeholder}
82
- style={{ background: `url(${IconInputFloat}) white no-repeat scroll center right 16px` }}
83
- />
84
- </div>
85
- <NSBoxErrorNotifier error={this.state.error} />
86
- </>
87
- );
88
- }
1
+ "use client";
2
+
3
+ import React from "react";
4
+ import Styles from "./NSBox.module.css";
5
+ import IconInputFloat from '../assets/images/icon-input-float.svg';
6
+ import { IBaseComponentProps } from "../props/IBaseComponentProps";
7
+ import { IValidationProps } from "../props/IValidationProps";
8
+ import { IValidationNumberProps } from "../props/IValidationNumberProps";
9
+ import { Validator } from "../Validator";
10
+ import { NSBoxErrorNotifier } from "./NSBoxErrorNotifier";
11
+
12
+ export interface INSBoxPriceProps extends IBaseComponentProps, IValidationProps, IValidationNumberProps
13
+ {
14
+ title: string;
15
+ defaultValue?: number;
16
+ onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
17
+ placeholder?: string;
18
+ }
19
+
20
+ export interface INSBoxPriceState
21
+ {
22
+ value?: number;
23
+ error?: string;
24
+ }
25
+
26
+ export class NSBoxPrice extends React.Component<INSBoxPriceProps, INSBoxPriceState>
27
+ {
28
+ constructor(props: INSBoxPriceProps)
29
+ {
30
+ super(props);
31
+ this.state = { value: props.defaultValue };
32
+ this.setValue = this.setValue.bind(this);
33
+ this.getValue = this.getValue.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.getErrorNumber(this.props.title, this.state.value, this.props)
41
+ );
42
+ }
43
+ getValue(): number | undefined
44
+ {
45
+ let error = this.getError();
46
+ if (error)
47
+ {
48
+ this.setState({ error });
49
+ setTimeout(() =>
50
+ {
51
+ this.setState({ error: "" });
52
+ }, 7000);
53
+ throw new Error(error);
54
+ }
55
+ return this.state.value;
56
+ }
57
+ setValue(value: number | undefined): void
58
+ {
59
+ this.setState({ value });
60
+ }
61
+ private onChanged(e: React.ChangeEvent<HTMLInputElement>): void
62
+ {
63
+ this.setValue(parseFloat(e.target.value));
64
+ if (this.props.onChanged)
65
+ this.props.onChanged(e);
66
+ }
67
+ override render()
68
+ {
69
+ return (
70
+ <>
71
+ <div className={`${Styles.ns_input_parent} ${this.props.classList?.join(" ")}`} style={this.props.style}>
72
+ <span className={Styles.ns_input_title}> {this.props.required && <span style={{ color: "red" }} >*</span>} {this.props.title} </span>
73
+ <input
74
+ id={this.props.id}
75
+ value={this.state.value}
76
+ onChange={this.onChanged}
77
+ type="number"
78
+ step="0.01"
79
+ min="0"
80
+ className={Styles.ns_input}
81
+ placeholder={this.props.placeholder}
82
+ style={{ background: `url(${IconInputFloat}) white no-repeat scroll center right 16px` }}
83
+ />
84
+ </div>
85
+ <NSBoxErrorNotifier error={this.state.error} />
86
+ </>
87
+ );
88
+ }
89
89
  }