namirasoft-site-react 1.4.248 → 1.4.249

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 (289) 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.module.css +82 -82
  7. package/dist/components/NSBarAlert.module.css +79 -79
  8. package/dist/components/NSBarNotification.module.css +34 -34
  9. package/dist/components/NSBarTitle.module.css +9 -9
  10. package/dist/components/NSBox.module.css +50 -50
  11. package/dist/components/NSBoxBaseCombo.module.css +6 -6
  12. package/dist/components/NSBoxBoolean.module.css +67 -67
  13. package/dist/components/NSBoxDate.module.css +4 -4
  14. package/dist/components/NSBoxDateTime.module.css +4 -4
  15. package/dist/components/NSBoxDuration.module.css +4 -4
  16. package/dist/components/NSBoxDynamic.d.ts +1 -1
  17. package/dist/components/NSBoxDynamic.js +1 -1
  18. package/dist/components/NSBoxDynamic.js.map +1 -1
  19. package/dist/components/NSBoxFile.module.css +10 -10
  20. package/dist/components/NSBoxPhone.module.css +35 -35
  21. package/dist/components/NSBoxRadio.module.css +33 -33
  22. package/dist/components/NSBoxSchemaBase.module.css +17 -17
  23. package/dist/components/NSBoxSchemaVariable.module.css +16 -16
  24. package/dist/components/NSBoxTextArea.module.css +12 -12
  25. package/dist/components/NSBoxTime.module.css +4 -4
  26. package/dist/components/NSButton.module.css +57 -57
  27. package/dist/components/NSButtonBlue.module.css +4 -4
  28. package/dist/components/NSButtonGreen.module.css +4 -4
  29. package/dist/components/NSButtonRed.module.css +4 -4
  30. package/dist/components/NSCard.module.css +114 -114
  31. package/dist/components/NSCardScreenshot.module.css +41 -41
  32. package/dist/components/NSChartColumn.module.css +7 -7
  33. package/dist/components/NSChartTable.module.css +21 -21
  34. package/dist/components/NSColumn.module.css +16 -16
  35. package/dist/components/NSCopyBox.module.css +39 -39
  36. package/dist/components/NSDialog.module.css +112 -112
  37. package/dist/components/NSDialogPageSelection.module.css +103 -103
  38. package/dist/components/NSDownTimer.module.css +55 -55
  39. package/dist/components/NSDownload.module.css +46 -46
  40. package/dist/components/NSElectronicCard.module.css +60 -60
  41. package/dist/components/NSEntityCardBackground.module.css +27 -27
  42. package/dist/components/NSFilterBox.module.css +56 -56
  43. package/dist/components/NSFilterItem.module.css +24 -24
  44. package/dist/components/NSFooter.module.css +123 -123
  45. package/dist/components/NSHeader.module.css +291 -291
  46. package/dist/components/NSHeaderScreenshot.module.css +35 -35
  47. package/dist/components/NSLabel.module.css +25 -25
  48. package/dist/components/NSLabelErrorNotifier.module.css +2 -2
  49. package/dist/components/NSLayout.module.css +14 -14
  50. package/dist/components/NSLine.module.css +15 -15
  51. package/dist/components/NSLink.module.css +36 -36
  52. package/dist/components/NSListGrouped.module.css +69 -69
  53. package/dist/components/NSLoading.module.css +30 -30
  54. package/dist/components/NSMenuAction.js +2 -2
  55. package/dist/components/NSMenuAction.module.css +88 -88
  56. package/dist/components/NSMenuButton.module.css +44 -44
  57. package/dist/components/NSNoData.module.css +9 -9
  58. package/dist/components/NSPagination.module.css +85 -85
  59. package/dist/components/NSPanel.module.css +19 -19
  60. package/dist/components/NSPanelAccordion.module.css +4 -4
  61. package/dist/components/NSRange.module.css +66 -66
  62. package/dist/components/NSRow.module.css +17 -17
  63. package/dist/components/NSSection.module.css +4 -4
  64. package/dist/components/NSSectionCards.module.css +38 -38
  65. package/dist/components/NSSectionTiles.module.css +10 -10
  66. package/dist/components/NSTabPage.module.css +59 -59
  67. package/dist/components/NSTable.module.css +263 -263
  68. package/dist/components/NSTile.module.css +76 -76
  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 +18 -18
  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 +130 -130
  78. package/src/Color.tsx +10 -10
  79. package/src/CopyToClipboard.ts +6 -6
  80. package/src/NSBoxBuilder.tsx +912 -912
  81. package/src/Validator.ts +147 -147
  82. package/src/components/INSBox.tsx +6 -6
  83. package/src/components/NSBarAction.module.css +82 -82
  84. package/src/components/NSBarAction.tsx +90 -90
  85. package/src/components/NSBarAlert.module.css +79 -79
  86. package/src/components/NSBarAlert.tsx +35 -35
  87. package/src/components/NSBarNotification.module.css +34 -34
  88. package/src/components/NSBarNotification.tsx +89 -89
  89. package/src/components/NSBarTitle.module.css +9 -9
  90. package/src/components/NSBarTitle.tsx +23 -23
  91. package/src/components/NSBox.module.css +50 -50
  92. package/src/components/NSBox.tsx +19 -19
  93. package/src/components/NSBoxBaseCombo.module.css +6 -6
  94. package/src/components/NSBoxBaseCombo.tsx +314 -314
  95. package/src/components/NSBoxBaseLayout.tsx +88 -88
  96. package/src/components/NSBoxBaseLayoutRecursive.tsx +54 -54
  97. package/src/components/NSBoxBoolean.module.css +67 -67
  98. package/src/components/NSBoxBoolean.tsx +119 -119
  99. package/src/components/NSBoxBooleans.tsx +161 -161
  100. package/src/components/NSBoxColor.tsx +95 -95
  101. package/src/components/NSBoxCombo.tsx +91 -91
  102. package/src/components/NSBoxDate.module.css +4 -4
  103. package/src/components/NSBoxDate.tsx +90 -90
  104. package/src/components/NSBoxDateTime.module.css +4 -4
  105. package/src/components/NSBoxDateTime.tsx +105 -105
  106. package/src/components/NSBoxDouble.tsx +94 -94
  107. package/src/components/NSBoxDuration.module.css +4 -4
  108. package/src/components/NSBoxDuration.tsx +95 -95
  109. package/src/components/NSBoxDynamic.tsx +67 -67
  110. package/src/components/NSBoxDynamics.tsx +68 -68
  111. package/src/components/NSBoxEmail.tsx +98 -98
  112. package/src/components/NSBoxEntity.tsx +101 -101
  113. package/src/components/NSBoxEnum.tsx +108 -108
  114. package/src/components/NSBoxFile.module.css +10 -10
  115. package/src/components/NSBoxFile.tsx +101 -101
  116. package/src/components/NSBoxFilePath.tsx +95 -95
  117. package/src/components/NSBoxFont.tsx +95 -95
  118. package/src/components/NSBoxIPV4.tsx +95 -95
  119. package/src/components/NSBoxIPV4Range.tsx +95 -95
  120. package/src/components/NSBoxIPV6.tsx +92 -92
  121. package/src/components/NSBoxIPV6Range.tsx +95 -95
  122. package/src/components/NSBoxInteger.tsx +91 -91
  123. package/src/components/NSBoxMoney.tsx +95 -95
  124. package/src/components/NSBoxPassword.tsx +106 -106
  125. package/src/components/NSBoxPhone.module.css +35 -35
  126. package/src/components/NSBoxPhone.tsx +107 -107
  127. package/src/components/NSBoxRadio.module.css +33 -33
  128. package/src/components/NSBoxRadio.tsx +91 -91
  129. package/src/components/NSBoxSchemaBase.module.css +17 -17
  130. package/src/components/NSBoxSchemaBase.tsx +539 -539
  131. package/src/components/NSBoxSchemaVariable.module.css +16 -16
  132. package/src/components/NSBoxSchemaVariable.tsx +251 -251
  133. package/src/components/NSBoxSearch.tsx +97 -97
  134. package/src/components/NSBoxString.tsx +91 -91
  135. package/src/components/NSBoxTextArea.module.css +12 -12
  136. package/src/components/NSBoxTextArea.tsx +98 -98
  137. package/src/components/NSBoxTime.module.css +4 -4
  138. package/src/components/NSBoxTime.tsx +93 -93
  139. package/src/components/NSBoxTimeZone.tsx +95 -95
  140. package/src/components/NSBoxURL.tsx +96 -96
  141. package/src/components/NSBoxVersion.tsx +95 -95
  142. package/src/components/NSButton.module.css +57 -57
  143. package/src/components/NSButton.tsx +25 -25
  144. package/src/components/NSButtonBlue.module.css +4 -4
  145. package/src/components/NSButtonBlue.tsx +19 -19
  146. package/src/components/NSButtonGreen.module.css +4 -4
  147. package/src/components/NSButtonGreen.tsx +19 -19
  148. package/src/components/NSButtonRed.module.css +4 -4
  149. package/src/components/NSButtonRed.tsx +19 -19
  150. package/src/components/NSCard.module.css +114 -114
  151. package/src/components/NSCard.tsx +63 -63
  152. package/src/components/NSCardScreenshot.module.css +41 -41
  153. package/src/components/NSCardScreenshot.tsx +31 -31
  154. package/src/components/NSChartColumn.module.css +7 -7
  155. package/src/components/NSChartColumn.tsx +106 -106
  156. package/src/components/NSChartDoughnut.tsx +112 -112
  157. package/src/components/NSChartPie.tsx +105 -105
  158. package/src/components/NSChartRange.tsx +14 -14
  159. package/src/components/NSChartTable.module.css +21 -21
  160. package/src/components/NSChartTable.tsx +94 -94
  161. package/src/components/NSColumn.module.css +16 -16
  162. package/src/components/NSColumn.tsx +24 -24
  163. package/src/components/NSCopy.tsx +56 -56
  164. package/src/components/NSCopyBox.module.css +39 -39
  165. package/src/components/NSCopyBox.tsx +53 -53
  166. package/src/components/NSDialog.module.css +112 -112
  167. package/src/components/NSDialog.tsx +61 -61
  168. package/src/components/NSDialogDelete.tsx +26 -26
  169. package/src/components/NSDialogInfo.tsx +32 -32
  170. package/src/components/NSDialogPageSelection.module.css +103 -103
  171. package/src/components/NSDialogPageSelection.tsx +227 -227
  172. package/src/components/NSDownTimer.module.css +55 -55
  173. package/src/components/NSDownTimer.tsx +77 -77
  174. package/src/components/NSDownload.module.css +46 -46
  175. package/src/components/NSDownload.tsx +66 -66
  176. package/src/components/NSElectronicCard.module.css +60 -60
  177. package/src/components/NSElectronicCard.tsx +46 -46
  178. package/src/components/NSEntityCardBackground.module.css +27 -27
  179. package/src/components/NSEntityCardBackground.tsx +36 -36
  180. package/src/components/NSFilterBox.module.css +56 -56
  181. package/src/components/NSFilterBox.tsx +494 -494
  182. package/src/components/NSFilterItem.module.css +24 -24
  183. package/src/components/NSFilterItem.tsx +27 -27
  184. package/src/components/NSFooter.module.css +123 -123
  185. package/src/components/NSFooter.tsx +316 -316
  186. package/src/components/NSHeader.module.css +291 -291
  187. package/src/components/NSHeader.tsx +261 -261
  188. package/src/components/NSHeaderScreenshot.module.css +35 -35
  189. package/src/components/NSHeaderScreenshot.tsx +39 -39
  190. package/src/components/NSLabel.module.css +25 -25
  191. package/src/components/NSLabel.tsx +46 -46
  192. package/src/components/NSLabelErrorNotifier.module.css +2 -2
  193. package/src/components/NSLabelErrorNotifier.tsx +35 -35
  194. package/src/components/NSLayout.module.css +14 -14
  195. package/src/components/NSLayout.tsx +130 -130
  196. package/src/components/NSLine.module.css +15 -15
  197. package/src/components/NSLine.tsx +13 -13
  198. package/src/components/NSLink.module.css +36 -36
  199. package/src/components/NSLink.tsx +25 -25
  200. package/src/components/NSLinkBlue.tsx +21 -21
  201. package/src/components/NSLinkGreen.tsx +12 -12
  202. package/src/components/NSLinkRed.tsx +12 -12
  203. package/src/components/NSListGrouped.module.css +69 -69
  204. package/src/components/NSListGrouped.tsx +106 -106
  205. package/src/components/NSListProduct.tsx +44 -44
  206. package/src/components/NSLoading.module.css +30 -30
  207. package/src/components/NSLoading.tsx +21 -21
  208. package/src/components/NSMenuAction.module.css +88 -88
  209. package/src/components/NSMenuAction.tsx +90 -90
  210. package/src/components/NSMenuButton.module.css +44 -44
  211. package/src/components/NSMenuButton.tsx +206 -206
  212. package/src/components/NSNoData.module.css +9 -9
  213. package/src/components/NSNoData.tsx +24 -24
  214. package/src/components/NSPagination.module.css +85 -85
  215. package/src/components/NSPagination.tsx +182 -182
  216. package/src/components/NSPanel.module.css +19 -19
  217. package/src/components/NSPanel.tsx +24 -24
  218. package/src/components/NSPanelAccordion.module.css +4 -4
  219. package/src/components/NSPanelAccordion.tsx +51 -51
  220. package/src/components/NSRange.module.css +66 -66
  221. package/src/components/NSRange.tsx +83 -83
  222. package/src/components/NSRepeater.tsx +240 -240
  223. package/src/components/NSRepeaterNSBoxSchemaVariable.tsx +84 -84
  224. package/src/components/NSRepeaterNSTag.tsx +79 -79
  225. package/src/components/NSRow.module.css +17 -17
  226. package/src/components/NSRow.tsx +24 -24
  227. package/src/components/NSSection.module.css +4 -4
  228. package/src/components/NSSection.tsx +26 -26
  229. package/src/components/NSSectionCards.module.css +38 -38
  230. package/src/components/NSSectionCards.tsx +51 -51
  231. package/src/components/NSSectionTiles.module.css +10 -10
  232. package/src/components/NSSectionTiles.tsx +25 -25
  233. package/src/components/NSSectionTitle.tsx +21 -21
  234. package/src/components/NSSpace.tsx +28 -28
  235. package/src/components/NSTabPage.module.css +59 -59
  236. package/src/components/NSTabPage.tsx +91 -91
  237. package/src/components/NSTable.module.css +263 -263
  238. package/src/components/NSTable.tsx +471 -471
  239. package/src/components/NSTag.tsx +74 -74
  240. package/src/components/NSTile.module.css +76 -76
  241. package/src/components/NSTile.tsx +27 -27
  242. package/src/components/NSTimelineMonthly.module.css +71 -71
  243. package/src/components/NSTimelineMonthly.tsx +44 -44
  244. package/src/components/NSTitle.module.css +15 -15
  245. package/src/components/NSTitle.tsx +19 -19
  246. package/src/formatter/BackColorFormatter.tsx +23 -23
  247. package/src/formatter/BaseColumnFormatter.ts +16 -16
  248. package/src/formatter/BaseURLImageFormatter.tsx +28 -28
  249. package/src/formatter/BooleanFormatter.ts +22 -22
  250. package/src/formatter/DateFormatter.ts +20 -20
  251. package/src/formatter/DateTimeFormatter.ts +20 -20
  252. package/src/formatter/DurationFormatter.ts +13 -13
  253. package/src/formatter/EmailFormatter.tsx +21 -21
  254. package/src/formatter/EnumFormatter.ts +13 -13
  255. package/src/formatter/FloatFormatter.ts +23 -23
  256. package/src/formatter/ForeColorFormatter.tsx +24 -24
  257. package/src/formatter/IDFormatter.tsx +37 -37
  258. package/src/formatter/IPFormatter.ts +13 -13
  259. package/src/formatter/IntegerFormatter.ts +23 -23
  260. package/src/formatter/JsonFormatter.ts +21 -21
  261. package/src/formatter/MoneyFormatter.ts +23 -23
  262. package/src/formatter/PhoneFormatter.tsx +21 -21
  263. package/src/formatter/StringFormatter.tsx +43 -43
  264. package/src/formatter/TimeFormatter.ts +20 -20
  265. package/src/formatter/URLFormatter.tsx +21 -21
  266. package/src/formatter/UnknowFormatter.ts +18 -18
  267. package/src/index.tsx +7 -7
  268. package/src/main.ts +207 -207
  269. package/src/pages/NSNotFoundPage.module.css +18 -18
  270. package/src/pages/NSNotFoundPage.tsx +11 -11
  271. package/src/pages/NSUpdating.module.css +35 -35
  272. package/src/pages/NSUpdating.tsx +32 -32
  273. package/src/props/IBackgroundPropps.ts +5 -5
  274. package/src/props/IBaseComponentProps.ts +8 -8
  275. package/src/props/IHeaderIconProps.ts +10 -10
  276. package/src/props/IHeaderProps.ts +7 -7
  277. package/src/props/IImageProps.ts +4 -4
  278. package/src/props/ILinkProps.ts +5 -5
  279. package/src/props/IValidationNumberProps.ts +4 -4
  280. package/src/props/IValidationPrecisionProps.ts +3 -3
  281. package/src/props/IValidationProps.ts +9 -9
  282. package/src/props/IValidationRegexProps.ts +4 -4
  283. package/src/props/IValidationStringProps.ts +4 -4
  284. package/src/routing/INSRouterMaker.ts +6 -6
  285. package/src/routing/INSRouterProps.ts +5 -5
  286. package/src/routing/INSRouterState.ts +5 -5
  287. package/src/routing/NSRouterMaker.tsx +33 -33
  288. package/src/routing/Notifier.ts +79 -79
  289. package/tsconfig.json +43 -43
