namirasoft-site-react 1.4.147 → 1.4.149

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 (266) hide show
  1. package/.dockerignore +86 -86
  2. package/.env.template +10 -10
  3. package/Dockerfile +18 -18
  4. package/config-overrides.js +72 -72
  5. package/dist/App.css +34 -0
  6. package/dist/components/NSBarAction.js +4 -4
  7. package/dist/components/NSBarAction.js.map +1 -1
  8. package/dist/components/NSBarAction.module.css +97 -97
  9. package/dist/components/NSBarAlert.module.css +79 -79
  10. package/dist/components/NSBarNotification.module.css +34 -34
  11. package/dist/components/NSBarTitle.module.css +9 -9
  12. package/dist/components/NSBox.module.css +50 -50
  13. package/dist/components/NSBoxBaseCombo.module.css +6 -6
  14. package/dist/components/NSBoxBoolean.module.css +67 -67
  15. package/dist/components/NSBoxDate.module.css +4 -4
  16. package/dist/components/NSBoxDateTime.module.css +4 -4
  17. package/dist/components/NSBoxDuration.module.css +4 -4
  18. package/dist/components/NSBoxFile.module.css +10 -10
  19. package/dist/components/NSBoxPhone.module.css +35 -35
  20. package/dist/components/NSBoxRadio.module.css +33 -33
  21. package/dist/components/NSBoxTextArea.module.css +12 -12
  22. package/dist/components/NSBoxTime.module.css +4 -4
  23. package/dist/components/NSButton.module.css +41 -41
  24. package/dist/components/NSButtonBlue.module.css +4 -4
  25. package/dist/components/NSButtonGreen.module.css +4 -4
  26. package/dist/components/NSButtonRed.module.css +4 -4
  27. package/dist/components/NSCard.module.css +114 -114
  28. package/dist/components/NSCardScreenshot.module.css +41 -41
  29. package/dist/components/NSChartColumn.module.css +7 -7
  30. package/dist/components/NSChartTable.module.css +21 -21
  31. package/dist/components/NSColumn.module.css +16 -16
  32. package/dist/components/NSCopyBox.module.css +43 -43
  33. package/dist/components/NSDialog.module.css +110 -110
  34. package/dist/components/NSDialogPageSelection.module.css +103 -103
  35. package/dist/components/NSDownTimer.module.css +55 -55
  36. package/dist/components/NSDownload.module.css +46 -46
  37. package/dist/components/NSElectronicCard.module.css +60 -60
  38. package/dist/components/NSEntityCardBackground.module.css +27 -27
  39. package/dist/components/NSFilterBox.module.css +53 -55
  40. package/dist/components/NSFilterItem.module.css +23 -23
  41. package/dist/components/NSFooter.module.css +123 -123
  42. package/dist/components/NSHeader.module.css +291 -291
  43. package/dist/components/NSHeaderScreenshot.module.css +35 -35
  44. package/dist/components/NSLabel.module.css +15 -15
  45. package/dist/components/NSLabelErrorNotifier.module.css +2 -2
  46. package/dist/components/NSLayout.js +1 -1
  47. package/dist/components/NSLayout.js.map +1 -1
  48. package/dist/components/NSLayout.module.css +14 -14
  49. package/dist/components/NSLine.module.css +12 -12
  50. package/dist/components/NSLink.module.css +36 -36
  51. package/dist/components/NSListGrouped.module.css +72 -72
  52. package/dist/components/NSLoading.module.css +30 -30
  53. package/dist/components/NSMenuAction.js +2 -2
  54. package/dist/components/NSMenuAction.module.css +78 -78
  55. package/dist/components/NSMenuButton.module.css +44 -44
  56. package/dist/components/NSNoData.module.css +9 -9
  57. package/dist/components/NSPagination.module.css +85 -85
  58. package/dist/components/NSPanel.module.css +18 -18
  59. package/dist/components/NSPanelAccordion.module.css +4 -4
  60. package/dist/components/NSRange.module.css +66 -66
  61. package/dist/components/NSRow.module.css +17 -17
  62. package/dist/components/NSSection.module.css +4 -4
  63. package/dist/components/NSSectionCards.module.css +38 -38
  64. package/dist/components/NSSectionTiles.module.css +10 -10
  65. package/dist/components/NSTabPage.module.css +59 -59
  66. package/dist/components/NSTable.module.css +260 -261
  67. package/dist/components/NSTag.module.css +52 -52
  68. package/dist/components/NSTile.module.css +77 -77
  69. package/dist/components/NSTimelineMonthly.module.css +71 -71
  70. package/dist/components/NSTitle.module.css +15 -15
  71. package/dist/index.css +6 -0
  72. package/dist/pages/NSNotFoundPage.module.css +17 -17
  73. package/dist/pages/NSUpdating.module.css +35 -35
  74. package/package.json +76 -76
  75. package/public/index.html +38 -38
  76. package/src/App.css +33 -33
  77. package/src/App.tsx +94 -94
  78. package/src/Color.tsx +10 -10
  79. package/src/CopyToClipboard.ts +6 -6
  80. package/src/Validator.ts +125 -125
  81. package/src/components/NSBarAction.module.css +97 -97
  82. package/src/components/NSBarAction.tsx +90 -91
  83. package/src/components/NSBarAlert.module.css +79 -79
  84. package/src/components/NSBarAlert.tsx +31 -31
  85. package/src/components/NSBarNotification.module.css +34 -34
  86. package/src/components/NSBarNotification.tsx +89 -89
  87. package/src/components/NSBarTitle.module.css +9 -9
  88. package/src/components/NSBarTitle.tsx +29 -29
  89. package/src/components/NSBox.module.css +50 -50
  90. package/src/components/NSBoxBaseCombo.module.css +6 -6
  91. package/src/components/NSBoxBaseCombo.tsx +252 -252
  92. package/src/components/NSBoxBaseLayout.tsx +82 -82
  93. package/src/components/NSBoxBoolean.module.css +67 -67
  94. package/src/components/NSBoxBoolean.tsx +113 -113
  95. package/src/components/NSBoxBooleans.tsx +163 -163
  96. package/src/components/NSBoxCombo.tsx +63 -63
  97. package/src/components/NSBoxDate.module.css +4 -4
  98. package/src/components/NSBoxDate.tsx +87 -87
  99. package/src/components/NSBoxDateTime.module.css +4 -4
  100. package/src/components/NSBoxDateTime.tsx +87 -87
  101. package/src/components/NSBoxDouble.tsx +90 -90
  102. package/src/components/NSBoxDuration.module.css +4 -4
  103. package/src/components/NSBoxDuration.tsx +92 -92
  104. package/src/components/NSBoxEmail.tsx +97 -97
  105. package/src/components/NSBoxEntity.tsx +52 -52
  106. package/src/components/NSBoxEnum.tsx +66 -66
  107. package/src/components/NSBoxFile.module.css +10 -10
  108. package/src/components/NSBoxFile.tsx +111 -111
  109. package/src/components/NSBoxIPV4.tsx +92 -92
  110. package/src/components/NSBoxIPV6.tsx +89 -89
  111. package/src/components/NSBoxInteger.tsx +89 -89
  112. package/src/components/NSBoxMoney.tsx +88 -88
  113. package/src/components/NSBoxPassword.tsx +98 -98
  114. package/src/components/NSBoxPhone.module.css +35 -35
  115. package/src/components/NSBoxPhone.tsx +104 -104
  116. package/src/components/NSBoxRadio.module.css +33 -33
  117. package/src/components/NSBoxRadio.tsx +98 -98
  118. package/src/components/NSBoxSearch.tsx +87 -87
  119. package/src/components/NSBoxString.tsx +80 -80
  120. package/src/components/NSBoxTextArea.module.css +12 -12
  121. package/src/components/NSBoxTextArea.tsx +90 -90
  122. package/src/components/NSBoxTime.module.css +4 -4
  123. package/src/components/NSBoxTime.tsx +84 -84
  124. package/src/components/NSButton.module.css +41 -41
  125. package/src/components/NSButton.tsx +25 -25
  126. package/src/components/NSButtonBlue.module.css +4 -4
  127. package/src/components/NSButtonBlue.tsx +19 -19
  128. package/src/components/NSButtonGreen.module.css +4 -4
  129. package/src/components/NSButtonGreen.tsx +19 -19
  130. package/src/components/NSButtonRed.module.css +4 -4
  131. package/src/components/NSButtonRed.tsx +19 -19
  132. package/src/components/NSCard.module.css +114 -114
  133. package/src/components/NSCard.tsx +63 -63
  134. package/src/components/NSCardScreenshot.module.css +41 -41
  135. package/src/components/NSCardScreenshot.tsx +31 -31
  136. package/src/components/NSChartColumn.module.css +7 -7
  137. package/src/components/NSChartColumn.tsx +106 -106
  138. package/src/components/NSChartDoughnut.tsx +108 -108
  139. package/src/components/NSChartPie.tsx +105 -105
  140. package/src/components/NSChartRange.tsx +14 -14
  141. package/src/components/NSChartTable.module.css +21 -21
  142. package/src/components/NSChartTable.tsx +94 -94
  143. package/src/components/NSColumn.module.css +16 -16
  144. package/src/components/NSColumn.tsx +18 -18
  145. package/src/components/NSCopy.tsx +67 -67
  146. package/src/components/NSCopyBox.module.css +43 -43
  147. package/src/components/NSCopyBox.tsx +41 -41
  148. package/src/components/NSDialog.module.css +110 -110
  149. package/src/components/NSDialog.tsx +57 -57
  150. package/src/components/NSDialogDelete.tsx +26 -26
  151. package/src/components/NSDialogInfo.tsx +36 -36
  152. package/src/components/NSDialogPageSelection.module.css +103 -103
  153. package/src/components/NSDialogPageSelection.tsx +223 -223
  154. package/src/components/NSDownTimer.module.css +55 -55
  155. package/src/components/NSDownTimer.tsx +77 -77
  156. package/src/components/NSDownload.module.css +46 -46
  157. package/src/components/NSDownload.tsx +63 -63
  158. package/src/components/NSElectronicCard.module.css +60 -60
  159. package/src/components/NSElectronicCard.tsx +46 -46
  160. package/src/components/NSEntityCardBackground.module.css +27 -27
  161. package/src/components/NSEntityCardBackground.tsx +36 -36
  162. package/src/components/NSFilterBox.module.css +53 -55
  163. package/src/components/NSFilterBox.tsx +360 -360
  164. package/src/components/NSFilterItem.module.css +23 -23
  165. package/src/components/NSFilterItem.tsx +72 -72
  166. package/src/components/NSFooter.module.css +123 -123
  167. package/src/components/NSFooter.tsx +316 -316
  168. package/src/components/NSHeader.module.css +291 -291
  169. package/src/components/NSHeader.tsx +250 -250
  170. package/src/components/NSHeaderScreenshot.module.css +35 -35
  171. package/src/components/NSHeaderScreenshot.tsx +39 -39
  172. package/src/components/NSLabel.module.css +15 -15
  173. package/src/components/NSLabel.tsx +29 -29
  174. package/src/components/NSLabelErrorNotifier.module.css +2 -2
  175. package/src/components/NSLabelErrorNotifier.tsx +32 -32
  176. package/src/components/NSLayout.module.css +14 -14
  177. package/src/components/NSLayout.tsx +98 -99
  178. package/src/components/NSLine.module.css +12 -12
  179. package/src/components/NSLine.tsx +15 -15
  180. package/src/components/NSLink.module.css +36 -36
  181. package/src/components/NSLink.tsx +25 -25
  182. package/src/components/NSLinkBlue.tsx +20 -20
  183. package/src/components/NSLinkGreen.tsx +5 -5
  184. package/src/components/NSLinkRed.tsx +5 -5
  185. package/src/components/NSListGrouped.module.css +72 -72
  186. package/src/components/NSListGrouped.tsx +112 -112
  187. package/src/components/NSListProduct.tsx +44 -44
  188. package/src/components/NSLoading.module.css +30 -30
  189. package/src/components/NSLoading.tsx +19 -19
  190. package/src/components/NSMenuAction.module.css +78 -78
  191. package/src/components/NSMenuAction.tsx +89 -89
  192. package/src/components/NSMenuButton.module.css +44 -44
  193. package/src/components/NSMenuButton.tsx +148 -148
  194. package/src/components/NSNoData.module.css +9 -9
  195. package/src/components/NSNoData.tsx +24 -24
  196. package/src/components/NSPagination.module.css +85 -85
  197. package/src/components/NSPagination.tsx +183 -183
  198. package/src/components/NSPanel.module.css +18 -18
  199. package/src/components/NSPanel.tsx +18 -18
  200. package/src/components/NSPanelAccordion.module.css +4 -4
  201. package/src/components/NSPanelAccordion.tsx +51 -51
  202. package/src/components/NSRange.module.css +66 -66
  203. package/src/components/NSRange.tsx +83 -83
  204. package/src/components/NSRepeater.tsx +179 -179
  205. package/src/components/NSRow.module.css +17 -17
  206. package/src/components/NSRow.tsx +18 -18
  207. package/src/components/NSSection.module.css +4 -4
  208. package/src/components/NSSection.tsx +20 -20
  209. package/src/components/NSSectionCards.module.css +38 -38
  210. package/src/components/NSSectionCards.tsx +51 -51
  211. package/src/components/NSSectionTiles.module.css +10 -10
  212. package/src/components/NSSectionTiles.tsx +25 -25
  213. package/src/components/NSSectionTitle.tsx +21 -21
  214. package/src/components/NSSpace.tsx +28 -28
  215. package/src/components/NSTabPage.module.css +59 -59
  216. package/src/components/NSTabPage.tsx +77 -77
  217. package/src/components/NSTable.module.css +260 -261
  218. package/src/components/NSTable.tsx +477 -477
  219. package/src/components/NSTag.module.css +52 -52
  220. package/src/components/NSTag.tsx +78 -78
  221. package/src/components/NSTile.module.css +77 -77
  222. package/src/components/NSTile.tsx +27 -27
  223. package/src/components/NSTimelineMonthly.module.css +71 -71
  224. package/src/components/NSTimelineMonthly.tsx +44 -44
  225. package/src/components/NSTitle.module.css +15 -15
  226. package/src/components/NSTitle.tsx +19 -19
  227. package/src/formatter/BackColorFormatter.tsx +23 -23
  228. package/src/formatter/BaseColumnFormatter.ts +16 -16
  229. package/src/formatter/BooleanFormatter.ts +22 -22
  230. package/src/formatter/DateFormatter.ts +20 -20
  231. package/src/formatter/DateTimeFormatter.ts +20 -20
  232. package/src/formatter/DurationFormatter.ts +13 -13
  233. package/src/formatter/EmailFormatter.ts +13 -13
  234. package/src/formatter/EnumFormatter.ts +13 -13
  235. package/src/formatter/FloatFormatter.ts +16 -16
  236. package/src/formatter/ForeColorFormatter.tsx +24 -24
  237. package/src/formatter/IDFormatter.tsx +30 -30
  238. package/src/formatter/IPFormatter.ts +13 -13
  239. package/src/formatter/IntegerFormatter.ts +16 -16
  240. package/src/formatter/JsonFormatter.ts +14 -14
  241. package/src/formatter/MoneyFormatter.ts +16 -16
  242. package/src/formatter/PhoneFormatter.ts +13 -13
  243. package/src/formatter/StringFormatter.ts +22 -22
  244. package/src/formatter/TimeFormatter.ts +21 -21
  245. package/src/formatter/UnknowFormatter.ts +18 -18
  246. package/src/index.tsx +7 -7
  247. package/src/main.ts +191 -191
  248. package/src/pages/NSNotFoundPage.module.css +17 -17
  249. package/src/pages/NSNotFoundPage.tsx +11 -11
  250. package/src/pages/NSUpdating.module.css +35 -35
  251. package/src/pages/NSUpdating.tsx +32 -32
  252. package/src/props/IBaseComponentProps.ts +8 -8
  253. package/src/props/IHeaderIconProps.ts +10 -10
  254. package/src/props/IHeaderProps.ts +7 -7
  255. package/src/props/IImageProps.ts +4 -4
  256. package/src/props/ILinkProps.ts +5 -5
  257. package/src/props/IValidationNumberProps.ts +4 -4
  258. package/src/props/IValidationProps.ts +7 -7
  259. package/src/props/IValidationRegexProps.ts +4 -4
  260. package/src/props/IValidationStringProps.ts +4 -4
  261. package/src/routing/INSRouterMaker.ts +6 -6
  262. package/src/routing/INSRouterProps.ts +5 -5
  263. package/src/routing/INSRouterState.ts +5 -5
  264. package/src/routing/NSRouterMaker.tsx +33 -33
  265. package/src/routing/Notifier.ts +79 -79
  266. package/tsconfig.json +43 -43
