namirasoft-site-react 1.5.27 → 1.5.28

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 (360) hide show
  1. package/.dockerignore +86 -86
  2. package/.env.template +10 -10
  3. package/Dockerfile +18 -18
  4. package/SKILL.md +307 -307
  5. package/config-overrides.js +72 -72
  6. package/dist/App.css +33 -33
  7. package/dist/App.js +3 -25
  8. package/dist/App.js.map +1 -1
  9. package/dist/components/NSBanner.module.css +47 -47
  10. package/dist/components/NSBarAction.module.css +91 -91
  11. package/dist/components/NSBarAlert.module.css +79 -79
  12. package/dist/components/NSBarNotification.module.css +34 -34
  13. package/dist/components/NSBarTitle.module.css +9 -9
  14. package/dist/components/NSBox.module.css +87 -87
  15. package/dist/components/NSBoxBaseCombo.module.css +24 -24
  16. package/dist/components/NSBoxBoolean.module.css +73 -73
  17. package/dist/components/NSBoxDate.module.css +4 -4
  18. package/dist/components/NSBoxDateRangeBase.module.css +73 -73
  19. package/dist/components/NSBoxDateTime.module.css +4 -4
  20. package/dist/components/NSBoxDuration.module.css +4 -4
  21. package/dist/components/NSBoxFile.module.css +10 -10
  22. package/dist/components/NSBoxInteger.module.css +16 -16
  23. package/dist/components/NSBoxOptions.module.css +53 -53
  24. package/dist/components/NSBoxPhone.module.css +35 -35
  25. package/dist/components/NSBoxRadio.module.css +33 -33
  26. package/dist/components/NSBoxSchemaBase.module.css +17 -17
  27. package/dist/components/NSBoxSchemaVariable.module.css +16 -16
  28. package/dist/components/NSBoxTextArea.module.css +12 -12
  29. package/dist/components/NSBoxTime.module.css +4 -4
  30. package/dist/components/NSButton.module.css +57 -57
  31. package/dist/components/NSButtonBlue.module.css +4 -4
  32. package/dist/components/NSButtonGreen.module.css +4 -4
  33. package/dist/components/NSButtonRed.module.css +4 -4
  34. package/dist/components/NSCard.module.css +113 -113
  35. package/dist/components/NSCardScreenshot.module.css +41 -41
  36. package/dist/components/NSColumn.module.css +16 -16
  37. package/dist/components/NSCopyBox.module.css +39 -39
  38. package/dist/components/NSDialog.module.css +105 -105
  39. package/dist/components/NSDialogPageSelection.module.css +103 -103
  40. package/dist/components/NSDownTimer.module.css +55 -55
  41. package/dist/components/NSDownload.module.css +46 -46
  42. package/dist/components/NSElectronicCard.module.css +60 -60
  43. package/dist/components/NSEntityCardBackground.module.css +27 -27
  44. package/dist/components/NSFilterBox.module.css +27 -27
  45. package/dist/components/NSFilterBoxItems.module.css +15 -15
  46. package/dist/components/NSFilterItem.module.css +24 -24
  47. package/dist/components/NSFooter.module.css +140 -140
  48. package/dist/components/NSGauge.module.css +67 -67
  49. package/dist/components/NSGaugeDate.module.css +57 -57
  50. package/dist/components/NSGaugeNumber.module.css +66 -66
  51. package/dist/components/NSHeader.module.css +316 -316
  52. package/dist/components/NSHeaderScreenshot.module.css +35 -35
  53. package/dist/components/NSLabel.module.css +25 -25
  54. package/dist/components/NSLabelErrorNotifier.module.css +2 -2
  55. package/dist/components/NSLabelSensitive.module.css +9 -9
  56. package/dist/components/NSLayout.module.css +22 -22
  57. package/dist/components/NSLine.module.css +15 -15
  58. package/dist/components/NSLineText.module.css +38 -38
  59. package/dist/components/NSLink.module.css +36 -36
  60. package/dist/components/NSListGrouped.module.css +69 -69
  61. package/dist/components/NSLoading.module.css +10 -10
  62. package/dist/components/NSMegaMenu.module.css +133 -133
  63. package/dist/components/NSMenuAction.module.css +88 -88
  64. package/dist/components/NSMenuButton.module.css +44 -44
  65. package/dist/components/NSNoData.module.css +11 -11
  66. package/dist/components/NSPagination.module.css +94 -94
  67. package/dist/components/NSPanel.module.css +28 -28
  68. package/dist/components/NSPanelAccordion.module.css +4 -4
  69. package/dist/components/NSProductSearch.module.css +73 -73
  70. package/dist/components/NSProgressBar.module.css +38 -38
  71. package/dist/components/NSRange.module.css +66 -66
  72. package/dist/components/NSReorderDialog.d.ts +3 -0
  73. package/dist/components/NSReorderDialog.js +10 -4
  74. package/dist/components/NSReorderDialog.js.map +1 -1
  75. package/dist/components/NSReorderDialog.module.css +53 -49
  76. package/dist/components/NSRow.module.css +17 -17
  77. package/dist/components/NSSection.module.css +4 -4
  78. package/dist/components/NSSectionCards.module.css +38 -38
  79. package/dist/components/NSSectionTiles.module.css +10 -10
  80. package/dist/components/NSSplitter.module.css +59 -59
  81. package/dist/components/NSTabPage.module.css +59 -59
  82. package/dist/components/NSTable.js +23 -23
  83. package/dist/components/NSTable.module.css +374 -374
  84. package/dist/components/NSTableChart.module.css +119 -119
  85. package/dist/components/NSTile.module.css +76 -76
  86. package/dist/components/NSTimelineMonthly.module.css +71 -71
  87. package/dist/components/NSTitle.module.css +15 -15
  88. package/dist/index.css +5 -5
  89. package/dist/pages/NSImplementing.module.css +35 -35
  90. package/dist/pages/NSNotFoundPage.module.css +18 -18
  91. package/dist/pages/NSUpdating.module.css +35 -35
  92. package/package.json +86 -86
  93. package/public/index.html +38 -38
  94. package/src/App.css +33 -33
  95. package/src/App.tsx +850 -870
  96. package/src/BrowserDetector.ts +109 -109
  97. package/src/Color.tsx +10 -10
  98. package/src/CopyToClipboard.ts +6 -6
  99. package/src/EncryptionOperation.ts +98 -98
  100. package/src/KeyOperation.ts +109 -109
  101. package/src/LinkOperation.ts +101 -101
  102. package/src/NSBoxBuilder.tsx +922 -922
  103. package/src/ProductCacheService.ts +36 -36
  104. package/src/Validator.ts +199 -199
  105. package/src/components/INSBox.tsx +7 -7
  106. package/src/components/NSBanner.module.css +47 -47
  107. package/src/components/NSBanner.tsx +80 -80
  108. package/src/components/NSBarAction.module.css +91 -91
  109. package/src/components/NSBarAction.tsx +95 -95
  110. package/src/components/NSBarAlert.module.css +79 -79
  111. package/src/components/NSBarAlert.tsx +35 -35
  112. package/src/components/NSBarNotification.module.css +34 -34
  113. package/src/components/NSBarNotification.tsx +89 -89
  114. package/src/components/NSBarTitle.module.css +9 -9
  115. package/src/components/NSBarTitle.tsx +23 -23
  116. package/src/components/NSBox.module.css +87 -87
  117. package/src/components/NSBox.tsx +19 -19
  118. package/src/components/NSBoxBaseCombo.module.css +24 -24
  119. package/src/components/NSBoxBaseCombo.tsx +501 -501
  120. package/src/components/NSBoxBaseLayout.tsx +163 -163
  121. package/src/components/NSBoxBaseLayoutRecursive.tsx +59 -59
  122. package/src/components/NSBoxBoolean.module.css +73 -73
  123. package/src/components/NSBoxBoolean.tsx +152 -152
  124. package/src/components/NSBoxBooleans.tsx +181 -181
  125. package/src/components/NSBoxColor.tsx +107 -107
  126. package/src/components/NSBoxCombo.tsx +95 -95
  127. package/src/components/NSBoxDate.module.css +4 -4
  128. package/src/components/NSBoxDate.tsx +144 -144
  129. package/src/components/NSBoxDateRange.tsx +88 -88
  130. package/src/components/NSBoxDateRangeBase.module.css +73 -73
  131. package/src/components/NSBoxDateRangeBase.tsx +236 -236
  132. package/src/components/NSBoxDateTime.module.css +4 -4
  133. package/src/components/NSBoxDateTime.tsx +136 -136
  134. package/src/components/NSBoxDateTimeRange.tsx +66 -66
  135. package/src/components/NSBoxDouble.tsx +110 -110
  136. package/src/components/NSBoxDuration.module.css +4 -4
  137. package/src/components/NSBoxDuration.tsx +107 -107
  138. package/src/components/NSBoxDynamic.tsx +73 -73
  139. package/src/components/NSBoxDynamics.tsx +68 -68
  140. package/src/components/NSBoxEmail.tsx +117 -117
  141. package/src/components/NSBoxEntity.tsx +180 -180
  142. package/src/components/NSBoxEnum.tsx +113 -113
  143. package/src/components/NSBoxFile.module.css +10 -10
  144. package/src/components/NSBoxFile.tsx +106 -106
  145. package/src/components/NSBoxFilePath.tsx +106 -106
  146. package/src/components/NSBoxFont.tsx +107 -107
  147. package/src/components/NSBoxIPV4.tsx +107 -107
  148. package/src/components/NSBoxIPV4Range.tsx +107 -107
  149. package/src/components/NSBoxIPV6.tsx +104 -104
  150. package/src/components/NSBoxIPV6Range.tsx +107 -107
  151. package/src/components/NSBoxInteger.module.css +16 -16
  152. package/src/components/NSBoxInteger.tsx +126 -126
  153. package/src/components/NSBoxMoney.tsx +115 -115
  154. package/src/components/NSBoxOptions.module.css +53 -53
  155. package/src/components/NSBoxOptions.tsx +182 -182
  156. package/src/components/NSBoxPhone.module.css +35 -35
  157. package/src/components/NSBoxPhone.tsx +120 -120
  158. package/src/components/NSBoxRadio.module.css +33 -33
  159. package/src/components/NSBoxRadio.tsx +104 -104
  160. package/src/components/NSBoxSchemaBase.module.css +17 -17
  161. package/src/components/NSBoxSchemaBase.tsx +562 -562
  162. package/src/components/NSBoxSchemaVariable.module.css +16 -16
  163. package/src/components/NSBoxSchemaVariable.tsx +262 -262
  164. package/src/components/NSBoxSearch.tsx +112 -112
  165. package/src/components/NSBoxSensitive.tsx +133 -133
  166. package/src/components/NSBoxString.tsx +106 -106
  167. package/src/components/NSBoxTextArea.module.css +12 -12
  168. package/src/components/NSBoxTextArea.tsx +136 -136
  169. package/src/components/NSBoxTime.module.css +4 -4
  170. package/src/components/NSBoxTime.tsx +106 -106
  171. package/src/components/NSBoxTimeRange.tsx +220 -220
  172. package/src/components/NSBoxTimeZone.tsx +122 -122
  173. package/src/components/NSBoxURL.tsx +117 -117
  174. package/src/components/NSBoxVersion.tsx +107 -107
  175. package/src/components/NSButton.module.css +57 -57
  176. package/src/components/NSButton.tsx +74 -74
  177. package/src/components/NSButtonBlue.module.css +4 -4
  178. package/src/components/NSButtonBlue.tsx +29 -29
  179. package/src/components/NSButtonGreen.module.css +4 -4
  180. package/src/components/NSButtonGreen.tsx +29 -29
  181. package/src/components/NSButtonRed.module.css +4 -4
  182. package/src/components/NSButtonRed.tsx +29 -29
  183. package/src/components/NSCard.module.css +113 -113
  184. package/src/components/NSCard.tsx +67 -67
  185. package/src/components/NSCardScreenshot.module.css +41 -41
  186. package/src/components/NSCardScreenshot.tsx +31 -31
  187. package/src/components/NSChartBar.tsx +134 -134
  188. package/src/components/NSChartDoughnut.tsx +114 -114
  189. package/src/components/NSChartLine.tsx +110 -110
  190. package/src/components/NSChartPie.tsx +105 -105
  191. package/src/components/NSChartRange.tsx +14 -14
  192. package/src/components/NSColumn.module.css +16 -16
  193. package/src/components/NSColumn.tsx +24 -24
  194. package/src/components/NSCopy.tsx +95 -95
  195. package/src/components/NSCopyBox.module.css +39 -39
  196. package/src/components/NSCopyBox.tsx +53 -53
  197. package/src/components/NSDialog.module.css +105 -105
  198. package/src/components/NSDialog.tsx +72 -72
  199. package/src/components/NSDialogBox.tsx +38 -38
  200. package/src/components/NSDialogBoxDate.tsx +28 -28
  201. package/src/components/NSDialogBoxDateTime.tsx +28 -28
  202. package/src/components/NSDialogBoxPhone.tsx +28 -28
  203. package/src/components/NSDialogBoxString.tsx +28 -28
  204. package/src/components/NSDialogDelete.tsx +36 -36
  205. package/src/components/NSDialogInfo.tsx +49 -49
  206. package/src/components/NSDialogPageSelection.module.css +103 -103
  207. package/src/components/NSDialogPageSelection.tsx +233 -233
  208. package/src/components/NSDownTimer.module.css +55 -55
  209. package/src/components/NSDownTimer.tsx +91 -91
  210. package/src/components/NSDownload.module.css +46 -46
  211. package/src/components/NSDownload.tsx +69 -69
  212. package/src/components/NSElectronicCard.module.css +60 -60
  213. package/src/components/NSElectronicCard.tsx +46 -46
  214. package/src/components/NSEntityCardBackground.module.css +27 -27
  215. package/src/components/NSEntityCardBackground.tsx +36 -36
  216. package/src/components/NSFilterBox.module.css +27 -27
  217. package/src/components/NSFilterBox.tsx +477 -477
  218. package/src/components/NSFilterBoxItems.module.css +15 -15
  219. package/src/components/NSFilterBoxItems.tsx +52 -52
  220. package/src/components/NSFilterItem.module.css +24 -24
  221. package/src/components/NSFilterItem.tsx +27 -27
  222. package/src/components/NSFooter.module.css +140 -140
  223. package/src/components/NSFooter.tsx +321 -321
  224. package/src/components/NSGauge.module.css +67 -67
  225. package/src/components/NSGauge.tsx +52 -52
  226. package/src/components/NSGaugeDate.module.css +57 -57
  227. package/src/components/NSGaugeDate.tsx +125 -125
  228. package/src/components/NSGaugeNumber.module.css +66 -66
  229. package/src/components/NSGaugeNumber.tsx +93 -93
  230. package/src/components/NSHeader.module.css +316 -316
  231. package/src/components/NSHeader.tsx +337 -337
  232. package/src/components/NSHeaderScreenshot.module.css +35 -35
  233. package/src/components/NSHeaderScreenshot.tsx +39 -39
  234. package/src/components/NSID.tsx +178 -178
  235. package/src/components/NSInfo.tsx +50 -50
  236. package/src/components/NSLabel.module.css +25 -25
  237. package/src/components/NSLabel.tsx +47 -47
  238. package/src/components/NSLabelErrorNotifier.module.css +2 -2
  239. package/src/components/NSLabelErrorNotifier.tsx +35 -35
  240. package/src/components/NSLabelSensitive.module.css +9 -9
  241. package/src/components/NSLabelSensitive.tsx +101 -101
  242. package/src/components/NSLayout.module.css +22 -22
  243. package/src/components/NSLayout.tsx +143 -143
  244. package/src/components/NSLine.module.css +15 -15
  245. package/src/components/NSLine.tsx +13 -13
  246. package/src/components/NSLineText.module.css +38 -38
  247. package/src/components/NSLineText.tsx +17 -17
  248. package/src/components/NSLink.module.css +36 -36
  249. package/src/components/NSLink.tsx +26 -26
  250. package/src/components/NSLinkBlue.tsx +22 -22
  251. package/src/components/NSLinkGreen.tsx +13 -13
  252. package/src/components/NSLinkRed.tsx +13 -13
  253. package/src/components/NSListGrouped.module.css +69 -69
  254. package/src/components/NSListGrouped.tsx +106 -106
  255. package/src/components/NSListProduct.tsx +78 -78
  256. package/src/components/NSLoading.module.css +10 -10
  257. package/src/components/NSLoading.tsx +43 -43
  258. package/src/components/NSMegaMenu.module.css +133 -133
  259. package/src/components/NSMegaMenu.tsx +188 -188
  260. package/src/components/NSMenuAction.module.css +88 -88
  261. package/src/components/NSMenuAction.tsx +106 -106
  262. package/src/components/NSMenuButton.module.css +44 -44
  263. package/src/components/NSMenuButton.tsx +198 -198
  264. package/src/components/NSNoData.module.css +11 -11
  265. package/src/components/NSNoData.tsx +24 -24
  266. package/src/components/NSPagination.module.css +94 -94
  267. package/src/components/NSPagination.tsx +182 -182
  268. package/src/components/NSPanel.module.css +28 -28
  269. package/src/components/NSPanel.tsx +26 -26
  270. package/src/components/NSPanelAccordion.module.css +4 -4
  271. package/src/components/NSPanelAccordion.tsx +51 -51
  272. package/src/components/NSProductSearch.module.css +73 -73
  273. package/src/components/NSProductSearch.tsx +193 -193
  274. package/src/components/NSProgressBar.module.css +38 -38
  275. package/src/components/NSProgressBar.tsx +29 -29
  276. package/src/components/NSRange.module.css +66 -66
  277. package/src/components/NSRange.tsx +83 -83
  278. package/src/components/NSReorderDialog.module.css +53 -49
  279. package/src/components/NSReorderDialog.tsx +203 -184
  280. package/src/components/NSRepeater.tsx +327 -327
  281. package/src/components/NSRepeaterNSBoxSchemaVariable.tsx +96 -96
  282. package/src/components/NSRepeaterNSTag.tsx +86 -86
  283. package/src/components/NSRow.module.css +17 -17
  284. package/src/components/NSRow.tsx +24 -24
  285. package/src/components/NSSection.module.css +4 -4
  286. package/src/components/NSSection.tsx +26 -26
  287. package/src/components/NSSectionCards.module.css +38 -38
  288. package/src/components/NSSectionCards.tsx +51 -51
  289. package/src/components/NSSectionTiles.module.css +10 -10
  290. package/src/components/NSSectionTiles.tsx +25 -25
  291. package/src/components/NSSectionTitle.tsx +19 -19
  292. package/src/components/NSSortDialog.tsx +124 -124
  293. package/src/components/NSSpace.tsx +28 -28
  294. package/src/components/NSSplitter.module.css +59 -59
  295. package/src/components/NSSplitter.tsx +211 -211
  296. package/src/components/NSTabPage.module.css +59 -59
  297. package/src/components/NSTabPage.tsx +122 -122
  298. package/src/components/NSTable.module.css +374 -374
  299. package/src/components/NSTable.tsx +1451 -1451
  300. package/src/components/NSTableChart.module.css +119 -119
  301. package/src/components/NSTableChart.tsx +732 -732
  302. package/src/components/NSTag.tsx +74 -74
  303. package/src/components/NSTile.module.css +76 -76
  304. package/src/components/NSTile.tsx +27 -27
  305. package/src/components/NSTimelineMonthly.module.css +71 -71
  306. package/src/components/NSTimelineMonthly.tsx +44 -44
  307. package/src/components/NSTitle.module.css +15 -15
  308. package/src/components/NSTitle.tsx +19 -19
  309. package/src/css.d.ts +13 -13
  310. package/src/formatter/BackColorFormatter.tsx +23 -23
  311. package/src/formatter/BaseColumnFormatter.ts +86 -86
  312. package/src/formatter/BaseURLImageFormatter.tsx +37 -37
  313. package/src/formatter/BooleanFormatter.ts +26 -26
  314. package/src/formatter/BytesFormatter.tsx +19 -19
  315. package/src/formatter/DateFormatter.ts +26 -26
  316. package/src/formatter/DateTimeFormatter.ts +26 -26
  317. package/src/formatter/DurationFormatter.ts +17 -17
  318. package/src/formatter/EmailFormatter.tsx +25 -25
  319. package/src/formatter/EnumFormatter.ts +17 -17
  320. package/src/formatter/FloatFormatter.ts +27 -27
  321. package/src/formatter/ForeColorFormatter.tsx +24 -24
  322. package/src/formatter/IDFormatter.tsx +58 -58
  323. package/src/formatter/IPFormatter.ts +39 -39
  324. package/src/formatter/IntegerFormatter.ts +27 -27
  325. package/src/formatter/JsonFormatter.tsx +75 -75
  326. package/src/formatter/MoneyFormatter.ts +39 -39
  327. package/src/formatter/PercentFormatter.tsx +43 -43
  328. package/src/formatter/PhoneFormatter.tsx +25 -25
  329. package/src/formatter/SensitiveFormatter.tsx +40 -40
  330. package/src/formatter/StringFormatter.tsx +49 -49
  331. package/src/formatter/TimeFormatter.ts +25 -25
  332. package/src/formatter/URLFormatter.tsx +28 -28
  333. package/src/formatter/UnknowFormatter.ts +22 -22
  334. package/src/index.css +5 -5
  335. package/src/index.tsx +7 -7
  336. package/src/main.ts +263 -263
  337. package/src/pages/NSImplementing.module.css +35 -35
  338. package/src/pages/NSImplementing.tsx +32 -32
  339. package/src/pages/NSNotFoundPage.module.css +18 -18
  340. package/src/pages/NSNotFoundPage.tsx +14 -14
  341. package/src/pages/NSUpdating.module.css +35 -35
  342. package/src/pages/NSUpdating.tsx +32 -32
  343. package/src/props/IBackgroundProps.ts +5 -5
  344. package/src/props/IBaseComponentProps.ts +8 -8
  345. package/src/props/IHeaderIconProps.ts +10 -10
  346. package/src/props/IHeaderLeftProps.ts +6 -6
  347. package/src/props/IHeaderRightProps.ts +8 -8
  348. package/src/props/IImageProps.ts +4 -4
  349. package/src/props/ILinkProps.ts +4 -4
  350. package/src/props/IValidationNumberProps.ts +4 -4
  351. package/src/props/IValidationPrecisionProps.ts +3 -3
  352. package/src/props/IValidationProps.ts +9 -9
  353. package/src/props/IValidationRegexProps.ts +4 -4
  354. package/src/props/IValidationStringProps.ts +4 -4
  355. package/src/routing/NSNotifier.ts +114 -114
  356. package/src/routing/NSRouterMaker.tsx +28 -28
  357. package/tsconfig.json +43 -43
  358. package/dist/components/NSListMenu.d.ts +0 -9
  359. package/dist/components/NSListMenu.js +0 -135
  360. package/dist/components/NSListMenu.js.map +0 -1