@@ -1,78 +1,78 @@
1
- import { useEffect, useState } from 'react';
2
- import { IBaseComponentProps } from '../props/IBaseComponentProps';
3
- import Styles from './NSDownTimer.module.css';
4
- export interface NSDownTimerProps extends IBaseComponentProps
5
- {
6
- date: Date;
7
- text: string;
8
- expire_text?: string
9
- }
10
-
11
- export function NSDownTimer(props: NSDownTimerProps)
12
- {
13
- const [timeLeft, setTimeLeft] = useState(calculateTimeLeft(props.date));
14
-
15
- useEffect(() =>
16
- {
17
- const timer = setInterval(() =>
18
- {
19
- setTimeLeft(calculateTimeLeft(props.date));
20
- }, 1000);
21
- return () => clearInterval(timer);
22
- }, [props.date]);
23
-
24
- function calculateTimeLeft(date: Date)
25
- {
26
- const now = new Date();
27
- const difference = date.getTime() - now.getTime();
28
-
29
- let timeLeft: { days?: number; hours?: number; minutes?: number; seconds?: number } = {};
30
- if (difference > 0)
31
- {
32
- timeLeft = {
33
- days: Math.floor(difference / (1000 * 60 * 60 * 24)),
34
- hours: Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)),
35
- minutes: Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)),
36
- seconds: Math.floor((difference % (1000 * 60)) / 1000),
37
- };
38
- }
39
- return timeLeft;
40
- }
41
- return (
42
- <div
43
- id={props.id}
44
- className={`${Styles.ns_down_timer_container} ${props.classList?.join(" ") ?? ""}`}
45
- style={props.style}
46
- >
47
- <figure className={Styles.ns_figure}>
48
- <img
49
- src='https://static.namirasoft.com/image/concept/countdown/grey.svg'
50
- alt='CountDown'
51
- width={48}
52
- height={48} />
53
- <figcaption>{props.text}</figcaption>
54
- </figure>
55
- <div className={Styles.ns_down_timer_time_container}>
56
- <div className='d-flex flex-column justify-content-center align-items-center'>
57
- <span className={Styles.ns_down_timer_time_left}>{`${timeLeft.days} `}</span>
58
- <span className={Styles.ns_down_timer_time_left_unit}>DAY</span>
59
- </div>
60
- <span className={`${Styles.ns_semi_colon} `}>:</span>
61
- <div className='d-flex flex-column justify-content-center align-items-center'>
62
- <span className={Styles.ns_down_timer_time_left}>{`${timeLeft.hours}`}</span>
63
- <span className={Styles.ns_down_timer_time_left_unit}>HOUR</span>
64
- </div>
65
- <span className={`${Styles.ns_semi_colon} `}>:</span>
66
- <div className='d-flex flex-column justify-content-center align-items-center'>
67
- <span className={Styles.ns_down_timer_time_left}>{`${timeLeft.minutes}`}</span>
68
- <span className={Styles.ns_down_timer_time_left_unit}>MIN</span>
69
- </div>
70
- <span className={`${Styles.ns_semi_colon} `}>:</span>
71
- <div className='d-flex flex-column justify-content-center align-items-center'>
72
- <span className={Styles.ns_down_timer_time_left}>{`${timeLeft.seconds} `}</span>
73
- <span className={Styles.ns_down_timer_time_left_unit}>SEC</span>
74
- </div>
75
- </div>
76
- </div>
77
- );
1
+ import { useEffect, useState } from 'react';
2
+ import { IBaseComponentProps } from '../props/IBaseComponentProps';
3
+ import Styles from './NSDownTimer.module.css';
4
+ export interface NSDownTimerProps extends IBaseComponentProps
5
+ {
6
+ date: Date;
7
+ text: string;
8
+ expire_text?: string
9
+ }
10
+
11
+ export function NSDownTimer(props: NSDownTimerProps)
12
+ {
13
+ const [timeLeft, setTimeLeft] = useState(calculateTimeLeft(props.date));
14
+
15
+ useEffect(() =>
16
+ {
17
+ const timer = setInterval(() =>
18
+ {
19
+ setTimeLeft(calculateTimeLeft(props.date));
20
+ }, 1000);
21
+ return () => clearInterval(timer);
22
+ }, [props.date]);
23
+
24
+ function calculateTimeLeft(date: Date)
25
+ {
26
+ const now = new Date();
27
+ const difference = date.getTime() - now.getTime();
28
+
29
+ let timeLeft: { days?: number; hours?: number; minutes?: number; seconds?: number } = {};
30
+ if (difference > 0)
31
+ {
32
+ timeLeft = {
33
+ days: Math.floor(difference / (1000 * 60 * 60 * 24)),
34
+ hours: Math.floor((difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)),
35
+ minutes: Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)),
36
+ seconds: Math.floor((difference % (1000 * 60)) / 1000),
37
+ };
38
+ }
39
+ return timeLeft;
40
+ }
41
+ return (
42
+ <div
43
+ id={props.id}
44
+ className={`${Styles.ns_down_timer_container} ${props.classList?.join(" ") ?? ""}`}
45
+ style={props.style}
46
+ >
47
+ <figure className={Styles.ns_figure}>
48
+ <img
49
+ src='https://static.namirasoft.com/image/concept/countdown/grey.svg'
50
+ alt='CountDown'
51
+ width={48}
52
+ height={48} />
53
+ <figcaption>{props.text}</figcaption>
54
+ </figure>
55
+ <div className={Styles.ns_down_timer_time_container}>
56
+ <div className='d-flex flex-column justify-content-center align-items-center'>
57
+ <span className={Styles.ns_down_timer_time_left}>{`${timeLeft.days} `}</span>
58
+ <span className={Styles.ns_down_timer_time_left_unit}>DAY</span>
59
+ </div>
60
+ <span className={`${Styles.ns_semi_colon} `}>:</span>
61
+ <div className='d-flex flex-column justify-content-center align-items-center'>
62
+ <span className={Styles.ns_down_timer_time_left}>{`${timeLeft.hours}`}</span>
63
+ <span className={Styles.ns_down_timer_time_left_unit}>HOUR</span>
64
+ </div>
65
+ <span className={`${Styles.ns_semi_colon} `}>:</span>
66
+ <div className='d-flex flex-column justify-content-center align-items-center'>
67
+ <span className={Styles.ns_down_timer_time_left}>{`${timeLeft.minutes}`}</span>
68
+ <span className={Styles.ns_down_timer_time_left_unit}>MIN</span>
69
+ </div>
70
+ <span className={`${Styles.ns_semi_colon} `}>:</span>
71
+ <div className='d-flex flex-column justify-content-center align-items-center'>
72
+ <span className={Styles.ns_down_timer_time_left}>{`${timeLeft.seconds} `}</span>
73
+ <span className={Styles.ns_down_timer_time_left_unit}>SEC</span>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ );
78
78
  };
