namirasoft-site-react 1.3.213 → 1.3.215

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