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
@@ -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,64 +1,64 @@
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
-
9
- export interface NSDownloadProps extends IBaseComponentProps
10
- {
11
- releaseDate: string;
12
- }
13
-
14
- export function NSDownload(props: NSDownloadProps)
15
- {
16
- const [state, setState] = useState("32-bit");
17
-
18
- return (
19
- <div className={`${Styles.download_parent} ${props.classList?.join(' ')}`}>
20
- <div className={Styles.download_header}>
21
- <h3 style={{ color: "#141B5C" }}>Choose Your Windows Architecture</h3>
22
- <div className={Styles.radio_group}>
23
- <NSBoxRadio
24
- title={"32-bit"}
25
- required={false}
26
- checked={state === "32-bit"}
27
- onChanged={(event) =>
28
- {
29
- let value = event.getValue();
30
- if (value)
31
- {
32
- setState("32-bit");
33
- }
34
- }}
35
- classList={[Styles.radio_button]}
36
- />
37
- <NSBoxRadio
38
- title={"64-bit"}
39
- required={false}
40
- checked={state === "64-bit"}
41
- onChanged={(event) =>
42
- {
43
- let value = event.getValue();
44
- if (value)
45
- {
46
- setState("64-bit");
47
- }
48
- }}
49
- classList={[Styles.radio_button]}
50
- />
51
- </div>
52
- </div>
53
- <NSLine />
54
- <div className={Styles.download_detail}>
55
- <h4 style={{ color: "#141B5C" }}>For Windows 7 and higher, Windows Server 2008 R2 and higher.</h4>
56
- <div style={{ color: "#141B5C" }}>
57
- <p style={{ marginBottom: "0" }}>Latest Version</p>
58
- <p style={{ marginBottom: "0" }}>Release Date: {props.releaseDate}</p>
59
- </div>
60
- <NSButtonBlue title="Download" onClick={() => { }} classList={[Styles.download_button]} />
61
- </div>
62
- </div>
63
- );
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
+
9
+ export interface NSDownloadProps extends IBaseComponentProps
10
+ {
11
+ releaseDate: string;
12
+ }
13
+
14
+ export function NSDownload(props: NSDownloadProps)
15
+ {
16
+ const [state, setState] = useState("32-bit");
17
+
18
+ return (
19
+ <div className={`${Styles.download_parent} ${props.classList?.join(' ')}`}>
20
+ <div className={Styles.download_header}>
21
+ <h3 style={{ color: "#141B5C" }}>Choose Your Windows Architecture</h3>
22
+ <div className={Styles.radio_group}>
23
+ <NSBoxRadio
24
+ title={"32-bit"}
25
+ required={false}
26
+ checked={state === "32-bit"}
27
+ onChanged={(event) =>
28
+ {
29
+ let value = event.getValue();
30
+ if (value)
31
+ {
32
+ setState("32-bit");
33
+ }
34
+ }}
35
+ classList={[Styles.radio_button]}
36
+ />
37
+ <NSBoxRadio
38
+ title={"64-bit"}
39
+ required={false}
40
+ checked={state === "64-bit"}
41
+ onChanged={(event) =>
42
+ {
43
+ let value = event.getValue();
44
+ if (value)
45
+ {
46
+ setState("64-bit");
47
+ }
48
+ }}
49
+ classList={[Styles.radio_button]}
50
+ />
51
+ </div>
52
+ </div>
53
+ <NSLine />
54
+ <div className={Styles.download_detail}>
55
+ <h4 style={{ color: "#141B5C" }}>For Windows 7 and higher, Windows Server 2008 R2 and higher.</h4>
56
+ <div style={{ color: "#141B5C" }}>
57
+ <p style={{ marginBottom: "0" }}>Latest Version</p>
58
+ <p style={{ marginBottom: "0" }}>Release Date: {props.releaseDate}</p>
59
+ </div>
60
+ <NSButtonBlue title="Download" onClick={() => { }} classList={[Styles.download_button]} />
61
+ </div>
62
+ </div>
63
+ );
64
64
  };
@@ -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
  }