package/src/App.css CHANGED
@@ -1,34 +1,34 @@
1
- .ns_font_16_bold {
2
- font-size: 16px;
3
- font-weight: 600;
4
- }
5
-
6
- .out {
7
- width: 24px;
8
- height: 24px;
9
- background-color: red;
10
- margin: auto;
11
- display: flex;
12
- justify-content: center;
13
- align-items: center;
14
- }
15
-
16
- .middle {
17
- width: 19px;
18
- height: 19px;
19
- background-color: #fff;
20
- margin: auto;
21
- display: flex;
22
- justify-content: center;
23
- align-items: center;
24
- }
25
-
26
- .in {
27
- width: 14px;
28
- height: 14px;
29
- background-color: red;
30
- margin: auto;
31
- display: flex;
32
- justify-content: center;
33
- align-items: center;
1
+ .ns_font_16_bold {
2
+ font-size: 16px;
3
+ font-weight: 600;
4
+ }
5
+
6
+ .out {
7
+ width: 24px;
8
+ height: 24px;
9
+ background-color: red;
10
+ margin: auto;
11
+ display: flex;
12
+ justify-content: center;
13
+ align-items: center;
14
+ }
15
+
16
+ .middle {
17
+ width: 19px;
18
+ height: 19px;
19
+ background-color: #fff;
20
+ margin: auto;
21
+ display: flex;
22
+ justify-content: center;
23
+ align-items: center;
24
+ }
25
+
26
+ .in {
27
+ width: 14px;
28
+ height: 14px;
29
+ background-color: red;
30
+ margin: auto;
31
+ display: flex;
32
+ justify-content: center;
33
+ align-items: center;
34
34
  }
package/src/App.tsx CHANGED
@@ -1,95 +1,95 @@
1
- import './App.css';
2
- import 'bootstrap/dist/css/bootstrap.min.css';
3
- import { NSPanel, NSBoxDate, NSSection, NSBoxFile, NSLayout, NSBoxCombo, } from './main';
4
- import { NSRow } from './components/NSRow';
5
-
6
- export function App()
7
- {
8
- return (
9
- <>
10
- <NSLayout
11
- header={{
12
- icons: [],
13
- title: "",
14
- }}
15
- isLoggedIn={() => true}
16
- logo='https://img.freepik.com/free-photo/colorful-abstract-textured-background-design_53876-108265.jpg'
17
- notifications={[]}
18
- notifier={{} as any}
19
- scope=''
20
- background='url("https://img.freepik.com/free-photo/colorful-abstract-textured-background-design_53876-108265.jpg")'
21
- alerts={[
22
- {
23
- isVisible: () => true,
24
- title: { title: "Verify your email", description: "Please login to your profile and fill out your email address to continue. This does not take more than 2 minutes to finish." },
25
- },
26
- {
27
- isVisible: () => true,
28
- title: { title: "Verify", description: "Please login to your profile" },
29
- }
30
- ]}
31
- >
32
- <NSSection>
33
- <NSPanel >
34
- <NSBoxCombo
35
- getOptions={() =>
36
- {
37
- return [{ title: "Amir", value: "1" }, { title: "Ilia", value: "2" }];
38
- }}
39
- multiple={false}
40
- required
41
- title='s'
42
- ></NSBoxCombo>
43
- <NSBoxDate
44
- title='Date'
45
- required
46
- />
47
- <NSRow>
48
- <NSBoxDate
49
- title='Date'
50
- required
51
- />
52
- <NSBoxDate
53
- title='Date'
54
- required
55
- />
56
- </NSRow>
57
- <NSBoxDate
58
- title='Date'
59
- required
60
- />
61
- <NSBoxDate
62
- title='Date'
63
- required
64
- />
65
- <NSRow>
66
- <NSBoxFile
67
- title='Date'
68
- required
69
- style={{ width: "100%" }}
70
- />
71
- </NSRow>
72
- <NSRow>
73
- <NSBoxDate
74
- title='Date'
75
- required
76
- />
77
- <NSBoxDate
78
- title='Date'
79
- required
80
- />
81
- <NSBoxDate
82
- title='Date'
83
- required
84
- />
85
- <NSBoxDate
86
- title='Date'
87
- required
88
- />
89
- </NSRow>
90
- </NSPanel>
91
- </NSSection>
92
- </NSLayout >
93
- </>
94
- );
1
+ import './App.css';
2
+ import 'bootstrap/dist/css/bootstrap.min.css';
3
+ import { NSPanel, NSBoxDate, NSSection, NSBoxFile, NSLayout, NSBoxCombo, } from './main';
4
+ import { NSRow } from './components/NSRow';
5
+
6
+ export function App()
7
+ {
8
+ return (
9
+ <>
10
+ <NSLayout
11
+ header={{
12
+ icons: [],
13
+ title: "",
14
+ }}
15
+ isLoggedIn={() => true}
16
+ logo='https://img.freepik.com/free-photo/colorful-abstract-textured-background-design_53876-108265.jpg'
17
+ notifications={[]}
18
+ notifier={{} as any}
19
+ scope=''
20
+ background='url("https://img.freepik.com/free-photo/colorful-abstract-textured-background-design_53876-108265.jpg")'
21
+ alerts={[
22
+ {
23
+ isVisible: () => true,
24
+ title: { title: "Verify your email", description: "Please login to your profile and fill out your email address to continue. This does not take more than 2 minutes to finish." },
25
+ },
26
+ {
27
+ isVisible: () => true,
28
+ title: { title: "Verify", description: "Please login to your profile" },
29
+ }
30
+ ]}
31
+ >
32
+ <NSSection>
33
+ <NSPanel >
34
+ <NSBoxCombo
35
+ getOptions={() =>
36
+ {
37
+ return [{ title: "Amir", value: "1" }, { title: "Ilia", value: "2" }];
38
+ }}
39
+ multiple={false}
40
+ required
41
+ title='s'
42
+ ></NSBoxCombo>
43
+ <NSBoxDate
44
+ title='Date'
45
+ required
46
+ />
47
+ <NSRow>
48
+ <NSBoxDate
49
+ title='Date'
50
+ required
51
+ />
52
+ <NSBoxDate
53
+ title='Date'
54
+ required
55
+ />
56
+ </NSRow>
57
+ <NSBoxDate
58
+ title='Date'
59
+ required
60
+ />
61
+ <NSBoxDate
62
+ title='Date'
63
+ required
64
+ />
65
+ <NSRow>
66
+ <NSBoxFile
67
+ title='Date'
68
+ required
69
+ style={{ width: "100%" }}
70
+ />
71
+ </NSRow>
72
+ <NSRow>
73
+ <NSBoxDate
74
+ title='Date'
75
+ required
76
+ />
77
+ <NSBoxDate
78
+ title='Date'
79
+ required
80
+ />
81
+ <NSBoxDate
82
+ title='Date'
83
+ required
84
+ />
85
+ <NSBoxDate
86
+ title='Date'
87
+ required
88
+ />
89
+ </NSRow>
90
+ </NSPanel>
91
+ </NSSection>
92
+ </NSLayout >
93
+ </>
94
+ );
95
95
  }
package/src/Color.tsx CHANGED
@@ -1,11 +1,11 @@
1
- export class Color
2
- {
3
- static getColor(percentage: number,): string
4
- {
5
- if (percentage >= 75) return '#368F01';
6
- if (percentage >= 60) return ' #44B400';
7
- if (percentage >= 50) return '#56E500';
8
- if (percentage >= 25) return '#FAFF00';
9
- return 'red';
10
- }
1
+ export class Color
2
+ {
3
+ static getColor(percentage: number,): string
4
+ {
5
+ if (percentage >= 75) return '#368F01';
6
+ if (percentage >= 60) return ' #44B400';
7
+ if (percentage >= 50) return '#56E500';
8
+ if (percentage >= 25) return '#FAFF00';
9
+ return 'red';
10
+ }
11
11
  }
@@ -1,7 +1,7 @@
1
- export class CopyToClipboard
2
- {
3
- static copyToClipboard(value: string): void
4
- {
5
- navigator.clipboard.writeText(value);
6
- }
1
+ export class CopyToClipboard
2
+ {
3
+ static copyToClipboard(value: string): void
4
+ {
5
+ navigator.clipboard.writeText(value);
6
+ }
7
7
  };
package/src/Validator.ts CHANGED
@@ -1,126 +1,126 @@
1
- import { PhoneOperation } from "namirasoft-core";
2
- import { IValidationNumberProps } from "./props/IValidationNumberProps";
3
- import { IValidationProps } from "./props/IValidationProps";
4
- import { IValidationStringProps } from "./props/IValidationStringProps";
5
- import { DateSchema, DurationSchema, EmailSchema, IPV4Schema, IPV6Schema, TimeSchema } from "namirasoft-schema";
6
-
7
- export class Validator
8
- {
9
- static getError(name: string, value: string | number | null | undefined, validator: IValidationProps): string | null
10
- {
11
- if (validator.required)
12
- if (!value)
13
- return `${name} is required.`;
14
- if (value != null)
15
- if (validator.regex)
16
- {
17
- if (!new RegExp(validator.regex.regex).test(value + ""))
18
- return `${name} is not a valid ${validator.regex.name}.`;
19
- }
20
- if (value != null)
21
- if (validator.validator)
22
- {
23
- let error = validator.validator(name, value);
24
- if (error)
25
- return error;
26
- }
27
- return null;
28
- }
29
- static getErrorString(name: string, value: string | null | undefined, validator: IValidationStringProps): string | null
30
- {
31
- if (value != null)
32
- {
33
- if (validator.max_length != null)
34
- if (validator.max_length < value.length)
35
- return `Max length of ${name} should be ${validator.max_length} characters.`;
36
- if (validator.min_length != null)
37
- if (validator.min_length > value.length)
38
- return `Minlength of ${name} should be ${validator.min_length} characters.`;
39
- }
40
- return null;
41
- }
42
- static getErrorNumber(name: string, value: number | null | undefined, validator: IValidationNumberProps): string | null
43
- {
44
- if (value != null)
45
- {
46
- if (isNaN(value))
47
- return `${name} is not a number.`;
48
- if (validator.max != null)
49
- if (validator.max < value)
50
- return `Max value of ${name} should be ${validator.max} characters.`;
51
- if (validator.min != null)
52
- if (validator.min > value)
53
- return `Min value of ${name} should be ${validator.min} characters.`;
54
- }
55
- return null;
56
- }
57
- static getErrorEmail(name: string, value: string | null | undefined, validator: IValidationProps): string | null
58
- {
59
- if (!validator.required)
60
- if (!value)
61
- return null;
62
- return Validator.getError(name, value, {
63
- required: true, regex: {
64
- name: "Email",
65
- regex: EmailSchema.REGEX
66
- }
67
- });
68
- }
69
- static getErrorDate(name: string, value: string | null | undefined): string | null
70
- {
71
- return Validator.getError(name, value, {
72
- required: true, regex: {
73
- name: "Date",
74
- regex: DateSchema.REGEX
75
- }
76
- });
77
- }
78
- static getErrorTime(name: string, value: string | null | undefined): string | null
79
- {
80
- return Validator.getError(name, value, {
81
- required: true, regex: {
82
- name: "Time",
83
- regex: TimeSchema.REGEX
84
- }
85
- });
86
- }
87
- static getErrorDuration(name: string, value: string | null | undefined): string | null
88
- {
89
- return Validator.getError(name, value, {
90
- required: true, regex: {
91
- name: "Duration",
92
- regex: DurationSchema.REGEX
93
- }
94
- });
95
- }
96
- static getErrorIPV4(name: string, value: string | null | undefined): string | null
97
- {
98
- return Validator.getError(name, value, {
99
- required: true, regex: {
100
- name: "IP",
101
- regex: IPV4Schema.REGEX
102
- }
103
- });
104
- }
105
- static getErrorIPV6(name: string, value: string | null | undefined): string | null
106
- {
107
- return Validator.getError(name, value, {
108
- required: true, regex: {
109
- name: "IP",
110
- regex: IPV6Schema.REGEX
111
- }
112
- });
113
- }
114
- static getErrorPhone(name: string, value: string | null | undefined): string | null
115
- {
116
- return Validator.getError(name, value, {
117
- required: true, validator: () =>
118
- {
119
- if (value)
120
- if (!PhoneOperation.isValid(value))
121
- return `${name} is not a valid phone number`;
122
- return null;
123
- }
124
- });
125
- }
1
+ import { PhoneOperation } from "namirasoft-core";
2
+ import { IValidationNumberProps } from "./props/IValidationNumberProps";
3
+ import { IValidationProps } from "./props/IValidationProps";
4
+ import { IValidationStringProps } from "./props/IValidationStringProps";
5
+ import { DateSchema, DurationSchema, EmailSchema, IPV4Schema, IPV6Schema, TimeSchema } from "namirasoft-schema";
6
+
7
+ export class Validator
8
+ {
9
+ static getError(name: string, value: string | number | null | undefined, validator: IValidationProps): string | null
10
+ {
11
+ if (validator.required)
12
+ if (!value)
13
+ return `${name} is required.`;
14
+ if (value != null)
15
+ if (validator.regex)
16
+ {
17
+ if (!new RegExp(validator.regex.regex).test(value + ""))
18
+ return `${name} is not a valid ${validator.regex.name}.`;
19
+ }
20
+ if (value != null)
21
+ if (validator.validator)
22
+ {
23
+ let error = validator.validator(name, value);
24
+ if (error)
25
+ return error;
26
+ }
27
+ return null;
28
+ }
29
+ static getErrorString(name: string, value: string | null | undefined, validator: IValidationStringProps): string | null
30
+ {
31
+ if (value != null)
32
+ {
33
+ if (validator.max_length != null)
34
+ if (validator.max_length < value.length)
35
+ return `Max length of ${name} should be ${validator.max_length} characters.`;
36
+ if (validator.min_length != null)
37
+ if (validator.min_length > value.length)
38
+ return `Minlength of ${name} should be ${validator.min_length} characters.`;
39
+ }
40
+ return null;
41
+ }
42
+ static getErrorNumber(name: string, value: number | null | undefined, validator: IValidationNumberProps): string | null
43
+ {
44
+ if (value != null)
45
+ {
46
+ if (isNaN(value))
47
+ return `${name} is not a number.`;
48
+ if (validator.max != null)
49
+ if (validator.max < value)
50
+ return `Max value of ${name} should be ${validator.max} characters.`;
51
+ if (validator.min != null)
52
+ if (validator.min > value)
53
+ return `Min value of ${name} should be ${validator.min} characters.`;
54
+ }
55
+ return null;
56
+ }
57
+ static getErrorEmail(name: string, value: string | null | undefined, validator: IValidationProps): string | null
58
+ {
59
+ if (!validator.required)
60
+ if (!value)
61
+ return null;
62
+ return Validator.getError(name, value, {
63
+ required: true, regex: {
64
+ name: "Email",
65
+ regex: EmailSchema.REGEX
66
+ }
67
+ });
68
+ }
69
+ static getErrorDate(name: string, value: string | null | undefined): string | null
70
+ {
71
+ return Validator.getError(name, value, {
72
+ required: true, regex: {
73
+ name: "Date",
74
+ regex: DateSchema.REGEX
75
+ }
76
+ });
77
+ }
78
+ static getErrorTime(name: string, value: string | null | undefined): string | null
79
+ {
80
+ return Validator.getError(name, value, {
81
+ required: true, regex: {
82
+ name: "Time",
83
+ regex: TimeSchema.REGEX
84
+ }
85
+ });
86
+ }
87
+ static getErrorDuration(name: string, value: string | null | undefined): string | null
88
+ {
89
+ return Validator.getError(name, value, {
90
+ required: true, regex: {
91
+ name: "Duration",
92
+ regex: DurationSchema.REGEX
93
+ }
94
+ });
95
+ }
96
+ static getErrorIPV4(name: string, value: string | null | undefined): string | null
97
+ {
98
+ return Validator.getError(name, value, {
99
+ required: true, regex: {
100
+ name: "IP",
101
+ regex: IPV4Schema.REGEX
102
+ }
103
+ });
104
+ }
105
+ static getErrorIPV6(name: string, value: string | null | undefined): string | null
106
+ {
107
+ return Validator.getError(name, value, {
108
+ required: true, regex: {
109
+ name: "IP",
110
+ regex: IPV6Schema.REGEX
111
+ }
112
+ });
113
+ }
114
+ static getErrorPhone(name: string, value: string | null | undefined): string | null
115
+ {
116
+ return Validator.getError(name, value, {
117
+ required: true, validator: () =>
118
+ {
119
+ if (value)
120
+ if (!PhoneOperation.isValid(value))
121
+ return `${name} is not a valid phone number`;
122
+ return null;
123
+ }
124
+ });
125
+ }
126
126
  }