@@ -1,47 +1,47 @@
1
- .download_parent {
2
- padding: 32px 16px;
3
- }
4
-
5
- .download_header {
6
- display: flex;
7
- justify-content: flex-start;
8
- flex-wrap: wrap;
9
- align-items: center;
10
- gap: 16px;
11
- }
12
-
13
- .radio_group {
14
- display: flex;
15
- justify-content: flex-start;
16
- align-items: center;
17
- }
18
-
19
- .radio_button {
20
- background-color: transparent !important;
21
- border: none !important;
22
- max-width: 97px !important;
23
- }
24
-
25
- .download_detail {
26
- display: flex;
27
- flex-direction: column;
28
- align-items: flex-start;
29
- justify-content: flex-start;
30
- gap: 24px;
31
- }
32
-
33
- .download_button {
34
- max-width: unset !important;
35
- width: 100% !important;
36
- }
37
-
38
- @media screen and (min-width: 554px) {
39
- .download_header {
40
- gap: 64px;
41
- }
42
-
43
- .download_button {
44
- max-width: 272px !important;
45
- width: 272px !important;
46
- }
1
+ .download_parent {
2
+ padding: 32px 16px;
3
+ }
4
+
5
+ .download_header {
6
+ display: flex;
7
+ justify-content: flex-start;
8
+ flex-wrap: wrap;
9
+ align-items: center;
10
+ gap: 16px;
11
+ }
12
+
13
+ .radio_group {
14
+ display: flex;
15
+ justify-content: flex-start;
16
+ align-items: center;
17
+ }
18
+
19
+ .radio_button {
20
+ background-color: transparent !important;
21
+ border: none !important;
22
+ max-width: 97px !important;
23
+ }
24
+
25
+ .download_detail {
26
+ display: flex;
27
+ flex-direction: column;
28
+ align-items: flex-start;
29
+ justify-content: flex-start;
30
+ gap: 24px;
31
+ }
32
+
33
+ .download_button {
34
+ max-width: unset !important;
35
+ width: 100% !important;
36
+ }
37
+
38
+ @media screen and (min-width: 554px) {
39
+ .download_header {
40
+ gap: 64px;
41
+ }
42
+
43
+ .download_button {
44
+ max-width: 272px !important;
45
+ width: 272px !important;
46
+ }
47
47
  }
@@ -1,67 +1,67 @@
1
- // todo move to its own probject: I guess this is Timify
2
- import { useState } from "react";
3
- import { IBaseComponentProps } from "../props/IBaseComponentProps";
4
- import { NSBoxRadio } from "./NSBoxRadio";
5
- import { NSLine } from "./NSLine";
6
- import { NSButtonBlue } from "./NSButtonBlue";
7
- import Styles from "./NSDownload.module.css"
8
- import { NSSpace, NSSpaceSizeType } from "./NSSpace";
9
-
10
- export interface NSDownloadProps extends IBaseComponentProps
11
- {
12
- releaseDate: string;
13
- }
14
-
15
- export function NSDownload(props: NSDownloadProps)
16
- {
17
- const [state, setState] = useState("32-bit");
18
-
19
- return (
20
- <div className={`${Styles.download_parent} ${props.classList?.join(' ')}`}>
21
- <div className={Styles.download_header}>
22
- <h3 style={{ color: "#141B5C" }}>Choose Your Windows Architecture</h3>
23
- <div className={Styles.radio_group}>
24
- <NSBoxRadio
25
- title={"32-bit"}
26
- required={false}
27
- checked={state === "32-bit"}
28
- onChanged={(event) =>
29
- {
30
- let value = event.getValue();
31
- if (value)
32
- {
33
- setState("32-bit");
34
- }
35
- }}
36
- classList={[Styles.radio_button]}
37
- />
38
- <NSBoxRadio
39
- title={"64-bit"}
40
- required={false}
41
- checked={state === "64-bit"}
42
- onChanged={(event) =>
43
- {
44
- let value = event.getValue();
45
- if (value)
46
- {
47
- setState("64-bit");
48
- }
49
- }}
50
- classList={[Styles.radio_button]}
51
- />
52
- </div>
53
- </div>
54
- <NSSpace size={NSSpaceSizeType.SMALL} />
55
- <NSLine />
56
- <NSSpace size={NSSpaceSizeType.SMALL} />
57
- <div className={Styles.download_detail}>
58
- <h4 style={{ color: "#141B5C" }}>For Windows 7 and higher, Windows Server 2008 R2 and higher.</h4>
59
- <div style={{ color: "#141B5C" }}>
60
- <p style={{ marginBottom: "0" }}>Latest Version</p>
61
- <p style={{ marginBottom: "0" }}>Release Date: {props.releaseDate}</p>
62
- </div>
63
- <NSButtonBlue title="Download" onClick={() => { }} classList={[Styles.download_button]} />
64
- </div>
65
- </div>
66
- );
1
+ // todo move to its own probject: I guess this is Timify
2
+ import { useState } from "react";
3
+ import { IBaseComponentProps } from "../props/IBaseComponentProps";
4
+ import { NSBoxRadio } from "./NSBoxRadio";
5
+ import { NSLine } from "./NSLine";
6
+ import { NSButtonBlue } from "./NSButtonBlue";
7
+ import Styles from "./NSDownload.module.css"
8
+ import { NSSpace, NSSpaceSizeType } from "./NSSpace";
9
+
10
+ export interface NSDownloadProps extends IBaseComponentProps
11
+ {
12
+ releaseDate: string;
13
+ }
14
+
15
+ export function NSDownload(props: NSDownloadProps)
16
+ {
17
+ const [state, setState] = useState("32-bit");
18
+
19
+ return (
20
+ <div className={`${Styles.download_parent} ${props.classList?.join(' ')}`}>
21
+ <div className={Styles.download_header}>
22
+ <h3 style={{ color: "#141B5C" }}>Choose Your Windows Architecture</h3>
23
+ <div className={Styles.radio_group}>
24
+ <NSBoxRadio
25
+ title={"32-bit"}
26
+ required={false}
27
+ checked={state === "32-bit"}
28
+ onChanged={(event) =>
29
+ {
30
+ let value = event.getValue();
31
+ if (value)
32
+ {
33
+ setState("32-bit");
34
+ }
35
+ }}
36
+ classList={[Styles.radio_button]}
37
+ />
38
+ <NSBoxRadio
39
+ title={"64-bit"}
40
+ required={false}
41
+ checked={state === "64-bit"}
42
+ onChanged={(event) =>
43
+ {
44
+ let value = event.getValue();
45
+ if (value)
46
+ {
47
+ setState("64-bit");
48
+ }
49
+ }}
50
+ classList={[Styles.radio_button]}
51
+ />
52
+ </div>
53
+ </div>
54
+ <NSSpace size={NSSpaceSizeType.SMALL} />
55
+ <NSLine />
56
+ <NSSpace size={NSSpaceSizeType.SMALL} />
57
+ <div className={Styles.download_detail}>
58
+ <h4 style={{ color: "#141B5C" }}>For Windows 7 and higher, Windows Server 2008 R2 and higher.</h4>
59
+ <div style={{ color: "#141B5C" }}>
60
+ <p style={{ marginBottom: "0" }}>Latest Version</p>
61
+ <p style={{ marginBottom: "0" }}>Release Date: {props.releaseDate}</p>
62
+ </div>
63
+ <NSButtonBlue title="Download" onClick={() => { }} classList={[Styles.download_button]} />
64
+ </div>
65
+ </div>
66
+ );
67
67
  };
@@ -1,61 +1,61 @@
1
- .ns_border {
2
- width: 358px;
3
- height: fit-content;
4
- border: 1px solid rgba(161, 164, 176, 1);
5
- border-radius: 8px;
6
- background-color: rgba(255, 255, 255, 1);
7
- }
8
-
9
- .ns_image_text {
10
- padding: 16px;
11
- display: flex;
12
- flex-direction: row;
13
- align-items: center;
14
- }
15
-
16
- .ns_information {
17
- display: flex;
18
- flex-direction: column;
19
- padding-left: 16px;
20
- gap: 8px;
21
- }
22
-
23
- .ns_card_items {
24
- display: flex;
25
- flex-direction: row;
26
- justify-content: space-between;
27
- padding: 16px;
28
- }
29
-
30
- .ns_right_card_items {
31
- display: flex;
32
- flex-direction: row;
33
- gap: 16px;
34
- }
35
-
36
- .ns_electronic_card h4 {
37
- color: rgba(20, 27, 92, 1);
38
- font-size: 16px;
39
- font-weight: 600;
40
- margin: 0;
41
- }
42
-
43
- .ns_electronic_card h5 {
44
- color: rgba(20, 27, 92, 1);
45
- font-size: 12px;
46
- font-weight: 700;
47
- margin: 0;
48
- }
49
-
50
- .ns_electronic_card a {
51
- text-decoration: none;
52
- cursor: pointer;
53
- color: rgba(20, 27, 92, 1);
54
- }
55
-
56
- .ns_line {
57
- margin: 0 16px;
58
- border: 1px solid linear-gradient(to right, rgba(47, 0, 236, 0.6), rgba(118, 255, 181, 0.42));
59
- background: linear-gradient(to right, rgba(47, 0, 236, 0.6), rgba(118, 255, 181, 0.42));
60
- height: 2px;
1
+ .ns_border {
2
+ width: 358px;
3
+ height: fit-content;
4
+ border: 1px solid rgba(161, 164, 176, 1);
5
+ border-radius: 8px;
6
+ background-color: rgba(255, 255, 255, 1);
7
+ }
8
+
9
+ .ns_image_text {
10
+ padding: 16px;
11
+ display: flex;
12
+ flex-direction: row;
13
+ align-items: center;
14
+ }
15
+
16
+ .ns_information {
17
+ display: flex;
18
+ flex-direction: column;
19
+ padding-left: 16px;
20
+ gap: 8px;
21
+ }
22
+
23
+ .ns_card_items {
24
+ display: flex;
25
+ flex-direction: row;
26
+ justify-content: space-between;
27
+ padding: 16px;
28
+ }
29
+
30
+ .ns_right_card_items {
31
+ display: flex;
32
+ flex-direction: row;
33
+ gap: 16px;
34
+ }
35
+
36
+ .ns_electronic_card h4 {
37
+ color: rgba(20, 27, 92, 1);
38
+ font-size: 16px;
39
+ font-weight: 600;
40
+ margin: 0;
41
+ }
42
+
43
+ .ns_electronic_card h5 {
44
+ color: rgba(20, 27, 92, 1);
45
+ font-size: 12px;
46
+ font-weight: 700;
47
+ margin: 0;
48
+ }
49
+
50
+ .ns_electronic_card a {
51
+ text-decoration: none;
52
+ cursor: pointer;
53
+ color: rgba(20, 27, 92, 1);
54
+ }
55
+
56
+ .ns_line {
57
+ margin: 0 16px;
58
+ border: 1px solid linear-gradient(to right, rgba(47, 0, 236, 0.6), rgba(118, 255, 181, 0.42));
59
+ background: linear-gradient(to right, rgba(47, 0, 236, 0.6), rgba(118, 255, 181, 0.42));
60
+ height: 2px;
61
61
  }
@@ -1,47 +1,47 @@
1
- // todo move to its own probject: It's for Payment to add credit card
2
- import { useState } from 'react';
3
- import Styles from './NSElectronicCard.module.css';
4
- export interface NSElectronicCardProps
5
- {
6
- src: string;
7
- title: string | number;
8
- cardNumber: string;
9
- info?: string;
10
- alt?: string;
11
- }
12
- export function NSElectronicCard(props: NSElectronicCardProps)
13
- {
14
- if (props.cardNumber.length < 15)
15
- {
16
- alert("Please enter 16 number at least")
17
- }
18
- let last4Number = props.cardNumber.substr(-4);
19
- let [cardNumber, setCardNumber] = useState("");
20
- return (
21
- <section className={Styles.ns_electronic_card}>
22
- <div className={Styles.ns_border}>
23
- <div className={Styles.ns_image_text}>
24
- <img
25
- src={props.src}
26
- width={68}
27
- height={48}
28
- alt={props.alt ? props.alt : "E-Card Image"}
29
- />
30
- <div className={Styles.ns_information}>
31
- <h4>{props.title}</h4>
32
- <h5>{`0000 0000 0000 ${props.cardNumber ? last4Number : cardNumber}`}</h5>
33
- </div>
34
- </div>
35
- <hr className={Styles.ns_line}></hr>
36
- <div className={Styles.ns_card_items}>
37
- <a href='#'><h4 style={{ color: "rgba(3, 119, 255, 1)" }}>{props.info}</h4></a>
38
- <div className={Styles.ns_right_card_items}>
39
- <a href='#'><h4 onClick={() => setCardNumber("0000")}>Default</h4></a>
40
- <a href='#'><h4 onClick={() => setCardNumber("0000")}>Remove</h4></a>
41
- <a href='#'><h4>Edit</h4></a>
42
- </div>
43
- </div>
44
- </div>
45
- </section >
46
- );
1
+ // todo move to its own probject: It's for Payment to add credit card
2
+ import { useState } from 'react';
3
+ import Styles from './NSElectronicCard.module.css';
4
+ export interface NSElectronicCardProps
5
+ {
6
+ src: string;
7
+ title: string | number;
8
+ cardNumber: string;
9
+ info?: string;
10
+ alt?: string;
11
+ }
12
+ export function NSElectronicCard(props: NSElectronicCardProps)
13
+ {
14
+ if (props.cardNumber.length < 15)
15
+ {
16
+ alert("Please enter 16 number at least")
17
+ }
18
+ let last4Number = props.cardNumber.substr(-4);
19
+ let [cardNumber, setCardNumber] = useState("");
20
+ return (
21
+ <section className={Styles.ns_electronic_card}>
22
+ <div className={Styles.ns_border}>
23
+ <div className={Styles.ns_image_text}>
24
+ <img
25
+ src={props.src}
26
+ width={68}
27
+ height={48}
28
+ alt={props.alt ? props.alt : "E-Card Image"}
29
+ />
30
+ <div className={Styles.ns_information}>
31
+ <h4>{props.title}</h4>
32
+ <h5>{`0000 0000 0000 ${props.cardNumber ? last4Number : cardNumber}`}</h5>
33
+ </div>
34
+ </div>
35
+ <hr className={Styles.ns_line}></hr>
36
+ <div className={Styles.ns_card_items}>
37
+ <a href='#'><h4 style={{ color: "rgba(3, 119, 255, 1)" }}>{props.info}</h4></a>
38
+ <div className={Styles.ns_right_card_items}>
39
+ <a href='#'><h4 onClick={() => setCardNumber("0000")}>Default</h4></a>
40
+ <a href='#'><h4 onClick={() => setCardNumber("0000")}>Remove</h4></a>
41
+ <a href='#'><h4>Edit</h4></a>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </section >
46
+ );
47
47
  }
@@ -1,28 +1,28 @@
1
- .card_background {
2
- display: flex;
3
- flex-direction: column;
4
- align-items: flex-end;
5
- justify-content: flex-end;
6
- box-shadow: 0 2px 10px 4px #00000040;
7
- padding: 24px;
8
- border-radius: 24px;
9
- width: 100%;
10
- max-width: 304px;
11
- position: relative;
12
- color: #fff;
13
- background-repeat: no-repeat;
14
- background-size: cover;
15
- background-position: center;
16
- min-height: 216px;
17
- }
18
-
19
- .card_background_text {
20
- font-size: 16px;
21
- font-weight: 400;
22
- line-height: inherit;
23
- font-family: inherit;
24
- }
25
-
26
- .ns_card_link_container {
27
- width: 100%;
1
+ .card_background {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: flex-end;
5
+ justify-content: flex-end;
6
+ box-shadow: 0 2px 10px 4px #00000040;
7
+ padding: 24px;
8
+ border-radius: 24px;
9
+ width: 100%;
10
+ max-width: 304px;
11
+ position: relative;
12
+ color: #fff;
13
+ background-repeat: no-repeat;
14
+ background-size: cover;
15
+ background-position: center;
16
+ min-height: 216px;
17
+ }
18
+
19
+ .card_background_text {
20
+ font-size: 16px;
21
+ font-weight: 400;
22
+ line-height: inherit;
23
+ font-family: inherit;
24
+ }
25
+
26
+ .ns_card_link_container {
27
+ width: 100%;
28
28
  }