package/src/App.tsx CHANGED
@@ -1,871 +1,851 @@
1
- import 'bootstrap/dist/css/bootstrap.min.css';
2
- import { TimeOperation } from 'namirasoft-core';
3
- import React, { Component, createRef } from 'react';
4
- import './App.css';
5
- import { NSLayout } from './components/NSLayout';
6
- import
7
- {
8
- DateTimeFormatter, IntegerFormatter, JsonFormatter, NSBoxCombo, NSBoxDate, NSBoxDateTime, NSButtonBlue, NSColumn, NSTable, PhoneFormatter, SensitiveFormatter, StringFormatter,
9
- NSBanner, NSBarAction, NSBarAlert, NSBarNotification, NSBarNotificationColor, NotificationType, NSBarTitle,
10
- NSBoxBoolean, NSBoxBooleans, NSBoxDateRange, NSBoxDateTimeRange, NSBoxDouble, NSBoxDuration, NSBoxDynamic, NSBoxDynamics,
11
- NSBoxEmail, NSBoxEntity, NSBoxEnum, NSBoxFile, NSBoxInteger, NSBoxIPV4, NSBoxIPV6, NSBoxMoney, NSBoxOptions, NSBoxPhone, NSBoxRadio,
12
- NSBoxSearch, NSBoxSensitive, NSBoxString, NSBoxTextArea, NSBoxTime, NSBoxTimeRange, NSBoxTimeZone, NSBoxURL, NSBoxVersion,
13
- NSButton, NSButtonGreen, NSButtonRed,
14
- NSCard, NSCardScreenshot,
15
- NSTableChart,
16
- NSCopy, NSCopyBox,
17
- NSDialog, NSDialogDelete, NSDialogInfo, NSDialogPageSelection, NSInfo,
18
- NSDialogBox, NSDialogBoxDate, NSDialogBoxDateTime, NSDialogBoxPhone, NSDialogBoxString,
19
- NSDownTimer,
20
- NSTile,
21
- NSFilterBox, NSFilterBoxItems, NSFilterItem,
22
- NSFooter,
23
- NSHeader,
24
- NSID,
25
- NSLabel, NSLabelErrorNotifier, NSLabelSensitive,
26
- NSLine, NSLineText,
27
- NSLink, NSLinkBlue, NSLinkGreen, NSLinkRed,
28
- NSListGrouped, NSListProduct,
29
- NSLoading,
30
- NSMenuAction, NSMenuButton,
31
- NSNoData,
32
- NSPagination,
33
- NSPanel, NSPanelAccordion,
34
- NSRepeater, NSRepeaterNSBoxSchemaVariable, NSRepeaterNSTag,
35
- NSRow,
36
- NSSection, NSSectionCards, NSSectionTiles, NSSectionTitle,
37
- NSSpace, NSSpaceSizeType,
38
- NSReorderDialog, NSSortDialog,
39
- NSTabPage,
40
- NSTag,
41
- NSTitle,
42
- NSGauge, NSGaugeDate, NSGaugeNumber,
43
- NSSplitter,
44
- } from './main';
45
- import NSMegaMenu from './components/NSMegaMenu';
46
- import NSProgressBar from './components/NSProgressBar';
47
- import { NSDownload } from './components/NSDownload';
48
- import { NSElectronicCard } from './components/NSElectronicCard';
49
- import { NSEntityCardBackground } from './components/NSEntityCardBackground';
50
- import { NSHeaderScreenshot } from './components/NSHeaderScreenshot';
51
- import { NSProductSearch } from './components/NSProductSearch';
52
- import { NSRange } from './components/NSRange';
53
- import { NSTimelineMonthly } from './components/NSTimelineMonthly';
54
- import { NSBoxSchemaBase } from './components/NSBoxSchemaBase';
55
- import { NSBoxSchemaVariable } from './components/NSBoxSchemaVariable';
56
- import { NSBoxFilePath } from './components/NSBoxFilePath';
57
- import { NSBoxFont } from './components/NSBoxFont';
58
- import { NSBoxIPV4Range } from './components/NSBoxIPV4Range';
59
- import { NSBoxIPV6Range } from './components/NSBoxIPV6Range';
60
- import { NSBoxColor } from './components/NSBoxColor';
61
-
62
- type TableRow = {
63
- id: string,
64
- parent_id?: string,
65
- name: string,
66
- age: number,
67
- experience: number,
68
- salary: number,
69
- city: string,
70
- phone: string,
71
- json?: string,
72
- national_code: string,
73
- created_at: string,
74
- };
75
-
76
- interface AppProps { }
77
- interface AppState { openDialog: string | null }
78
-
79
- class DocErrorBoundary extends Component<{ name: string; children: React.ReactNode }, { error: string | null }>
80
- {
81
- constructor(props: { name: string; children: React.ReactNode })
82
- {
83
- super(props);
84
- this.state = { error: null };
85
- }
86
- static getDerivedStateFromError(error: Error) { return { error: error?.message ?? String(error) }; }
87
- override componentDidCatch(_error: Error) { }
88
- override render()
89
- {
90
- if (this.state.error !== null)
91
- return <div style={{ color: "#b00", fontSize: 12, padding: "0.25rem 0.5rem", border: "1px dashed #b00", borderRadius: 4 }}>
92
- {this.props.name} render error: {this.state.error}
93
- </div>;
94
- return this.props.children;
95
- }
96
- }
97
-
98
- export class App extends Component<AppProps, AppState>
99
- {
100
- private NSTableRef = createRef<NSTable<TableRow>>();
101
- private NSBoxDateRef = createRef<NSBoxDate>();
102
- private NSBoxDateTimeRef = createRef<NSBoxDateTime>();
103
-
104
- constructor(props: AppProps)
105
- {
106
- super(props);
107
- this.state = { openDialog: null }
108
- };
109
-
110
- private openDialog = (name: string) => this.setState({ openDialog: name });
111
- private closeDialog = () => this.setState({ openDialog: null });
112
-
113
- override render()
114
- {
115
- const gaugeColors = { low: "red", medium: "orange", high: "green" };
116
- return (
117
- <NSLayout
118
- header={{
119
- right: {
120
- icons: [
121
- {
122
- onClicked: () => { },
123
- src: "https://static.namirasoft.com/image/namirasoft/access/logo/base.png",
124
- count: 2
125
- }
126
- ],
127
- },
128
- mega_menu: true,
129
- onCollapse: () => { },
130
- }}
131
- isLoggedIn={() => true}
132
- logo='https://static.namirasoft.com/image/namirasoft/access/logo/base.png'
133
- background={{ image: "https://static.namirasoft.com/image/namirasoft/access/background/base.svg" }}
134
- notifications={[]}
135
- notifier={{} as any}
136
- scope=''
137
- >
138
- <NSColumn style={{ gap: '1rem', padding: '1rem' }}>
139
- <NSLineText title="NSBanner" />
140
- <DocErrorBoundary name="NSBanner">
141
- <NSBanner imageLeft={null} imageRight={null} title={{ text: "Sample" }} />
142
- </DocErrorBoundary>
143
-
144
- <NSLineText title="NSBarAction" />
145
- <DocErrorBoundary name="NSBarAction">
146
- <NSBarAction title="Sample" />
147
- </DocErrorBoundary>
148
-
149
- <NSLineText title="NSBarAlert" />
150
- <DocErrorBoundary name="NSBarAlert">
151
- <NSBarAlert title={{ title: "Alert" }} isVisible={() => true} />
152
- </DocErrorBoundary>
153
-
154
- <NSLineText title="NSBarNotification" />
155
- <DocErrorBoundary name="NSBarNotification">
156
- {React.createElement(NSBarNotification as any, { id: "n1", text: "Hi", type: NotificationType.Information, color: NSBarNotificationColor.BLUE, onClose: () => { }, onChangeState: () => { } })}
157
- </DocErrorBoundary>
158
-
159
- <NSLineText title="NSBarTitle" />
160
- <DocErrorBoundary name="NSBarTitle">
161
- <NSBarTitle title="Sample" />
162
- </DocErrorBoundary>
163
-
164
- <NSLineText title="NSBoxBoolean" />
165
- <DocErrorBoundary name="NSBoxBoolean">
166
- <NSBoxBoolean title="Sample" required={false} />
167
- </DocErrorBoundary>
168
-
169
- <NSLineText title="NSBoxBooleans" />
170
- <DocErrorBoundary name="NSBoxBooleans">
171
- <NSBoxBooleans items={[{ value: "a", text: "A" }]} />
172
- </DocErrorBoundary>
173
-
174
- <NSLineText title="NSBoxColor" />
175
- <DocErrorBoundary name="NSBoxColor">
176
- <NSBoxColor title="Sample" required={false} />
177
- </DocErrorBoundary>
178
-
179
- <NSLineText title="NSBoxCombo" />
180
- <DocErrorBoundary name="NSBoxCombo">
181
- <NSBoxCombo title="Sample" required={false} multiple={false} getOptions={() => []} />
182
- </DocErrorBoundary>
183
-
184
- <NSLineText title="NSBoxDate" />
185
- <DocErrorBoundary name="NSBoxDate">
186
- <NSBoxDate title="Sample" required={false} />
187
- </DocErrorBoundary>
188
-
189
- <NSLineText title="NSBoxDateRange" />
190
- <DocErrorBoundary name="NSBoxDateRange">
191
- <NSBoxDateRange title="Sample" required={false} />
192
- </DocErrorBoundary>
193
-
194
- <NSLineText title="NSBoxDateTime" />
195
- <DocErrorBoundary name="NSBoxDateTime">
196
- <NSBoxDateTime title="Sample" required={false} />
197
- </DocErrorBoundary>
198
-
199
- <NSLineText title="NSBoxDateTimeRange" />
200
- <DocErrorBoundary name="NSBoxDateTimeRange">
201
- <NSBoxDateTimeRange title="Sample" required={false} />
202
- </DocErrorBoundary>
203
-
204
- <NSLineText title="NSBoxDouble" />
205
- <DocErrorBoundary name="NSBoxDouble">
206
- <NSBoxDouble title="Sample" required={false} />
207
- </DocErrorBoundary>
208
-
209
- <NSLineText title="NSBoxDuration" />
210
- <DocErrorBoundary name="NSBoxDuration">
211
- <NSBoxDuration title="Sample" required={false} />
212
- </DocErrorBoundary>
213
-
214
- <NSLineText title="NSBoxDynamic" />
215
- <DocErrorBoundary name="NSBoxDynamic">
216
- {React.createElement(NSBoxDynamic as any, { title: "Sample", name: "dyn", variable: {} })}
217
- </DocErrorBoundary>
218
-
219
- <NSLineText title="NSBoxDynamics" />
220
- <DocErrorBoundary name="NSBoxDynamics">
221
- <NSBoxDynamics name="sample" variables={[]} />
222
- </DocErrorBoundary>
223
-
224
- <NSLineText title="NSBoxEmail" />
225
- <DocErrorBoundary name="NSBoxEmail">
226
- <NSBoxEmail title="Sample" required={false} />
227
- </DocErrorBoundary>
228
-
229
- <NSLineText title="NSBoxEntity" />
230
- <DocErrorBoundary name="NSBoxEntity">
231
- {React.createElement(NSBoxEntity as any, { title: "Sample", required: false, multiple: false, getTitle: (x: any) => x, getValue: (x: any) => x, getSort: () => null, list: async () => ({ count: 0, rows: [] }), table_name: "sample" })}
232
- </DocErrorBoundary>
233
-
234
- <NSLineText title="NSBoxEnum" />
235
- <DocErrorBoundary name="NSBoxEnum">
236
- <NSBoxEnum title="Sample" required={false} multiple={false} getEnumObject={() => ({})} />
237
- </DocErrorBoundary>
238
-
239
- <NSLineText title="NSBoxFile" />
240
- <DocErrorBoundary name="NSBoxFile">
241
- <NSBoxFile title="Sample" required={false} />
242
- </DocErrorBoundary>
243
-
244
- <NSLineText title="NSBoxFilePath" />
245
- <DocErrorBoundary name="NSBoxFilePath">
246
- <NSBoxFilePath title="Sample" required={false} />
247
- </DocErrorBoundary>
248
-
249
- <NSLineText title="NSBoxFont" />
250
- <DocErrorBoundary name="NSBoxFont">
251
- <NSBoxFont title="Sample" required={false} />
252
- </DocErrorBoundary>
253
-
254
- <NSLineText title="NSBoxIPV4" />
255
- <DocErrorBoundary name="NSBoxIPV4">
256
- <NSBoxIPV4 title="Sample" required={false} />
257
- </DocErrorBoundary>
258
-
259
- <NSLineText title="NSBoxIPV4Range" />
260
- <DocErrorBoundary name="NSBoxIPV4Range">
261
- <NSBoxIPV4Range title="Sample" required={false} />
262
- </DocErrorBoundary>
263
-
264
- <NSLineText title="NSBoxIPV6" />
265
- <DocErrorBoundary name="NSBoxIPV6">
266
- <NSBoxIPV6 title="Sample" required={false} />
267
- </DocErrorBoundary>
268
-
269
- <NSLineText title="NSBoxIPV6Range" />
270
- <DocErrorBoundary name="NSBoxIPV6Range">
271
- <NSBoxIPV6Range title="Sample" required={false} />
272
- </DocErrorBoundary>
273
-
274
- <NSLineText title="NSBoxInteger" />
275
- <DocErrorBoundary name="NSBoxInteger">
276
- <NSBoxInteger title="Sample" required={false} />
277
- </DocErrorBoundary>
278
-
279
- <NSLineText title="NSBoxMoney" />
280
- <DocErrorBoundary name="NSBoxMoney">
281
- <NSBoxMoney title="Sample" required={false} />
282
- </DocErrorBoundary>
283
-
284
- <NSLineText title="NSBoxOptions" />
285
- <DocErrorBoundary name="NSBoxOptions">
286
- <NSBoxOptions title="Sample" required={false} multiple={false} options={[{ value: "a", title: "A" }]} />
287
- </DocErrorBoundary>
288
-
289
- <NSLineText title="NSBoxPhone" />
290
- <DocErrorBoundary name="NSBoxPhone">
291
- <NSBoxPhone title="Sample" required={false} />
292
- </DocErrorBoundary>
293
-
294
- <NSLineText title="NSBoxRadio" />
295
- <DocErrorBoundary name="NSBoxRadio">
296
- <NSBoxRadio title="Sample" required={false} />
297
- </DocErrorBoundary>
298
-
299
- <NSLineText title="NSBoxSchemaBase" />
300
- <DocErrorBoundary name="NSBoxSchemaBase">
301
- {React.createElement(NSBoxSchemaBase as any, { title: "Sample", name: "schema", required: false })}
302
- </DocErrorBoundary>
303
-
304
- <NSLineText title="NSBoxSchemaVariable" />
305
- <DocErrorBoundary name="NSBoxSchemaVariable">
306
- {React.createElement(NSBoxSchemaVariable as any, { title: "Sample", name: "schemavar", required: false })}
307
- </DocErrorBoundary>
308
-
309
- <NSLineText title="NSBoxSearch" />
310
- <DocErrorBoundary name="NSBoxSearch">
311
- <NSBoxSearch title="Sample" required={false} />
312
- </DocErrorBoundary>
313
-
314
- <NSLineText title="NSBoxSensitive" />
315
- <DocErrorBoundary name="NSBoxSensitive">
316
- <NSBoxSensitive title="Sample" required={false} />
317
- </DocErrorBoundary>
318
-
319
- <NSLineText title="NSBoxString" />
320
- <DocErrorBoundary name="NSBoxString">
321
- <NSBoxString title="Sample" required={false} />
322
- </DocErrorBoundary>
323
-
324
- <NSLineText title="NSBoxTextArea" />
325
- <DocErrorBoundary name="NSBoxTextArea">
326
- <NSBoxTextArea title="Sample" required={false} />
327
- </DocErrorBoundary>
328
-
329
- <NSLineText title="NSBoxTime" />
330
- <DocErrorBoundary name="NSBoxTime">
331
- <NSBoxTime title="Sample" required={false} />
332
- </DocErrorBoundary>
333
-
334
- <NSLineText title="NSBoxTimeRange" />
335
- <DocErrorBoundary name="NSBoxTimeRange">
336
- <NSBoxTimeRange title="Sample" required={false} />
337
- </DocErrorBoundary>
338
-
339
- <NSLineText title="NSBoxTimeZone" />
340
- <DocErrorBoundary name="NSBoxTimeZone">
341
- <NSBoxTimeZone title="Sample" required={false} />
342
- </DocErrorBoundary>
343
-
344
- <NSLineText title="NSBoxURL" />
345
- <DocErrorBoundary name="NSBoxURL">
346
- <NSBoxURL title="Sample" required={false} />
347
- </DocErrorBoundary>
348
-
349
- <NSLineText title="NSBoxVersion" />
350
- <DocErrorBoundary name="NSBoxVersion">
351
- <NSBoxVersion title="Sample" required={false} />
352
- </DocErrorBoundary>
353
-
354
- <NSLineText title="NSButton" />
355
- <DocErrorBoundary name="NSButton">
356
- <NSButton title="Sample" onClick={{ action: () => { }, showLoading: false }} />
357
- </DocErrorBoundary>
358
-
359
- <NSLineText title="NSButtonBlue" />
360
- <DocErrorBoundary name="NSButtonBlue">
361
- <NSButtonBlue title="Sample" onClick={{ action: () => { }, showLoading: false }} />
362
- </DocErrorBoundary>
363
-
364
- <NSLineText title="NSButtonGreen" />
365
- <DocErrorBoundary name="NSButtonGreen">
366
- <NSButtonGreen title="Sample" onClick={{ action: () => { }, showLoading: false }} />
367
- </DocErrorBoundary>
368
-
369
- <NSLineText title="NSButtonRed" />
370
- <DocErrorBoundary name="NSButtonRed">
371
- <NSButtonRed title="Sample" onClick={{ action: () => { }, showLoading: false }} />
372
- </DocErrorBoundary>
373
-
374
- <NSLineText title="NSCard" />
375
- <DocErrorBoundary name="NSCard">
376
- <NSCard title="Sample" link={{ href: "#" }} />
377
- </DocErrorBoundary>
378
-
379
- <NSLineText title="NSCardScreenshot" />
380
- <DocErrorBoundary name="NSCardScreenshot">
381
- {React.createElement(NSCardScreenshot as any, { key: 1, screenshot: "https://static.namirasoft.com/image/namirasoft/access/logo/base.png", timeSpent: "1h", onDelete: () => { } })}
382
- </DocErrorBoundary>
383
-
384
- {/* <NSLineText title="NSChartBar" />
385
- <DocErrorBoundary name="NSChartBar">
386
- <NSChartBar labels={["A", "B"]} dataset={[{ label: "s", data: [1, 2] }]} range={{ min: 0, max: 10 }} />
387
- </DocErrorBoundary>
388
-
389
- <NSLineText title="NSChartDoughnut" />
390
- <DocErrorBoundary name="NSChartDoughnut">
391
- <NSChartDoughnut title="Sample" datas={[1, 2, 3]} labels={["A", "B", "C"]} />
392
- </DocErrorBoundary>
393
-
394
- <NSLineText title="NSChartLine" />
395
- <DocErrorBoundary name="NSChartLine">
396
- <NSChartLine labels={["A", "B"]} dataset={[{ label: "s", data: [1, 2] }]} range={{ min: 0, max: 10 }} />
397
- </DocErrorBoundary>
398
-
399
- <NSLineText title="NSChartPie" />
400
- <DocErrorBoundary name="NSChartPie">
401
- <NSChartPie datas={[1, 2, 3]} labels={["A", "B", "C"]} />
402
- </DocErrorBoundary>
403
-
404
- <NSLineText title="NSChartRange" />
405
- <DocErrorBoundary name="NSChartRange">
406
- <NSChartRange />
407
- </DocErrorBoundary> */}
408
-
409
- <NSLineText title="NSColumn" />
410
- <DocErrorBoundary name="NSColumn">
411
- <NSColumn>Sample</NSColumn>
412
- </DocErrorBoundary>
413
-
414
- <NSLineText title="NSCopy" />
415
- <DocErrorBoundary name="NSCopy">
416
- <NSCopy>Sample</NSCopy>
417
- </DocErrorBoundary>
418
-
419
- <NSLineText title="NSCopyBox" />
420
- <DocErrorBoundary name="NSCopyBox">
421
- <NSCopyBox value="Sample" />
422
- </DocErrorBoundary>
423
-
424
- <NSLineText title="NSDialog" />
425
- <DocErrorBoundary name="NSDialog">
426
- <NSButtonBlue title="Open NSDialog" onClick={{ action: () => this.openDialog("NSDialog"), showLoading: false }} />
427
- {this.state.openDialog === "NSDialog" && <NSDialog onClose={this.closeDialog}>Sample</NSDialog>}
428
- </DocErrorBoundary>
429
-
430
- <NSLineText title="NSDialogBox" />
431
- <DocErrorBoundary name="NSDialogBox">
432
- <NSButtonBlue title="Open NSDialogBox" onClick={{ action: () => this.openDialog("NSDialogBox"), showLoading: false }} />
433
- {this.state.openDialog === "NSDialogBox" && React.createElement(NSDialogBox as any, { onClose: this.closeDialog, children_ref: React.createRef<any>() })}
434
- </DocErrorBoundary>
435
-
436
- <NSLineText title="NSDialogBoxDate" />
437
- <DocErrorBoundary name="NSDialogBoxDate">
438
- <NSButtonBlue title="Open NSDialogBoxDate" onClick={{ action: () => this.openDialog("NSDialogBoxDate"), showLoading: false }} />
439
- {this.state.openDialog === "NSDialogBoxDate" && <NSDialogBoxDate onClose={this.closeDialog} box={{ title: "Sample", required: false }} />}
440
- </DocErrorBoundary>
441
-
442
- <NSLineText title="NSDialogBoxDateTime" />
443
- <DocErrorBoundary name="NSDialogBoxDateTime">
444
- <NSButtonBlue title="Open NSDialogBoxDateTime" onClick={{ action: () => this.openDialog("NSDialogBoxDateTime"), showLoading: false }} />
445
- {this.state.openDialog === "NSDialogBoxDateTime" && <NSDialogBoxDateTime onClose={this.closeDialog} box={{ title: "Sample", required: false }} />}
446
- </DocErrorBoundary>
447
-
448
- <NSLineText title="NSDialogBoxPhone" />
449
- <DocErrorBoundary name="NSDialogBoxPhone">
450
- <NSButtonBlue title="Open NSDialogBoxPhone" onClick={{ action: () => this.openDialog("NSDialogBoxPhone"), showLoading: false }} />
451
- {this.state.openDialog === "NSDialogBoxPhone" && <NSDialogBoxPhone onClose={this.closeDialog} box={{ title: "Sample", required: false }} />}
452
- </DocErrorBoundary>
453
-
454
- <NSLineText title="NSDialogBoxString" />
455
- <DocErrorBoundary name="NSDialogBoxString">
456
- <NSButtonBlue title="Open NSDialogBoxString" onClick={{ action: () => this.openDialog("NSDialogBoxString"), showLoading: false }} />
457
- {this.state.openDialog === "NSDialogBoxString" && <NSDialogBoxString onClose={this.closeDialog} box={{ title: "Sample", required: false }} />}
458
- </DocErrorBoundary>
459
-
460
- <NSLineText title="NSDialogDelete" />
461
- <DocErrorBoundary name="NSDialogDelete">
462
- <NSButtonBlue title="Open NSDialogDelete" onClick={{ action: () => this.openDialog("NSDialogDelete"), showLoading: false }} />
463
- {this.state.openDialog === "NSDialogDelete" && <NSDialogDelete onClose={this.closeDialog} onYes={{ action: () => { this.closeDialog(); }, showLoading: false }} onNo={{ action: () => { this.closeDialog(); }, showLoading: false }} show_as_code={false} />}
464
- </DocErrorBoundary>
465
-
466
- <NSLineText title="NSDialogInfo" />
467
- <DocErrorBoundary name="NSDialogInfo">
468
- <NSButtonBlue title="Open NSDialogInfo" onClick={{ action: () => this.openDialog("NSDialogInfo"), showLoading: false }} />
469
- {this.state.openDialog === "NSDialogInfo" && <NSDialogInfo onClose={this.closeDialog} show_as_code={false} />}
470
- </DocErrorBoundary>
471
-
472
- <NSLineText title="NSDialogPageSelection" />
473
- <DocErrorBoundary name="NSDialogPageSelection">
474
- <NSButtonBlue title="Open NSDialogPageSelection" onClick={{ action: () => this.openDialog("NSDialogPageSelection"), showLoading: false }} />
475
- {this.state.openDialog === "NSDialogPageSelection" && React.createElement(NSDialogPageSelection as any, { current_page: 1, current_size: 25, max_page: 10, onClose: this.closeDialog, getItems: async () => [], onFinish: async () => { this.closeDialog(); } })}
476
- </DocErrorBoundary>
477
-
478
- <NSLineText title="NSDownTimer" />
479
- <DocErrorBoundary name="NSDownTimer">
480
- <NSDownTimer date={new Date()} text="Sample" />
481
- </DocErrorBoundary>
482
-
483
- <NSLineText title="NSDownload" />
484
- <DocErrorBoundary name="NSDownload">
485
- <NSDownload releaseDate="2025-01-01" />
486
- </DocErrorBoundary>
487
-
488
- <NSLineText title="NSElectronicCard" />
489
- <DocErrorBoundary name="NSElectronicCard">
490
- <NSElectronicCard src="https://static.namirasoft.com/image/namirasoft/access/logo/base.png" title="Sample" cardNumber="0000000000000000" />
491
- </DocErrorBoundary>
492
-
493
- <NSLineText title="NSEntityCardBackground" />
494
- <DocErrorBoundary name="NSEntityCardBackground">
495
- <NSEntityCardBackground title="Sample" />
496
- </DocErrorBoundary>
497
-
498
- <NSLineText title="NSFilterBox" />
499
- <DocErrorBoundary name="NSFilterBox">
500
- <NSFilterBox getTables={() => []} getMoreTables={async () => []} getValues={null} />
501
- </DocErrorBoundary>
502
-
503
- <NSLineText title="NSFilterBoxItems" />
504
- <DocErrorBoundary name="NSFilterBoxItems">
505
- <NSFilterBoxItems filterItems={[]} onClearFilterItems={() => { }} onRemoveFilterItem={() => { }} />
506
- </DocErrorBoundary>
507
-
508
- <NSLineText title="NSFilterItem" />
509
- <DocErrorBoundary name="NSFilterItem">
510
- {React.createElement(NSFilterItem as any, { item: { toString: () => "Sample" }, removeSelected: () => { } })}
511
- </DocErrorBoundary>
512
-
513
- <NSLineText title="NSFooter" />
514
- <DocErrorBoundary name="NSFooter">
515
- <NSFooter scope="" name="sample" logo="https://static.namirasoft.com/image/namirasoft/access/logo/base.png" isLoggedIn={() => true} />
516
- </DocErrorBoundary>
517
-
518
- <NSLineText title="NSGauge" />
519
- <DocErrorBoundary name="NSGauge">
520
- <NSGauge total={100} current={50} showPercent colors={gaugeColors} />
521
- </DocErrorBoundary>
522
-
523
- <NSLineText title="NSGaugeDate" />
524
- <DocErrorBoundary name="NSGaugeDate">
525
- <NSGaugeDate title="Sample" from={TimeOperation.daysAgo(1, new Date())} to={TimeOperation.daysAgo(-1, new Date())} colors={gaugeColors} />
526
- </DocErrorBoundary>
527
-
528
- <NSLineText title="NSGaugeNumber" />
529
- <DocErrorBoundary name="NSGaugeNumber">
530
- <NSGaugeNumber title="Sample" total={100} current={50} colors={gaugeColors} />
531
- </DocErrorBoundary>
532
-
533
- <NSLineText title="NSHeader" />
534
- <DocErrorBoundary name="NSHeader">
535
- {React.createElement(NSHeader as any, { right: { icons: [] }, left: { scope: "", name: "sample", logo: "" }, isLoggedIn: () => true, notifier: {} })}
536
- </DocErrorBoundary>
537
-
538
- <NSLineText title="NSHeaderScreenshot" />
539
- <DocErrorBoundary name="NSHeaderScreenshot">
540
- <NSHeaderScreenshot project="P" task="T" time="1h" Countdown="00:00" />
541
- </DocErrorBoundary>
542
-
543
- <NSLineText title="NSID" />
544
- <DocErrorBoundary name="NSID">
545
- <NSID id="sample" map={null} storage={null} />
546
- </DocErrorBoundary>
547
-
548
- <NSLineText title="NSInfo" />
549
- <DocErrorBoundary name="NSInfo">
550
- <NSInfo text="Sample" />
551
- </DocErrorBoundary>
552
-
553
- <NSLineText title="NSLabel" />
554
- <DocErrorBoundary name="NSLabel">
555
- <NSLabel title="Sample" />
556
- </DocErrorBoundary>
557
-
558
- <NSLineText title="NSLabelErrorNotifier" />
559
- <DocErrorBoundary name="NSLabelErrorNotifier">
560
- <NSLabelErrorNotifier clearError={() => { }} />
561
- </DocErrorBoundary>
562
-
563
- <NSLineText title="NSLabelSensitive" />
564
- <DocErrorBoundary name="NSLabelSensitive">
565
- <NSLabelSensitive value="Sample" sensitive={false} />
566
- </DocErrorBoundary>
567
-
568
- <NSLineText title="NSLine" />
569
- <DocErrorBoundary name="NSLine">
570
- <NSLine />
571
- </DocErrorBoundary>
572
-
573
- <NSLineText title="NSLink" />
574
- <DocErrorBoundary name="NSLink">
575
- <NSLink href="#">Sample</NSLink>
576
- </DocErrorBoundary>
577
-
578
- <NSLineText title="NSLinkBlue" />
579
- <DocErrorBoundary name="NSLinkBlue">
580
- <NSLinkBlue href="#">Sample</NSLinkBlue>
581
- </DocErrorBoundary>
582
-
583
- <NSLineText title="NSLinkGreen" />
584
- <DocErrorBoundary name="NSLinkGreen">
585
- <NSLinkGreen href="#">Sample</NSLinkGreen>
586
- </DocErrorBoundary>
587
-
588
- <NSLineText title="NSLinkRed" />
589
- <DocErrorBoundary name="NSLinkRed">
590
- <NSLinkRed href="#">Sample</NSLinkRed>
591
- </DocErrorBoundary>
592
-
593
- <NSLineText title="NSListGrouped" />
594
- <DocErrorBoundary name="NSListGrouped">
595
- <NSListGrouped groups={[]} onClick={() => { }} onClose={() => { }} />
596
- </DocErrorBoundary>
597
-
598
- <NSLineText title="NSListProduct" />
599
- <DocErrorBoundary name="NSListProduct">
600
- <NSListProduct scope="" name="sample" />
601
- </DocErrorBoundary>
602
-
603
- <NSLineText title="NSLoading" />
604
- <DocErrorBoundary name="NSLoading">
605
- <NSLoading />
606
- </DocErrorBoundary>
607
-
608
- <NSLineText title="NSMegaMenu" />
609
- <DocErrorBoundary name="NSMegaMenu">
610
- {React.createElement(NSMegaMenu as any, { items: [], selected: { id: 0 } })}
611
- </DocErrorBoundary>
612
-
613
- <NSLineText title="NSMenuAction" />
614
- <DocErrorBoundary name="NSMenuAction">
615
- <NSMenuAction name="Sample" items={[]} />
616
- </DocErrorBoundary>
617
-
618
- <NSLineText title="NSMenuButton" />
619
- <DocErrorBoundary name="NSMenuButton">
620
- <NSMenuButton />
621
- </DocErrorBoundary>
622
-
623
- <NSLineText title="NSNoData" />
624
- <DocErrorBoundary name="NSNoData">
625
- <NSNoData lable="No Data" />
626
- </DocErrorBoundary>
627
-
628
- <NSLineText title="NSPagination" />
629
- <DocErrorBoundary name="NSPagination">
630
- <NSPagination totalItems={100} onPageChange={() => { }} />
631
- </DocErrorBoundary>
632
-
633
- <NSLineText title="NSPanel" />
634
- <DocErrorBoundary name="NSPanel">
635
- <NSPanel>Sample</NSPanel>
636
- </DocErrorBoundary>
637
-
638
- <NSLineText title="NSPanelAccordion" />
639
- <DocErrorBoundary name="NSPanelAccordion">
640
- <NSPanelAccordion getHeader={() => "Sample"}>Sample</NSPanelAccordion>
641
- </DocErrorBoundary>
642
-
643
- <NSLineText title="NSProductSearch" />
644
- <DocErrorBoundary name="NSProductSearch">
645
- <NSProductSearch search="sample" />
646
- </DocErrorBoundary>
647
-
648
- <NSLineText title="NSProgressBar" />
649
- <DocErrorBoundary name="NSProgressBar">
650
- {React.createElement(NSProgressBar as any, { progress: 50 })}
651
- </DocErrorBoundary>
652
-
653
- <NSLineText title="NSRange" />
654
- <DocErrorBoundary name="NSRange">
655
- <NSRange data={[]} />
656
- </DocErrorBoundary>
657
-
658
- <NSLineText title="NSReorderDialog" />
659
- <DocErrorBoundary name="NSReorderDialog">
660
- <NSButtonBlue title="Open NSReorderDialog" onClick={{ action: () => this.openDialog("NSReorderDialog"), showLoading: false }} />
661
- {this.state.openDialog === "NSReorderDialog" && <NSReorderDialog visibleColumnKeys={[]} getColumns={() => []} onCancel={this.closeDialog} onApply={() => { this.closeDialog(); }} />}
662
- </DocErrorBoundary>
663
-
664
- <NSLineText title="NSRepeater" />
665
- <DocErrorBoundary name="NSRepeater">
666
- {React.createElement(NSRepeater as any, { title: "Sample", required: false, createItem: () => null, getValue: () => null, setValue: () => { }, isEmpty: () => true })}
667
- </DocErrorBoundary>
668
-
669
- <NSLineText title="NSRepeaterNSBoxSchemaVariable" />
670
- <DocErrorBoundary name="NSRepeaterNSBoxSchemaVariable">
671
- <NSRepeaterNSBoxSchemaVariable name="sample" title="Sample" required={false} item_title="Item" />
672
- </DocErrorBoundary>
673
-
674
- <NSLineText title="NSRepeaterNSTag" />
675
- <DocErrorBoundary name="NSRepeaterNSTag">
676
- <NSRepeaterNSTag name="sample" title="Sample" required={false} />
677
- </DocErrorBoundary>
678
-
679
- <NSLineText title="NSRow" />
680
- <DocErrorBoundary name="NSRow">
681
- <NSRow>Sample</NSRow>
682
- </DocErrorBoundary>
683
-
684
- <NSLineText title="NSSection" />
685
- <DocErrorBoundary name="NSSection">
686
- <NSSection>Sample</NSSection>
687
- </DocErrorBoundary>
688
-
689
- <NSLineText title="NSSectionCards" />
690
- <DocErrorBoundary name="NSSectionCards">
691
- <NSSectionCards cards={[]} />
692
- </DocErrorBoundary>
693
-
694
- <NSLineText title="NSSectionTiles" />
695
- <DocErrorBoundary name="NSSectionTiles">
696
- <NSSectionTiles tiles={[]} />
697
- </DocErrorBoundary>
698
-
699
- <NSLineText title="NSSectionTitle" />
700
- <DocErrorBoundary name="NSSectionTitle">
701
- <NSSectionTitle title="Sample">Sample</NSSectionTitle>
702
- </DocErrorBoundary>
703
-
704
- <NSLineText title="NSSortDialog" />
705
- <DocErrorBoundary name="NSSortDialog">
706
- <NSButtonBlue title="Open NSSortDialog" onClick={{ action: () => this.openDialog("NSSortDialog"), showLoading: false }} />
707
- {this.state.openDialog === "NSSortDialog" && React.createElement(NSSortDialog as any, { sorts: [], getColumns: () => [], onCancel: this.closeDialog, onApply: () => { this.closeDialog(); } })}
708
- </DocErrorBoundary>
709
-
710
- <NSLineText title="NSSpace" />
711
- <DocErrorBoundary name="NSSpace">
712
- <NSSpace size={NSSpaceSizeType.SMALL} />
713
- </DocErrorBoundary>
714
-
715
- <NSLineText title="NSSplitter" />
716
- <DocErrorBoundary name="NSSplitter">
717
- <NSSplitter />
718
- </DocErrorBoundary>
719
-
720
- <NSLineText title="NSTabPage" />
721
- <DocErrorBoundary name="NSTabPage">
722
- <NSTabPage tabs={[]} />
723
- </DocErrorBoundary>
724
-
725
- <NSLineText title="NSTable" />
726
- <DocErrorBoundary name="NSTable">
727
- {React.createElement(NSTable as any, { name: "sample_docs", columns: [], getRowKey: (item: any) => item?.value?.id, getRows: async () => ({ count: 0, rows: [] }) })}
728
- </DocErrorBoundary>
729
-
730
- <NSLineText title="NSTableChart" />
731
- <DocErrorBoundary name="NSTableChart">
732
- {false && React.createElement(NSTableChart as any, { name: "sample", columns: [], rows: [], selectedRows: [], onClose: () => { } })}
733
- </DocErrorBoundary>
734
-
735
- <NSLineText title="NSTag" />
736
- <DocErrorBoundary name="NSTag">
737
- <NSTag />
738
- </DocErrorBoundary>
739
-
740
- <NSLineText title="NSTile" />
741
- <DocErrorBoundary name="NSTile">
742
- <NSTile title="Sample" description="Sample" image={{ src: "https://static.namirasoft.com/image/namirasoft/access/logo/base.png" }} />
743
- </DocErrorBoundary>
744
-
745
- <NSLineText title="NSTimelineMonthly" />
746
- <DocErrorBoundary name="NSTimelineMonthly">
747
- <NSTimelineMonthly data={[]} />
748
- </DocErrorBoundary>
749
-
750
- <NSLineText title="NSTitle" />
751
- <DocErrorBoundary name="NSTitle">
752
- <NSTitle title="Sample" />
753
- </DocErrorBoundary>
754
- </NSColumn>
755
- <NSTable<TableRow>
756
- ref={this.NSTableRef}
757
- name={"table"}
758
- checkbox
759
- columns={[
760
- {
761
- table: { name: "table", text: "Table" },
762
- index: 0, type: "String", name: "id", text: "ID", formatter: new StringFormatter()
763
- },
764
- {
765
- table: { name: "table", text: "Table" },
766
- index: 1, type: "String", name: "name", text: "Name", formatter: new StringFormatter()
767
- },
768
- {
769
- table: { name: "table", text: "Table" },
770
- index: 2, type: "Number", name: "age", text: "Age", formatter: new IntegerFormatter()
771
- },
772
- {
773
- table: { name: "table", text: "Table" },
774
- index: 3, type: "Number", name: "experience", text: "Experience", formatter: new IntegerFormatter()
775
- },
776
- {
777
- table: { name: "table", text: "Table" },
778
- index: 4, type: "Number", name: "salary", text: "Salary", formatter: new IntegerFormatter()
779
- },
780
- {
781
- table: { name: "table", text: "Table" },
782
- index: 5, type: "String", name: "city", text: "City", formatter: new StringFormatter()
783
- },
784
- {
785
- table: { name: "table", text: "Table" },
786
- index: 6, type: "String", name: "phone", text: "Phone", formatter: new PhoneFormatter()
787
- },
788
- {
789
- table: { name: "table", text: "Table" },
790
- index: 7, type: "String", name: "national_code", text: "National Code", formatter: new SensitiveFormatter<TableRow>(
791
- async (value) =>
792
- {
793
- await new Promise(resolve => setTimeout(resolve, 1000));
794
- return value;
795
- },
796
- () => true
797
- )
798
- },
799
- {
800
- table: { name: "table", text: "Table" },
801
- index: 8, type: "DateTime", name: "created_at", text: "Created At", formatter: new DateTimeFormatter()
802
- },
803
- {
804
- table: { name: "table", text: "Table" },
805
- index: 9, type: "String", name: "json", text: "Json", formatter: new JsonFormatter()
806
- },
807
- ]}
808
- getRowKey={(item) => item.value.id}
809
- getRows={async () => ({
810
- count: 5,
811
- rows: [
812
- { id: "a1", name: "Amin Pasban", age: 28, experience: 6, salary: 12000, city: "Rasht", phone: "09117579093", national_code: "2670000001", json: JSON.stringify({ role: "Developer", skills: ["React", "TypeScript"], active: true, projects: { count: 3, latest: "Site Package" } }), created_at: TimeOperation.daysAgo(1, new Date()).toDateString() },
813
- { id: "c3", name: "Negar Sharifpour", age: 28, experience: 2, salary: 9000, city: "Rasht", phone: "09117579092", national_code: "2670000002", created_at: TimeOperation.daysAgo(2, new Date()).toDateString() },
814
- { id: "b2", name: "Milad Nazirzadeh", age: 28, experience: 6, salary: 18000, city: "Tehran", phone: "09127576063", national_code: "0070000003", created_at: TimeOperation.daysAgo(10, new Date()).toDateString() },
815
- { id: "d4", name: "Mohammad Nazirzadeh", age: 29, experience: 4, salary: 8000, city: "Tehran", phone: "09127576063", national_code: "0070000004", created_at: TimeOperation.daysAgo(20, new Date()).toDateString() },
816
- { id: "e5", name: "Hadiseh Pasban", age: 22, experience: 3, salary: 9500, city: "Rasht", phone: "09116463032", national_code: "2670000005", created_at: TimeOperation.daysAgo(100, new Date()).toDateString() },
817
- ]
818
- })}
819
- ui={{
820
- pagination: false,
821
- }}
822
- />
823
- <NSColumn style={{ marginTop: "1.5rem", alignItems: "center" }}>
824
- <NSBoxCombo
825
- title='Combo'
826
- required={true}
827
- multiple={false}
828
- getOptions={() => [
829
- { title: "Option 9 Option 9 Option 9 Option 9 Option 9 Option 9", value: "options9" },
830
- { title: "Option 8", value: "options8" },
831
- { title: "Option 7", value: "options7" },
832
- { title: "Option 6", value: "options6" },
833
- { title: "Option 5", value: "options5" },
834
- { title: "Option 4", value: "options4" },
835
- { title: "Option 3", value: "options3" },
836
- { title: "Option 2", value: "options2" },
837
- { title: "Option 1", value: "options1" },
838
- ]}
839
- />
840
- <NSBoxCombo
841
- title='Combo'
842
- required={true}
843
- multiple={true}
844
- getOptions={() => [
845
- { title: "Option 9", value: "options9" },
846
- { title: "Option 8", value: "options8" },
847
- { title: "Option 7", value: "options7" },
848
- { title: "Option 6", value: "options6" },
849
- { title: "Option 5", value: "options5" },
850
- { title: "Option 4", value: "options4" },
851
- { title: "Option 3", value: "options3" },
852
- { title: "Option 2", value: "options2" },
853
- { title: "Option 1", value: "options1" },
854
- ]}
855
- />
856
- <NSButtonBlue
857
- title={"Log"}
858
- onClick={{
859
- showLoading: false,
860
- action: () =>
861
- {
862
- console.log("Date:", this.NSBoxDateRef.current?.getValueString(false));
863
- console.log("DateTime:", this.NSBoxDateTimeRef.current?.getValueString(false));
864
- }
865
- }}
866
- />
867
- </NSColumn>
868
- </NSLayout>
869
- );
870
- }
1
+ import 'bootstrap/dist/css/bootstrap.min.css';
2
+ import { TimeOperation } from 'namirasoft-core';
3
+ import React, { Component, createRef } from 'react';
4
+ import './App.css';
5
+ import { NSLayout } from './components/NSLayout';
6
+ import
7
+ {
8
+ DateTimeFormatter, IntegerFormatter, JsonFormatter, NSBoxCombo, NSBoxDate, NSBoxDateTime, NSButtonBlue, NSColumn, NSTable, PhoneFormatter, SensitiveFormatter, StringFormatter,
9
+ NSBanner, NSBarAction, NSBarAlert, NSBarNotification, NSBarNotificationColor, NotificationType, NSBarTitle,
10
+ NSBoxBoolean, NSBoxBooleans, NSBoxDateRange, NSBoxDateTimeRange, NSBoxDouble, NSBoxDuration, NSBoxDynamic, NSBoxDynamics,
11
+ NSBoxEmail, NSBoxEntity, NSBoxEnum, NSBoxFile, NSBoxInteger, NSBoxIPV4, NSBoxIPV6, NSBoxMoney, NSBoxOptions, NSBoxPhone, NSBoxRadio,
12
+ NSBoxSearch, NSBoxSensitive, NSBoxString, NSBoxTextArea, NSBoxTime, NSBoxTimeRange, NSBoxTimeZone, NSBoxURL, NSBoxVersion,
13
+ NSButton, NSButtonGreen, NSButtonRed,
14
+ NSCard, NSCardScreenshot,
15
+ NSTableChart,
16
+ NSCopy, NSCopyBox,
17
+ NSDialog, NSDialogDelete, NSDialogInfo, NSDialogPageSelection, NSInfo,
18
+ NSDialogBox, NSDialogBoxDate, NSDialogBoxDateTime, NSDialogBoxPhone, NSDialogBoxString,
19
+ NSDownTimer,
20
+ NSTile,
21
+ NSFilterBox, NSFilterBoxItems, NSFilterItem,
22
+ NSFooter,
23
+ NSHeader,
24
+ NSID,
25
+ NSLabel, NSLabelErrorNotifier, NSLabelSensitive,
26
+ NSLine, NSLineText,
27
+ NSLink, NSLinkBlue, NSLinkGreen, NSLinkRed,
28
+ NSListGrouped, NSListProduct,
29
+ NSLoading,
30
+ NSMenuAction, NSMenuButton,
31
+ NSNoData,
32
+ NSPagination,
33
+ NSPanel, NSPanelAccordion,
34
+ NSRepeater, NSRepeaterNSBoxSchemaVariable, NSRepeaterNSTag,
35
+ NSRow,
36
+ NSSection, NSSectionCards, NSSectionTiles, NSSectionTitle,
37
+ NSSpace, NSSpaceSizeType,
38
+ NSReorderDialog, NSSortDialog,
39
+ NSTabPage,
40
+ NSTag,
41
+ NSTitle,
42
+ NSGauge, NSGaugeDate, NSGaugeNumber,
43
+ NSSplitter,
44
+ NSBox,
45
+ } from './main';
46
+ import NSMegaMenu from './components/NSMegaMenu';
47
+ import NSProgressBar from './components/NSProgressBar';
48
+ import { NSDownload } from './components/NSDownload';
49
+ import { NSElectronicCard } from './components/NSElectronicCard';
50
+ import { NSEntityCardBackground } from './components/NSEntityCardBackground';
51
+ import { NSHeaderScreenshot } from './components/NSHeaderScreenshot';
52
+ import { NSProductSearch } from './components/NSProductSearch';
53
+ import { NSRange } from './components/NSRange';
54
+ import { NSTimelineMonthly } from './components/NSTimelineMonthly';
55
+ import { NSBoxSchemaBase } from './components/NSBoxSchemaBase';
56
+ import { NSBoxSchemaVariable } from './components/NSBoxSchemaVariable';
57
+ import { NSBoxFilePath } from './components/NSBoxFilePath';
58
+ import { NSBoxFont } from './components/NSBoxFont';
59
+ import { NSBoxIPV4Range } from './components/NSBoxIPV4Range';
60
+ import { NSBoxIPV6Range } from './components/NSBoxIPV6Range';
61
+ import { NSBoxColor } from './components/NSBoxColor';
62
+
63
+ type TableRow = {
64
+ id: string,
65
+ parent_id?: string,
66
+ name: string,
67
+ age: number,
68
+ experience: number,
69
+ salary: number,
70
+ city: string,
71
+ phone: string,
72
+ json?: string,
73
+ national_code: string,
74
+ created_at: string,
75
+ };
76
+
77
+ interface AppProps { }
78
+ interface AppState { openDialog: string | null }
79
+
80
+ class DocErrorBoundary extends Component<{ name: string; children: React.ReactNode }, { error: string | null }>
81
+ {
82
+ constructor(props: { name: string; children: React.ReactNode })
83
+ {
84
+ super(props);
85
+ this.state = { error: null };
86
+ }
87
+ static getDerivedStateFromError(error: Error) { return { error: error?.message ?? String(error) }; }
88
+ override componentDidCatch(_error: Error) { }
89
+ override render()
90
+ {
91
+ if (this.state.error !== null)
92
+ return <div style={{ color: "#b00", fontSize: 12, padding: "0.25rem 0.5rem", border: "1px dashed #b00", borderRadius: 4 }}>
93
+ {this.props.name} render error: {this.state.error}
94
+ </div>;
95
+ return this.props.children;
96
+ }
97
+ }
98
+
99
+ export class App extends Component<AppProps, AppState>
100
+ {
101
+ private NSTableRef = createRef<NSTable<TableRow>>();
102
+ private NSBoxDateRef = createRef<NSBoxDate>();
103
+ private NSBoxDateTimeRef = createRef<NSBoxDateTime>();
104
+
105
+ constructor(props: AppProps)
106
+ {
107
+ super(props);
108
+ this.state = { openDialog: null }
109
+ };
110
+
111
+ private openDialog = (name: string) => this.setState({ openDialog: name });
112
+ private closeDialog = () => this.setState({ openDialog: null });
113
+
114
+ override render()
115
+ {
116
+ const gaugeColors = { low: "red", medium: "orange", high: "green" };
117
+ return (
118
+ <NSLayout
119
+ header={{
120
+ right: {
121
+ icons: [
122
+ {
123
+ onClicked: () => { },
124
+ src: "https://static.namirasoft.com/image/namirasoft/access/logo/base.png",
125
+ count: 2
126
+ }
127
+ ],
128
+ },
129
+ mega_menu: true,
130
+ onCollapse: () => { },
131
+ }}
132
+ isLoggedIn={() => true}
133
+ logo='https://static.namirasoft.com/image/namirasoft/access/logo/base.png'
134
+ background={{ image: "https://static.namirasoft.com/image/namirasoft/access/background/base.svg" }}
135
+ notifications={[]}
136
+ notifier={{} as any}
137
+ scope=''
138
+ >
139
+ <NSColumn style={{ gap: '1rem', padding: '1rem' }}>
140
+ <NSLineText title="NSBanner" />
141
+ <DocErrorBoundary name="NSBanner">
142
+ <NSBanner imageLeft={null} imageRight={null} title={{ text: "Sample" }} />
143
+ </DocErrorBoundary>
144
+
145
+ <NSLineText title="NSBarAction" />
146
+ <DocErrorBoundary name="NSBarAction">
147
+ <NSBarAction title="Sample" />
148
+ </DocErrorBoundary>
149
+
150
+ <NSLineText title="NSBarAlert" />
151
+ <DocErrorBoundary name="NSBarAlert">
152
+ <NSBarAlert title={{ title: "Alert" }} isVisible={() => true} />
153
+ </DocErrorBoundary>
154
+
155
+ <NSLineText title="NSBarNotification" />
156
+ <DocErrorBoundary name="NSBarNotification">
157
+ {React.createElement(NSBarNotification as any, { id: "n1", text: "Hi", type: NotificationType.Information, color: NSBarNotificationColor.BLUE, onClose: () => { }, onChangeState: () => { } })}
158
+ </DocErrorBoundary>
159
+
160
+ <NSLineText title="NSBarTitle" />
161
+ <DocErrorBoundary name="NSBarTitle">
162
+ <NSBarTitle title="Sample" />
163
+ </DocErrorBoundary>
164
+
165
+ <NSLineText title="NSBoxBoolean" />
166
+ <DocErrorBoundary name="NSBoxBoolean">
167
+ <NSBoxBoolean title="Sample" required={false} />
168
+ </DocErrorBoundary>
169
+
170
+ <NSLineText title="NSBoxBooleans" />
171
+ <DocErrorBoundary name="NSBoxBooleans">
172
+ <NSBoxBooleans items={[{ value: "a", text: "A" }]} />
173
+ </DocErrorBoundary>
174
+
175
+ <NSLineText title="NSBoxColor" />
176
+ <DocErrorBoundary name="NSBoxColor">
177
+ <NSBoxColor title="Sample" required={false} />
178
+ </DocErrorBoundary>
179
+
180
+ <NSLineText title="NSBoxCombo" />
181
+ <DocErrorBoundary name="NSBoxCombo">
182
+ <NSBoxCombo title="Sample" required={false} multiple={false} getOptions={() => []} />
183
+ </DocErrorBoundary>
184
+
185
+ <NSLineText title="NSBoxDate" />
186
+ <DocErrorBoundary name="NSBoxDate">
187
+ <NSBoxDate title="Sample" required={false} />
188
+ </DocErrorBoundary>
189
+
190
+ <NSLineText title="NSBoxDateRange" />
191
+ <DocErrorBoundary name="NSBoxDateRange">
192
+ <NSBoxDateRange title="Sample" required={false} />
193
+ </DocErrorBoundary>
194
+
195
+ <NSLineText title="NSBoxDateTime" />
196
+ <DocErrorBoundary name="NSBoxDateTime">
197
+ <NSBoxDateTime title="Sample" required={false} />
198
+ </DocErrorBoundary>
199
+
200
+ <NSLineText title="NSBoxDateTimeRange" />
201
+ <DocErrorBoundary name="NSBoxDateTimeRange">
202
+ <NSBoxDateTimeRange title="Sample" required={false} />
203
+ </DocErrorBoundary>
204
+
205
+ <NSLineText title="NSBoxDouble" />
206
+ <DocErrorBoundary name="NSBoxDouble">
207
+ <NSBoxDouble title="Sample" required={false} />
208
+ </DocErrorBoundary>
209
+
210
+ <NSLineText title="NSBoxDuration" />
211
+ <DocErrorBoundary name="NSBoxDuration">
212
+ <NSBoxDuration title="Sample" required={false} />
213
+ </DocErrorBoundary>
214
+
215
+ <NSLineText title="NSBoxDynamic" />
216
+ <DocErrorBoundary name="NSBoxDynamic">
217
+ {React.createElement(NSBoxDynamic as any, { title: "Sample", name: "dyn", variable: {} })}
218
+ </DocErrorBoundary>
219
+
220
+ <NSLineText title="NSBoxDynamics" />
221
+ <DocErrorBoundary name="NSBoxDynamics">
222
+ <NSBoxDynamics name="sample" variables={[]} />
223
+ </DocErrorBoundary>
224
+
225
+ <NSLineText title="NSBoxEmail" />
226
+ <DocErrorBoundary name="NSBoxEmail">
227
+ <NSBoxEmail title="Sample" required={false} />
228
+ </DocErrorBoundary>
229
+
230
+ <NSLineText title="NSBoxEntity" />
231
+ <DocErrorBoundary name="NSBoxEntity">
232
+ {React.createElement(NSBoxEntity as any, { title: "Sample", required: false, multiple: false, getTitle: (x: any) => x, getValue: (x: any) => x, getSort: () => null, list: async () => ({ count: 0, rows: [] }), table_name: "sample" })}
233
+ </DocErrorBoundary>
234
+
235
+ <NSLineText title="NSBoxEnum" />
236
+ <DocErrorBoundary name="NSBoxEnum">
237
+ <NSBoxEnum title="Sample" required={false} multiple={false} getEnumObject={() => ({})} />
238
+ </DocErrorBoundary>
239
+
240
+ <NSLineText title="NSBoxFile" />
241
+ <DocErrorBoundary name="NSBoxFile">
242
+ <NSBoxFile title="Sample" required={false} />
243
+ </DocErrorBoundary>
244
+
245
+ <NSLineText title="NSBoxFilePath" />
246
+ <DocErrorBoundary name="NSBoxFilePath">
247
+ <NSBoxFilePath title="Sample" required={false} />
248
+ </DocErrorBoundary>
249
+
250
+ <NSLineText title="NSBoxFont" />
251
+ <DocErrorBoundary name="NSBoxFont">
252
+ <NSBoxFont title="Sample" required={false} />
253
+ </DocErrorBoundary>
254
+
255
+ <NSLineText title="NSBoxIPV4" />
256
+ <DocErrorBoundary name="NSBoxIPV4">
257
+ <NSBoxIPV4 title="Sample" required={false} />
258
+ </DocErrorBoundary>
259
+
260
+ <NSLineText title="NSBoxIPV4Range" />
261
+ <DocErrorBoundary name="NSBoxIPV4Range">
262
+ <NSBoxIPV4Range title="Sample" required={false} />
263
+ </DocErrorBoundary>
264
+
265
+ <NSLineText title="NSBoxIPV6" />
266
+ <DocErrorBoundary name="NSBoxIPV6">
267
+ <NSBoxIPV6 title="Sample" required={false} />
268
+ </DocErrorBoundary>
269
+
270
+ <NSLineText title="NSBoxIPV6Range" />
271
+ <DocErrorBoundary name="NSBoxIPV6Range">
272
+ <NSBoxIPV6Range title="Sample" required={false} />
273
+ </DocErrorBoundary>
274
+
275
+ <NSLineText title="NSBoxInteger" />
276
+ <DocErrorBoundary name="NSBoxInteger">
277
+ <NSBoxInteger title="Sample" required={false} />
278
+ </DocErrorBoundary>
279
+
280
+ <NSLineText title="NSBoxMoney" />
281
+ <DocErrorBoundary name="NSBoxMoney">
282
+ <NSBoxMoney title="Sample" required={false} />
283
+ </DocErrorBoundary>
284
+
285
+ <NSLineText title="NSBoxOptions" />
286
+ <DocErrorBoundary name="NSBoxOptions">
287
+ <NSBoxOptions title="Sample" required={false} multiple={false} options={[{ value: "a", title: "A" }]} />
288
+ </DocErrorBoundary>
289
+
290
+ <NSLineText title="NSBoxPhone" />
291
+ <DocErrorBoundary name="NSBoxPhone">
292
+ <NSBoxPhone title="Sample" required={false} />
293
+ </DocErrorBoundary>
294
+
295
+ <NSLineText title="NSBoxRadio" />
296
+ <DocErrorBoundary name="NSBoxRadio">
297
+ <NSBoxRadio title="Sample" required={false} />
298
+ </DocErrorBoundary>
299
+
300
+ <NSLineText title="NSBoxSchemaBase" />
301
+ <DocErrorBoundary name="NSBoxSchemaBase">
302
+ {React.createElement(NSBoxSchemaBase as any, { title: "Sample", name: "schema", required: false })}
303
+ </DocErrorBoundary>
304
+
305
+ <NSLineText title="NSBoxSchemaVariable" />
306
+ <DocErrorBoundary name="NSBoxSchemaVariable">
307
+ {React.createElement(NSBoxSchemaVariable as any, { title: "Sample", name: "schemavar", required: false })}
308
+ </DocErrorBoundary>
309
+
310
+ <NSLineText title="NSBoxSearch" />
311
+ <DocErrorBoundary name="NSBoxSearch">
312
+ <NSBoxSearch title="Sample" required={false} />
313
+ </DocErrorBoundary>
314
+
315
+ <NSLineText title="NSBoxSensitive" />
316
+ <DocErrorBoundary name="NSBoxSensitive">
317
+ <NSBoxSensitive title="Sample" required={false} />
318
+ </DocErrorBoundary>
319
+
320
+ <NSLineText title="NSBoxString" />
321
+ <DocErrorBoundary name="NSBoxString">
322
+ <NSBoxString title="Sample" required={false} />
323
+ </DocErrorBoundary>
324
+
325
+ <NSLineText title="NSBoxTextArea" />
326
+ <DocErrorBoundary name="NSBoxTextArea">
327
+ <NSBoxTextArea title="Sample" required={false} />
328
+ </DocErrorBoundary>
329
+
330
+ <NSLineText title="NSBoxTime" />
331
+ <DocErrorBoundary name="NSBoxTime">
332
+ <NSBoxTime title="Sample" required={false} />
333
+ </DocErrorBoundary>
334
+
335
+ <NSLineText title="NSBoxTimeRange" />
336
+ <DocErrorBoundary name="NSBoxTimeRange">
337
+ <NSBoxTimeRange title="Sample" required={false} />
338
+ </DocErrorBoundary>
339
+
340
+ <NSLineText title="NSBoxTimeZone" />
341
+ <DocErrorBoundary name="NSBoxTimeZone">
342
+ <NSBoxTimeZone title="Sample" required={false} />
343
+ </DocErrorBoundary>
344
+
345
+ <NSLineText title="NSBoxURL" />
346
+ <DocErrorBoundary name="NSBoxURL">
347
+ <NSBoxURL title="Sample" required={false} />
348
+ </DocErrorBoundary>
349
+
350
+ <NSLineText title="NSBoxVersion" />
351
+ <DocErrorBoundary name="NSBoxVersion">
352
+ <NSBoxVersion title="Sample" required={false} />
353
+ </DocErrorBoundary>
354
+
355
+ <NSLineText title="NSButton" />
356
+ <DocErrorBoundary name="NSButton">
357
+ <NSButton title="Sample" onClick={{ action: () => { }, showLoading: false }} />
358
+ </DocErrorBoundary>
359
+
360
+ <NSLineText title="NSButtonBlue" />
361
+ <DocErrorBoundary name="NSButtonBlue">
362
+ <NSButtonBlue title="Sample" onClick={{ action: () => { }, showLoading: false }} />
363
+ </DocErrorBoundary>
364
+
365
+ <NSLineText title="NSButtonGreen" />
366
+ <DocErrorBoundary name="NSButtonGreen">
367
+ <NSButtonGreen title="Sample" onClick={{ action: () => { }, showLoading: false }} />
368
+ </DocErrorBoundary>
369
+
370
+ <NSLineText title="NSButtonRed" />
371
+ <DocErrorBoundary name="NSButtonRed">
372
+ <NSButtonRed title="Sample" onClick={{ action: () => { }, showLoading: false }} />
373
+ </DocErrorBoundary>
374
+
375
+ <NSLineText title="NSCard" />
376
+ <DocErrorBoundary name="NSCard">
377
+ <NSCard title="Sample" link={{ href: "#" }} />
378
+ </DocErrorBoundary>
379
+
380
+ <NSLineText title="NSCardScreenshot" />
381
+ <DocErrorBoundary name="NSCardScreenshot">
382
+ {React.createElement(NSCardScreenshot as any, { key: 1, screenshot: "https://static.namirasoft.com/image/namirasoft/access/logo/base.png", timeSpent: "1h", onDelete: () => { } })}
383
+ </DocErrorBoundary>
384
+
385
+ {/* <NSLineText title="NSChartBar" />
386
+ <DocErrorBoundary name="NSChartBar">
387
+ <NSChartBar labels={["A", "B"]} dataset={[{ label: "s", data: [1, 2] }]} range={{ min: 0, max: 10 }} />
388
+ </DocErrorBoundary>
389
+
390
+ <NSLineText title="NSChartDoughnut" />
391
+ <DocErrorBoundary name="NSChartDoughnut">
392
+ <NSChartDoughnut title="Sample" datas={[1, 2, 3]} labels={["A", "B", "C"]} />
393
+ </DocErrorBoundary>
394
+
395
+ <NSLineText title="NSChartLine" />
396
+ <DocErrorBoundary name="NSChartLine">
397
+ <NSChartLine labels={["A", "B"]} dataset={[{ label: "s", data: [1, 2] }]} range={{ min: 0, max: 10 }} />
398
+ </DocErrorBoundary>
399
+
400
+ <NSLineText title="NSChartPie" />
401
+ <DocErrorBoundary name="NSChartPie">
402
+ <NSChartPie datas={[1, 2, 3]} labels={["A", "B", "C"]} />
403
+ </DocErrorBoundary>
404
+
405
+ <NSLineText title="NSChartRange" />
406
+ <DocErrorBoundary name="NSChartRange">
407
+ <NSChartRange />
408
+ </DocErrorBoundary> */}
409
+
410
+ <NSLineText title="NSColumn" />
411
+ <DocErrorBoundary name="NSColumn">
412
+ <NSColumn>Sample</NSColumn>
413
+ </DocErrorBoundary>
414
+
415
+ <NSLineText title="NSCopy" />
416
+ <DocErrorBoundary name="NSCopy">
417
+ <NSCopy>Sample</NSCopy>
418
+ </DocErrorBoundary>
419
+
420
+ <NSLineText title="NSCopyBox" />
421
+ <DocErrorBoundary name="NSCopyBox">
422
+ <NSCopyBox value="Sample" />
423
+ </DocErrorBoundary>
424
+
425
+ <NSLineText title="NSDialog" />
426
+ <DocErrorBoundary name="NSDialog">
427
+ <NSButtonBlue title="Open NSDialog" onClick={{ action: () => this.openDialog("NSDialog"), showLoading: false }} />
428
+ {this.state.openDialog === "NSDialog" && <NSDialog onClose={this.closeDialog}>Sample</NSDialog>}
429
+ </DocErrorBoundary>
430
+
431
+ <NSLineText title="NSDialogBox" />
432
+ <DocErrorBoundary name="NSDialogBox">
433
+ <NSButtonBlue title="Open NSDialogBox" onClick={{ action: () => this.openDialog("NSDialogBox"), showLoading: false }} />
434
+ {this.state.openDialog === "NSDialogBox" && React.createElement(NSDialogBox as any, { onClose: this.closeDialog, children_ref: React.createRef<any>() })}
435
+ </DocErrorBoundary>
436
+
437
+ <NSLineText title="NSDialogBoxDate" />
438
+ <DocErrorBoundary name="NSDialogBoxDate">
439
+ <NSButtonBlue title="Open NSDialogBoxDate" onClick={{ action: () => this.openDialog("NSDialogBoxDate"), showLoading: false }} />
440
+ {this.state.openDialog === "NSDialogBoxDate" && <NSDialogBoxDate onClose={this.closeDialog} box={{ title: "Sample", required: false }} />}
441
+ </DocErrorBoundary>
442
+
443
+ <NSLineText title="NSDialogBoxDateTime" />
444
+ <DocErrorBoundary name="NSDialogBoxDateTime">
445
+ <NSButtonBlue title="Open NSDialogBoxDateTime" onClick={{ action: () => this.openDialog("NSDialogBoxDateTime"), showLoading: false }} />
446
+ {this.state.openDialog === "NSDialogBoxDateTime" && <NSDialogBoxDateTime onClose={this.closeDialog} box={{ title: "Sample", required: false }} />}
447
+ </DocErrorBoundary>
448
+
449
+ <NSLineText title="NSDialogBoxPhone" />
450
+ <DocErrorBoundary name="NSDialogBoxPhone">
451
+ <NSButtonBlue title="Open NSDialogBoxPhone" onClick={{ action: () => this.openDialog("NSDialogBoxPhone"), showLoading: false }} />
452
+ {this.state.openDialog === "NSDialogBoxPhone" && <NSDialogBoxPhone onClose={this.closeDialog} box={{ title: "Sample", required: false }} />}
453
+ </DocErrorBoundary>
454
+
455
+ <NSLineText title="NSDialogBoxString" />
456
+ <DocErrorBoundary name="NSDialogBoxString">
457
+ <NSButtonBlue title="Open NSDialogBoxString" onClick={{ action: () => this.openDialog("NSDialogBoxString"), showLoading: false }} />
458
+ {this.state.openDialog === "NSDialogBoxString" && <NSDialogBoxString onClose={this.closeDialog} box={{ title: "Sample", required: false }} />}
459
+ </DocErrorBoundary>
460
+
461
+ <NSLineText title="NSDialogDelete" />
462
+ <DocErrorBoundary name="NSDialogDelete">
463
+ <NSButtonBlue title="Open NSDialogDelete" onClick={{ action: () => this.openDialog("NSDialogDelete"), showLoading: false }} />
464
+ {this.state.openDialog === "NSDialogDelete" && <NSDialogDelete onClose={this.closeDialog} onYes={{ action: () => { this.closeDialog(); }, showLoading: false }} onNo={{ action: () => { this.closeDialog(); }, showLoading: false }} show_as_code={false} />}
465
+ </DocErrorBoundary>
466
+
467
+ <NSLineText title="NSDialogInfo" />
468
+ <DocErrorBoundary name="NSDialogInfo">
469
+ <NSButtonBlue title="Open NSDialogInfo" onClick={{ action: () => this.openDialog("NSDialogInfo"), showLoading: false }} />
470
+ {this.state.openDialog === "NSDialogInfo" && <NSDialogInfo onClose={this.closeDialog} show_as_code={false} />}
471
+ </DocErrorBoundary>
472
+
473
+ <NSLineText title="NSDialogPageSelection" />
474
+ <DocErrorBoundary name="NSDialogPageSelection">
475
+ <NSButtonBlue title="Open NSDialogPageSelection" onClick={{ action: () => this.openDialog("NSDialogPageSelection"), showLoading: false }} />
476
+ {this.state.openDialog === "NSDialogPageSelection" && React.createElement(NSDialogPageSelection as any, { current_page: 1, current_size: 25, max_page: 10, onClose: this.closeDialog, getItems: async () => [], onFinish: async () => { this.closeDialog(); } })}
477
+ </DocErrorBoundary>
478
+
479
+ <NSLineText title="NSDownTimer" />
480
+ <DocErrorBoundary name="NSDownTimer">
481
+ <NSDownTimer date={new Date()} text="Sample" />
482
+ </DocErrorBoundary>
483
+
484
+ <NSLineText title="NSDownload" />
485
+ <DocErrorBoundary name="NSDownload">
486
+ <NSDownload releaseDate="2025-01-01" />
487
+ </DocErrorBoundary>
488
+
489
+ <NSLineText title="NSElectronicCard" />
490
+ <DocErrorBoundary name="NSElectronicCard">
491
+ <NSElectronicCard src="https://static.namirasoft.com/image/namirasoft/access/logo/base.png" title="Sample" cardNumber="0000000000000000" />
492
+ </DocErrorBoundary>
493
+
494
+ <NSLineText title="NSEntityCardBackground" />
495
+ <DocErrorBoundary name="NSEntityCardBackground">
496
+ <NSEntityCardBackground title="Sample" />
497
+ </DocErrorBoundary>
498
+
499
+ <NSLineText title="NSFilterBox" />
500
+ <DocErrorBoundary name="NSFilterBox">
501
+ <NSFilterBox getTables={() => []} getMoreTables={async () => []} getValues={null} />
502
+ </DocErrorBoundary>
503
+
504
+ <NSLineText title="NSFilterBoxItems" />
505
+ <DocErrorBoundary name="NSFilterBoxItems">
506
+ <NSFilterBoxItems filterItems={[]} onClearFilterItems={() => { }} onRemoveFilterItem={() => { }} />
507
+ </DocErrorBoundary>
508
+
509
+ <NSLineText title="NSFilterItem" />
510
+ <DocErrorBoundary name="NSFilterItem">
511
+ {React.createElement(NSFilterItem as any, { item: { toString: () => "Sample" }, removeSelected: () => { } })}
512
+ </DocErrorBoundary>
513
+
514
+ <NSLineText title="NSFooter" />
515
+ <DocErrorBoundary name="NSFooter">
516
+ <NSFooter scope="" name="sample" logo="https://static.namirasoft.com/image/namirasoft/access/logo/base.png" isLoggedIn={() => true} />
517
+ </DocErrorBoundary>
518
+
519
+ <NSLineText title="NSGauge" />
520
+ <DocErrorBoundary name="NSGauge">
521
+ <NSGauge total={100} current={50} showPercent colors={gaugeColors} />
522
+ </DocErrorBoundary>
523
+
524
+ <NSLineText title="NSGaugeDate" />
525
+ <DocErrorBoundary name="NSGaugeDate">
526
+ <NSGaugeDate title="Sample" from={TimeOperation.daysAgo(1, new Date())} to={TimeOperation.daysAgo(-1, new Date())} colors={gaugeColors} />
527
+ </DocErrorBoundary>
528
+
529
+ <NSLineText title="NSGaugeNumber" />
530
+ <DocErrorBoundary name="NSGaugeNumber">
531
+ <NSGaugeNumber title="Sample" total={100} current={50} colors={gaugeColors} />
532
+ </DocErrorBoundary>
533
+
534
+ <NSLineText title="NSHeader" />
535
+ <DocErrorBoundary name="NSHeader">
536
+ {React.createElement(NSHeader as any, { right: { icons: [] }, left: { scope: "", name: "sample", logo: "" }, isLoggedIn: () => true, notifier: {} })}
537
+ </DocErrorBoundary>
538
+
539
+ <NSLineText title="NSHeaderScreenshot" />
540
+ <DocErrorBoundary name="NSHeaderScreenshot">
541
+ <NSHeaderScreenshot project="P" task="T" time="1h" Countdown="00:00" />
542
+ </DocErrorBoundary>
543
+
544
+ <NSLineText title="NSID" />
545
+ <DocErrorBoundary name="NSID">
546
+ <NSID id="sample" map={null} storage={null} />
547
+ </DocErrorBoundary>
548
+
549
+ <NSLineText title="NSInfo" />
550
+ <DocErrorBoundary name="NSInfo">
551
+ <NSInfo text="Sample" />
552
+ </DocErrorBoundary>
553
+
554
+ <NSLineText title="NSLabel" />
555
+ <DocErrorBoundary name="NSLabel">
556
+ <NSLabel title="Sample" />
557
+ </DocErrorBoundary>
558
+
559
+ <NSLineText title="NSLabelErrorNotifier" />
560
+ <DocErrorBoundary name="NSLabelErrorNotifier">
561
+ <NSLabelErrorNotifier clearError={() => { }} />
562
+ </DocErrorBoundary>
563
+
564
+ <NSLineText title="NSLabelSensitive" />
565
+ <DocErrorBoundary name="NSLabelSensitive">
566
+ <NSLabelSensitive value="Sample" sensitive={false} />
567
+ </DocErrorBoundary>
568
+
569
+ <NSLineText title="NSLine" />
570
+ <DocErrorBoundary name="NSLine">
571
+ <NSLine />
572
+ </DocErrorBoundary>
573
+
574
+ <NSLineText title="NSLink" />
575
+ <DocErrorBoundary name="NSLink">
576
+ <NSLink href="#">Sample</NSLink>
577
+ </DocErrorBoundary>
578
+
579
+ <NSLineText title="NSLinkBlue" />
580
+ <DocErrorBoundary name="NSLinkBlue">
581
+ <NSLinkBlue href="#">Sample</NSLinkBlue>
582
+ </DocErrorBoundary>
583
+
584
+ <NSLineText title="NSLinkGreen" />
585
+ <DocErrorBoundary name="NSLinkGreen">
586
+ <NSLinkGreen href="#">Sample</NSLinkGreen>
587
+ </DocErrorBoundary>
588
+
589
+ <NSLineText title="NSLinkRed" />
590
+ <DocErrorBoundary name="NSLinkRed">
591
+ <NSLinkRed href="#">Sample</NSLinkRed>
592
+ </DocErrorBoundary>
593
+
594
+ <NSLineText title="NSListGrouped" />
595
+ <DocErrorBoundary name="NSListGrouped">
596
+ <NSListGrouped groups={[]} onClick={() => { }} onClose={() => { }} />
597
+ </DocErrorBoundary>
598
+
599
+ <NSLineText title="NSListProduct" />
600
+ <DocErrorBoundary name="NSListProduct">
601
+ <NSListProduct scope="" name="sample" />
602
+ </DocErrorBoundary>
603
+
604
+ <NSLineText title="NSLoading" />
605
+ <DocErrorBoundary name="NSLoading">
606
+ <NSLoading />
607
+ </DocErrorBoundary>
608
+
609
+ <NSLineText title="NSMegaMenu" />
610
+ <DocErrorBoundary name="NSMegaMenu">
611
+ {React.createElement(NSMegaMenu as any, { items: [], selected: { id: 0 } })}
612
+ </DocErrorBoundary>
613
+
614
+ <NSLineText title="NSMenuAction" />
615
+ <DocErrorBoundary name="NSMenuAction">
616
+ <NSMenuAction name="Sample" items={[]} />
617
+ </DocErrorBoundary>
618
+
619
+ <NSLineText title="NSMenuButton" />
620
+ <DocErrorBoundary name="NSMenuButton">
621
+ <NSMenuButton />
622
+ </DocErrorBoundary>
623
+
624
+ <NSLineText title="NSNoData" />
625
+ <DocErrorBoundary name="NSNoData">
626
+ <NSNoData lable="No Data" />
627
+ </DocErrorBoundary>
628
+
629
+ <NSLineText title="NSPagination" />
630
+ <DocErrorBoundary name="NSPagination">
631
+ <NSPagination totalItems={100} onPageChange={() => { }} />
632
+ </DocErrorBoundary>
633
+
634
+ <NSLineText title="NSPanel" />
635
+ <DocErrorBoundary name="NSPanel">
636
+ <NSPanel>Sample</NSPanel>
637
+ </DocErrorBoundary>
638
+
639
+ <NSLineText title="NSPanelAccordion" />
640
+ <DocErrorBoundary name="NSPanelAccordion">
641
+ <NSPanelAccordion getHeader={() => "Sample"}>Sample</NSPanelAccordion>
642
+ </DocErrorBoundary>
643
+
644
+ <NSLineText title="NSProductSearch" />
645
+ <DocErrorBoundary name="NSProductSearch">
646
+ <NSProductSearch search="sample" />
647
+ </DocErrorBoundary>
648
+
649
+ <NSLineText title="NSProgressBar" />
650
+ <DocErrorBoundary name="NSProgressBar">
651
+ {React.createElement(NSProgressBar as any, { progress: 50 })}
652
+ </DocErrorBoundary>
653
+
654
+ <NSLineText title="NSRange" />
655
+ <DocErrorBoundary name="NSRange">
656
+ <NSRange data={[]} />
657
+ </DocErrorBoundary>
658
+
659
+ <NSLineText title="NSReorderDialog" />
660
+ <DocErrorBoundary name="NSReorderDialog">
661
+ <NSButtonBlue title="Open NSReorderDialog" onClick={{ action: () => this.openDialog("NSReorderDialog"), showLoading: false }} />
662
+ {this.state.openDialog === "NSReorderDialog" && <NSReorderDialog visibleColumnKeys={[]} getColumns={() => []} onCancel={this.closeDialog} onApply={() => { this.closeDialog(); }} />}
663
+ </DocErrorBoundary>
664
+
665
+ <NSLineText title="NSRepeater" />
666
+ <DocErrorBoundary name="NSRepeater">
667
+ {React.createElement(NSRepeater as any, { title: "Sample", required: false, createItem: () => null, getValue: () => null, setValue: () => { }, isEmpty: () => true })}
668
+ </DocErrorBoundary>
669
+
670
+ <NSLineText title="NSRepeaterNSBoxSchemaVariable" />
671
+ <DocErrorBoundary name="NSRepeaterNSBoxSchemaVariable">
672
+ <NSRepeaterNSBoxSchemaVariable name="sample" title="Sample" required={false} item_title="Item" />
673
+ </DocErrorBoundary>
674
+
675
+ <NSLineText title="NSRepeaterNSTag" />
676
+ <DocErrorBoundary name="NSRepeaterNSTag">
677
+ <NSRepeaterNSTag name="sample" title="Sample" required={false} />
678
+ </DocErrorBoundary>
679
+
680
+ <NSLineText title="NSRow" />
681
+ <DocErrorBoundary name="NSRow">
682
+ <NSRow>Sample</NSRow>
683
+ </DocErrorBoundary>
684
+
685
+ <NSLineText title="NSSection" />
686
+ <DocErrorBoundary name="NSSection">
687
+ <NSSection>Sample</NSSection>
688
+ </DocErrorBoundary>
689
+
690
+ <NSLineText title="NSSectionCards" />
691
+ <DocErrorBoundary name="NSSectionCards">
692
+ <NSSectionCards cards={[]} />
693
+ </DocErrorBoundary>
694
+
695
+ <NSLineText title="NSSectionTiles" />
696
+ <DocErrorBoundary name="NSSectionTiles">
697
+ <NSSectionTiles tiles={[]} />
698
+ </DocErrorBoundary>
699
+
700
+ <NSLineText title="NSSectionTitle" />
701
+ <DocErrorBoundary name="NSSectionTitle">
702
+ <NSSectionTitle title="Sample">Sample</NSSectionTitle>
703
+ </DocErrorBoundary>
704
+
705
+ <NSLineText title="NSSortDialog" />
706
+ <DocErrorBoundary name="NSSortDialog">
707
+ <NSButtonBlue title="Open NSSortDialog" onClick={{ action: () => this.openDialog("NSSortDialog"), showLoading: false }} />
708
+ {this.state.openDialog === "NSSortDialog" && React.createElement(NSSortDialog as any, { sorts: [], getColumns: () => [], onCancel: this.closeDialog, onApply: () => { this.closeDialog(); } })}
709
+ </DocErrorBoundary>
710
+
711
+ <NSLineText title="NSSpace" />
712
+ <DocErrorBoundary name="NSSpace">
713
+ <NSSpace size={NSSpaceSizeType.SMALL} />
714
+ </DocErrorBoundary>
715
+
716
+ <NSLineText title="NSSplitter" />
717
+ <DocErrorBoundary name="NSSplitter">
718
+ <NSSplitter />
719
+ </DocErrorBoundary>
720
+
721
+ <NSLineText title="NSTabPage" />
722
+ <DocErrorBoundary name="NSTabPage">
723
+ <NSTabPage tabs={[]} />
724
+ </DocErrorBoundary>
725
+
726
+ <NSLineText title="NSTable" />
727
+ <DocErrorBoundary name="NSTable">
728
+ {React.createElement(NSTable as any, { name: "sample_docs", columns: [], getRowKey: (item: any) => item?.value?.id, getRows: async () => ({ count: 0, rows: [] }) })}
729
+ </DocErrorBoundary>
730
+
731
+ <NSLineText title="NSTableChart" />
732
+ <DocErrorBoundary name="NSTableChart">
733
+ {false && React.createElement(NSTableChart as any, { name: "sample", columns: [], rows: [], selectedRows: [], onClose: () => { } })}
734
+ </DocErrorBoundary>
735
+
736
+ <NSLineText title="NSTag" />
737
+ <DocErrorBoundary name="NSTag">
738
+ <NSTag />
739
+ </DocErrorBoundary>
740
+
741
+ <NSLineText title="NSTile" />
742
+ <DocErrorBoundary name="NSTile">
743
+ <NSTile title="Sample" description="Sample" image={{ src: "https://static.namirasoft.com/image/namirasoft/access/logo/base.png" }} />
744
+ </DocErrorBoundary>
745
+
746
+ <NSLineText title="NSTimelineMonthly" />
747
+ <DocErrorBoundary name="NSTimelineMonthly">
748
+ <NSTimelineMonthly data={[]} />
749
+ </DocErrorBoundary>
750
+
751
+ <NSLineText title="NSTitle" />
752
+ <DocErrorBoundary name="NSTitle">
753
+ <NSTitle title="Sample" />
754
+ </DocErrorBoundary>
755
+ </NSColumn>
756
+ <NSTable<TableRow>
757
+ ref={this.NSTableRef}
758
+ name={"table"}
759
+ checkbox
760
+ columns={[
761
+ {
762
+ table: { name: "table", text: "Table" },
763
+ index: 0, type: "String", name: "id", text: "ID", formatter: new StringFormatter()
764
+ },
765
+ {
766
+ table: { name: "table", text: "Table" },
767
+ index: 1, type: "String", name: "name", text: "Name", formatter: new StringFormatter()
768
+ },
769
+ {
770
+ table: { name: "table", text: "Table" },
771
+ index: 2, type: "Number", name: "age", text: "Age", formatter: new IntegerFormatter()
772
+ },
773
+ {
774
+ table: { name: "table", text: "Table" },
775
+ index: 3, type: "Number", name: "experience", text: "Experience", formatter: new IntegerFormatter()
776
+ },
777
+ {
778
+ table: { name: "table", text: "Table" },
779
+ index: 4, type: "Number", name: "salary", text: "Salary", formatter: new IntegerFormatter()
780
+ },
781
+ {
782
+ table: { name: "table", text: "Table" },
783
+ index: 5, type: "String", name: "city", text: "City", formatter: new StringFormatter()
784
+ },
785
+ {
786
+ table: { name: "table", text: "Table" },
787
+ index: 6, type: "String", name: "phone", text: "Phone", formatter: new PhoneFormatter()
788
+ },
789
+ {
790
+ table: { name: "table", text: "Table" },
791
+ index: 7, type: "String", name: "national_code", text: "National Code", formatter: new SensitiveFormatter<TableRow>(
792
+ async (value) =>
793
+ {
794
+ await new Promise(resolve => setTimeout(resolve, 1000));
795
+ return value;
796
+ },
797
+ () => true
798
+ )
799
+ },
800
+ {
801
+ table: { name: "table", text: "Table" },
802
+ index: 8, type: "DateTime", name: "created_at", text: "Created At", formatter: new DateTimeFormatter()
803
+ },
804
+ {
805
+ table: { name: "table", text: "Table" },
806
+ index: 9, type: "String", name: "json", text: "Json", formatter: new JsonFormatter()
807
+ },
808
+ ]}
809
+ getRowKey={(item) => item.value.id}
810
+ getRows={async () => ({
811
+ count: 300,
812
+ rows: [
813
+ { id: "a1", name: "Amin Pasban", age: 28, experience: 6, salary: 12000, city: "Rasht", phone: "09117579093", national_code: "2670000001", json: JSON.stringify({ role: "Developer", skills: ["React", "TypeScript"], active: true, projects: { count: 3, latest: "Site Package" } }), created_at: TimeOperation.daysAgo(1, new Date()).toDateString() },
814
+ { id: "c3", name: "Negar Sharifpour", age: 28, experience: 2, salary: 9000, city: "Rasht", phone: "09117579092", national_code: "2670000002", created_at: TimeOperation.daysAgo(2, new Date()).toDateString() },
815
+ { id: "b2", name: "Milad Nazirzadeh", age: 28, experience: 6, salary: 18000, city: "Tehran", phone: "09127576063", national_code: "0070000003", created_at: TimeOperation.daysAgo(10, new Date()).toDateString() },
816
+ { id: "d4", name: "Mohammad Nazirzadeh", age: 29, experience: 4, salary: 8000, city: "Tehran", phone: "09127576063", national_code: "0070000004", created_at: TimeOperation.daysAgo(20, new Date()).toDateString() },
817
+ { id: "e5", name: "Hadiseh Pasban", age: 22, experience: 3, salary: 9500, city: "Rasht", phone: "09116463032", national_code: "2670000005", created_at: TimeOperation.daysAgo(100, new Date()).toDateString() },
818
+ ]
819
+ })}
820
+ headerChildren={
821
+ <NSBoxString
822
+ required
823
+ title={"Name"}
824
+ hideHeader
825
+ style={{minWidth: NSBox.width.one}}
826
+ />
827
+ }
828
+ />
829
+ <NSColumn style={{ marginTop: "1.5rem", alignItems: "center" }}>
830
+ <NSBoxSchemaVariable
831
+ title={"Schema"}
832
+ required={true}
833
+ name='schema'
834
+ style={{width: NSBox.width.double}}
835
+ />
836
+ <NSButtonBlue
837
+ title={"Log"}
838
+ onClick={{
839
+ showLoading: false,
840
+ action: () =>
841
+ {
842
+ console.log("Date:", this.NSBoxDateRef.current?.getValueString(false));
843
+ console.log("DateTime:", this.NSBoxDateTimeRef.current?.getValueString(false));
844
+ }
845
+ }}
846
+ />
847
+ </NSColumn>
848
+ </NSLayout>
849
+ );
850
+ }
871
851
  }