namirasoft-site-react 1.4.552 → 1.4.554

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 (474) 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 +34 -0
  7. package/dist/App.d.ts +1 -1
  8. package/dist/NSBoxBuilder.d.ts +25 -25
  9. package/dist/components/NSBanner.d.ts +1 -1
  10. package/dist/components/NSBanner.module.css +47 -47
  11. package/dist/components/NSBarAction.d.ts +1 -1
  12. package/dist/components/NSBarAction.module.css +91 -91
  13. package/dist/components/NSBarAlert.d.ts +1 -1
  14. package/dist/components/NSBarAlert.module.css +79 -79
  15. package/dist/components/NSBarNotification.d.ts +1 -1
  16. package/dist/components/NSBarNotification.module.css +34 -34
  17. package/dist/components/NSBarTitle.d.ts +1 -1
  18. package/dist/components/NSBarTitle.module.css +9 -9
  19. package/dist/components/NSBox.module.css +87 -87
  20. package/dist/components/NSBoxBaseCombo.d.ts +1 -1
  21. package/dist/components/NSBoxBaseCombo.module.css +6 -6
  22. package/dist/components/NSBoxBaseLayout.d.ts +1 -1
  23. package/dist/components/NSBoxBaseLayoutRecursive.d.ts +1 -1
  24. package/dist/components/NSBoxBoolean.d.ts +3 -1
  25. package/dist/components/NSBoxBoolean.js +9 -2
  26. package/dist/components/NSBoxBoolean.js.map +1 -1
  27. package/dist/components/NSBoxBoolean.module.css +73 -73
  28. package/dist/components/NSBoxBooleans.d.ts +1 -1
  29. package/dist/components/NSBoxColor.d.ts +1 -1
  30. package/dist/components/NSBoxCombo.d.ts +1 -1
  31. package/dist/components/NSBoxDate.d.ts +1 -1
  32. package/dist/components/NSBoxDate.module.css +4 -4
  33. package/dist/components/NSBoxDateRange.d.ts +1 -1
  34. package/dist/components/NSBoxDateRangeBase.d.ts +1 -1
  35. package/dist/components/NSBoxDateRangeBase.module.css +73 -73
  36. package/dist/components/NSBoxDateTime.d.ts +1 -1
  37. package/dist/components/NSBoxDateTime.module.css +4 -4
  38. package/dist/components/NSBoxDateTimeRange.d.ts +1 -1
  39. package/dist/components/NSBoxDouble.d.ts +1 -1
  40. package/dist/components/NSBoxDuration.d.ts +1 -1
  41. package/dist/components/NSBoxDuration.module.css +4 -4
  42. package/dist/components/NSBoxDynamic.d.ts +1 -1
  43. package/dist/components/NSBoxDynamics.d.ts +1 -1
  44. package/dist/components/NSBoxEmail.d.ts +1 -1
  45. package/dist/components/NSBoxEntity.d.ts +1 -1
  46. package/dist/components/NSBoxEnum.d.ts +1 -1
  47. package/dist/components/NSBoxFile.d.ts +1 -1
  48. package/dist/components/NSBoxFile.module.css +10 -10
  49. package/dist/components/NSBoxFilePath.d.ts +1 -1
  50. package/dist/components/NSBoxFont.d.ts +1 -1
  51. package/dist/components/NSBoxIPV4.d.ts +1 -1
  52. package/dist/components/NSBoxIPV4Range.d.ts +1 -1
  53. package/dist/components/NSBoxIPV6.d.ts +1 -1
  54. package/dist/components/NSBoxIPV6Range.d.ts +1 -1
  55. package/dist/components/NSBoxInteger.d.ts +1 -1
  56. package/dist/components/NSBoxInteger.module.css +16 -16
  57. package/dist/components/NSBoxMoney.d.ts +1 -1
  58. package/dist/components/NSBoxPhone.d.ts +1 -1
  59. package/dist/components/NSBoxPhone.module.css +35 -35
  60. package/dist/components/NSBoxRadio.d.ts +1 -1
  61. package/dist/components/NSBoxRadio.module.css +33 -33
  62. package/dist/components/NSBoxSchemaBase.d.ts +1 -1
  63. package/dist/components/NSBoxSchemaBase.module.css +17 -17
  64. package/dist/components/NSBoxSchemaVariable.d.ts +1 -1
  65. package/dist/components/NSBoxSchemaVariable.module.css +16 -16
  66. package/dist/components/NSBoxSearch.d.ts +1 -1
  67. package/dist/components/NSBoxSensitive.d.ts +1 -1
  68. package/dist/components/NSBoxString.d.ts +1 -1
  69. package/dist/components/NSBoxTextArea.d.ts +1 -1
  70. package/dist/components/NSBoxTextArea.module.css +12 -12
  71. package/dist/components/NSBoxTime.d.ts +1 -1
  72. package/dist/components/NSBoxTime.module.css +4 -4
  73. package/dist/components/NSBoxTimeRange.d.ts +1 -1
  74. package/dist/components/NSBoxTimeZone.d.ts +1 -1
  75. package/dist/components/NSBoxURL.d.ts +1 -1
  76. package/dist/components/NSBoxVersion.d.ts +1 -1
  77. package/dist/components/NSButton.module.css +57 -57
  78. package/dist/components/NSButtonBlue.d.ts +1 -1
  79. package/dist/components/NSButtonBlue.module.css +4 -4
  80. package/dist/components/NSButtonGreen.d.ts +1 -1
  81. package/dist/components/NSButtonGreen.module.css +4 -4
  82. package/dist/components/NSButtonRed.d.ts +1 -1
  83. package/dist/components/NSButtonRed.module.css +4 -4
  84. package/dist/components/NSCard.d.ts +1 -1
  85. package/dist/components/NSCard.module.css +113 -113
  86. package/dist/components/NSCardScreenshot.d.ts +1 -1
  87. package/dist/components/NSCardScreenshot.module.css +41 -41
  88. package/dist/components/NSChartColumn.d.ts +1 -1
  89. package/dist/components/NSChartColumn.module.css +7 -7
  90. package/dist/components/NSChartDoughnut.d.ts +1 -1
  91. package/dist/components/NSChartPie.d.ts +1 -1
  92. package/dist/components/NSChartRange.d.ts +1 -1
  93. package/dist/components/NSChartTable.d.ts +1 -1
  94. package/dist/components/NSChartTable.module.css +21 -21
  95. package/dist/components/NSColumn.d.ts +1 -1
  96. package/dist/components/NSColumn.module.css +16 -16
  97. package/dist/components/NSCopy.d.ts +1 -1
  98. package/dist/components/NSCopyBox.d.ts +1 -1
  99. package/dist/components/NSCopyBox.module.css +39 -39
  100. package/dist/components/NSDialog.d.ts +1 -1
  101. package/dist/components/NSDialog.module.css +105 -105
  102. package/dist/components/NSDialogBox.d.ts +1 -1
  103. package/dist/components/NSDialogBoxDate.d.ts +1 -1
  104. package/dist/components/NSDialogBoxDateTime.d.ts +1 -1
  105. package/dist/components/NSDialogBoxPhone.d.ts +1 -1
  106. package/dist/components/NSDialogBoxString.d.ts +1 -1
  107. package/dist/components/NSDialogDelete.d.ts +1 -1
  108. package/dist/components/NSDialogInfo.d.ts +1 -1
  109. package/dist/components/NSDialogPageSelection.d.ts +2 -2
  110. package/dist/components/NSDialogPageSelection.module.css +103 -103
  111. package/dist/components/NSDownTimer.d.ts +1 -1
  112. package/dist/components/NSDownTimer.module.css +55 -55
  113. package/dist/components/NSDownload.d.ts +1 -1
  114. package/dist/components/NSDownload.module.css +46 -46
  115. package/dist/components/NSElectronicCard.d.ts +1 -1
  116. package/dist/components/NSElectronicCard.module.css +60 -60
  117. package/dist/components/NSEntityCardBackground.d.ts +1 -1
  118. package/dist/components/NSEntityCardBackground.module.css +27 -27
  119. package/dist/components/NSFilterBox.d.ts +2 -2
  120. package/dist/components/NSFilterBox.module.css +27 -27
  121. package/dist/components/NSFilterBoxItems.d.ts +1 -1
  122. package/dist/components/NSFilterBoxItems.module.css +15 -15
  123. package/dist/components/NSFilterItem.d.ts +1 -1
  124. package/dist/components/NSFilterItem.module.css +24 -24
  125. package/dist/components/NSFooter.d.ts +1 -1
  126. package/dist/components/NSFooter.module.css +140 -140
  127. package/dist/components/NSGauge.d.ts +1 -1
  128. package/dist/components/NSGauge.module.css +67 -67
  129. package/dist/components/NSGaugeDate.d.ts +1 -1
  130. package/dist/components/NSGaugeDate.module.css +57 -57
  131. package/dist/components/NSGaugeNumber.d.ts +1 -1
  132. package/dist/components/NSGaugeNumber.module.css +66 -66
  133. package/dist/components/NSHeader.d.ts +1 -1
  134. package/dist/components/NSHeader.module.css +316 -316
  135. package/dist/components/NSHeaderScreenshot.d.ts +1 -1
  136. package/dist/components/NSHeaderScreenshot.module.css +35 -35
  137. package/dist/components/NSID.d.ts +1 -1
  138. package/dist/components/NSInfo.d.ts +1 -1
  139. package/dist/components/NSLabel.d.ts +1 -1
  140. package/dist/components/NSLabel.module.css +25 -25
  141. package/dist/components/NSLabelErrorNotifier.d.ts +1 -1
  142. package/dist/components/NSLabelErrorNotifier.module.css +2 -2
  143. package/dist/components/NSLabelSensitive.d.ts +1 -1
  144. package/dist/components/NSLabelSensitive.module.css +9 -9
  145. package/dist/components/NSLayout.d.ts +1 -1
  146. package/dist/components/NSLayout.module.css +23 -23
  147. package/dist/components/NSLine.d.ts +1 -1
  148. package/dist/components/NSLine.module.css +15 -15
  149. package/dist/components/NSLineText.d.ts +1 -1
  150. package/dist/components/NSLineText.module.css +38 -38
  151. package/dist/components/NSLink.d.ts +1 -1
  152. package/dist/components/NSLink.module.css +36 -36
  153. package/dist/components/NSLinkBlue.d.ts +1 -1
  154. package/dist/components/NSLinkGreen.d.ts +1 -1
  155. package/dist/components/NSLinkRed.d.ts +1 -1
  156. package/dist/components/NSListGrouped.d.ts +1 -1
  157. package/dist/components/NSListGrouped.module.css +69 -69
  158. package/dist/components/NSListProduct.d.ts +1 -1
  159. package/dist/components/NSLoading.d.ts +1 -1
  160. package/dist/components/NSLoading.module.css +10 -10
  161. package/dist/components/NSMegaMenu.d.ts +1 -1
  162. package/dist/components/NSMegaMenu.module.css +133 -133
  163. package/dist/components/NSMenuAction.d.ts +1 -1
  164. package/dist/components/NSMenuAction.module.css +88 -88
  165. package/dist/components/NSMenuButton.d.ts +1 -1
  166. package/dist/components/NSMenuButton.module.css +44 -44
  167. package/dist/components/NSNoData.d.ts +1 -1
  168. package/dist/components/NSNoData.module.css +11 -11
  169. package/dist/components/NSPagination.d.ts +1 -1
  170. package/dist/components/NSPagination.module.css +86 -86
  171. package/dist/components/NSPanel.d.ts +1 -1
  172. package/dist/components/NSPanel.module.css +19 -19
  173. package/dist/components/NSPanelAccordion.d.ts +1 -1
  174. package/dist/components/NSPanelAccordion.module.css +4 -4
  175. package/dist/components/NSProductSearch.d.ts +1 -1
  176. package/dist/components/NSProductSearch.module.css +73 -73
  177. package/dist/components/NSProgressBar.d.ts +1 -1
  178. package/dist/components/NSProgressBar.module.css +38 -38
  179. package/dist/components/NSRange.d.ts +1 -1
  180. package/dist/components/NSRange.module.css +66 -66
  181. package/dist/components/NSRepeater.d.ts +1 -1
  182. package/dist/components/NSRepeaterNSBoxSchemaVariable.d.ts +1 -1
  183. package/dist/components/NSRepeaterNSTag.d.ts +1 -1
  184. package/dist/components/NSRow.d.ts +1 -1
  185. package/dist/components/NSRow.module.css +17 -17
  186. package/dist/components/NSSection.d.ts +1 -1
  187. package/dist/components/NSSection.module.css +4 -4
  188. package/dist/components/NSSectionCards.d.ts +1 -1
  189. package/dist/components/NSSectionCards.module.css +38 -38
  190. package/dist/components/NSSectionTiles.d.ts +1 -1
  191. package/dist/components/NSSectionTiles.module.css +10 -10
  192. package/dist/components/NSSectionTitle.d.ts +1 -1
  193. package/dist/components/NSSpace.d.ts +1 -1
  194. package/dist/components/NSSplitter.d.ts +1 -1
  195. package/dist/components/NSSplitter.module.css +58 -58
  196. package/dist/components/NSTabPage.d.ts +1 -1
  197. package/dist/components/NSTabPage.module.css +59 -59
  198. package/dist/components/NSTable.d.ts +7 -3
  199. package/dist/components/NSTable.js +59 -55
  200. package/dist/components/NSTable.js.map +1 -1
  201. package/dist/components/NSTable.module.css +411 -413
  202. package/dist/components/NSTag.d.ts +1 -1
  203. package/dist/components/NSTile.d.ts +1 -1
  204. package/dist/components/NSTile.module.css +76 -76
  205. package/dist/components/NSTimelineMonthly.d.ts +1 -1
  206. package/dist/components/NSTimelineMonthly.module.css +71 -71
  207. package/dist/components/NSTitle.d.ts +1 -1
  208. package/dist/components/NSTitle.module.css +15 -15
  209. package/dist/formatter/StringFormatter.d.ts +1 -1
  210. package/dist/index.css +6 -0
  211. package/dist/pages/NSImplementing.d.ts +1 -1
  212. package/dist/pages/NSImplementing.module.css +35 -35
  213. package/dist/pages/NSNotFoundPage.d.ts +1 -1
  214. package/dist/pages/NSNotFoundPage.module.css +18 -18
  215. package/dist/pages/NSUpdating.d.ts +1 -1
  216. package/dist/pages/NSUpdating.module.css +35 -35
  217. package/package.json +86 -86
  218. package/public/index.html +38 -38
  219. package/src/App.css +33 -33
  220. package/src/App.tsx +198 -198
  221. package/src/Color.tsx +10 -10
  222. package/src/CopyToClipboard.ts +6 -6
  223. package/src/EncryptionOperation.ts +98 -98
  224. package/src/NSBoxBuilder.tsx +922 -922
  225. package/src/ProductCacheService.ts +15 -15
  226. package/src/Validator.ts +199 -199
  227. package/src/components/INSBox.tsx +7 -7
  228. package/src/components/NSBanner.module.css +47 -47
  229. package/src/components/NSBanner.tsx +80 -80
  230. package/src/components/NSBarAction.module.css +91 -91
  231. package/src/components/NSBarAction.tsx +95 -95
  232. package/src/components/NSBarAlert.module.css +79 -79
  233. package/src/components/NSBarAlert.tsx +35 -35
  234. package/src/components/NSBarNotification.module.css +34 -34
  235. package/src/components/NSBarNotification.tsx +86 -86
  236. package/src/components/NSBarTitle.module.css +9 -9
  237. package/src/components/NSBarTitle.tsx +23 -23
  238. package/src/components/NSBox.module.css +87 -87
  239. package/src/components/NSBox.tsx +19 -19
  240. package/src/components/NSBoxBaseCombo.module.css +6 -6
  241. package/src/components/NSBoxBaseCombo.tsx +479 -479
  242. package/src/components/NSBoxBaseLayout.tsx +163 -163
  243. package/src/components/NSBoxBaseLayoutRecursive.tsx +59 -59
  244. package/src/components/NSBoxBoolean.module.css +73 -73
  245. package/src/components/NSBoxBoolean.tsx +152 -143
  246. package/src/components/NSBoxBooleans.tsx +181 -181
  247. package/src/components/NSBoxColor.tsx +107 -107
  248. package/src/components/NSBoxCombo.tsx +95 -95
  249. package/src/components/NSBoxDate.module.css +4 -4
  250. package/src/components/NSBoxDate.tsx +119 -119
  251. package/src/components/NSBoxDateRange.tsx +88 -88
  252. package/src/components/NSBoxDateRangeBase.module.css +73 -73
  253. package/src/components/NSBoxDateRangeBase.tsx +198 -198
  254. package/src/components/NSBoxDateTime.module.css +4 -4
  255. package/src/components/NSBoxDateTime.tsx +116 -116
  256. package/src/components/NSBoxDateTimeRange.tsx +65 -65
  257. package/src/components/NSBoxDouble.tsx +110 -110
  258. package/src/components/NSBoxDuration.module.css +4 -4
  259. package/src/components/NSBoxDuration.tsx +107 -107
  260. package/src/components/NSBoxDynamic.tsx +77 -77
  261. package/src/components/NSBoxDynamics.tsx +68 -68
  262. package/src/components/NSBoxEmail.tsx +117 -117
  263. package/src/components/NSBoxEntity.tsx +181 -181
  264. package/src/components/NSBoxEnum.tsx +113 -113
  265. package/src/components/NSBoxFile.module.css +10 -10
  266. package/src/components/NSBoxFile.tsx +106 -106
  267. package/src/components/NSBoxFilePath.tsx +106 -106
  268. package/src/components/NSBoxFont.tsx +107 -107
  269. package/src/components/NSBoxIPV4.tsx +107 -107
  270. package/src/components/NSBoxIPV4Range.tsx +107 -107
  271. package/src/components/NSBoxIPV6.tsx +104 -104
  272. package/src/components/NSBoxIPV6Range.tsx +107 -107
  273. package/src/components/NSBoxInteger.module.css +16 -16
  274. package/src/components/NSBoxInteger.tsx +126 -126
  275. package/src/components/NSBoxMoney.tsx +115 -115
  276. package/src/components/NSBoxPhone.module.css +35 -35
  277. package/src/components/NSBoxPhone.tsx +120 -120
  278. package/src/components/NSBoxRadio.module.css +33 -33
  279. package/src/components/NSBoxRadio.tsx +104 -104
  280. package/src/components/NSBoxSchemaBase.module.css +17 -17
  281. package/src/components/NSBoxSchemaBase.tsx +562 -562
  282. package/src/components/NSBoxSchemaVariable.module.css +16 -16
  283. package/src/components/NSBoxSchemaVariable.tsx +263 -263
  284. package/src/components/NSBoxSearch.tsx +112 -112
  285. package/src/components/NSBoxSensitive.tsx +133 -133
  286. package/src/components/NSBoxString.tsx +106 -106
  287. package/src/components/NSBoxTextArea.module.css +12 -12
  288. package/src/components/NSBoxTextArea.tsx +136 -136
  289. package/src/components/NSBoxTime.module.css +4 -4
  290. package/src/components/NSBoxTime.tsx +106 -106
  291. package/src/components/NSBoxTimeRange.tsx +220 -220
  292. package/src/components/NSBoxTimeZone.tsx +122 -122
  293. package/src/components/NSBoxURL.tsx +117 -117
  294. package/src/components/NSBoxVersion.tsx +107 -107
  295. package/src/components/NSButton.module.css +57 -57
  296. package/src/components/NSButton.tsx +74 -74
  297. package/src/components/NSButtonBlue.module.css +4 -4
  298. package/src/components/NSButtonBlue.tsx +29 -29
  299. package/src/components/NSButtonGreen.module.css +4 -4
  300. package/src/components/NSButtonGreen.tsx +29 -29
  301. package/src/components/NSButtonRed.module.css +4 -4
  302. package/src/components/NSButtonRed.tsx +29 -29
  303. package/src/components/NSCard.module.css +113 -113
  304. package/src/components/NSCard.tsx +67 -67
  305. package/src/components/NSCardScreenshot.module.css +41 -41
  306. package/src/components/NSCardScreenshot.tsx +31 -31
  307. package/src/components/NSChartColumn.module.css +7 -7
  308. package/src/components/NSChartColumn.tsx +130 -130
  309. package/src/components/NSChartDoughnut.tsx +112 -112
  310. package/src/components/NSChartPie.tsx +105 -105
  311. package/src/components/NSChartRange.tsx +14 -14
  312. package/src/components/NSChartTable.module.css +21 -21
  313. package/src/components/NSChartTable.tsx +94 -94
  314. package/src/components/NSColumn.module.css +16 -16
  315. package/src/components/NSColumn.tsx +24 -24
  316. package/src/components/NSCopy.tsx +58 -58
  317. package/src/components/NSCopyBox.module.css +39 -39
  318. package/src/components/NSCopyBox.tsx +53 -53
  319. package/src/components/NSDialog.module.css +105 -105
  320. package/src/components/NSDialog.tsx +72 -72
  321. package/src/components/NSDialogBox.tsx +38 -38
  322. package/src/components/NSDialogBoxDate.tsx +28 -28
  323. package/src/components/NSDialogBoxDateTime.tsx +28 -28
  324. package/src/components/NSDialogBoxPhone.tsx +28 -28
  325. package/src/components/NSDialogBoxString.tsx +28 -28
  326. package/src/components/NSDialogDelete.tsx +36 -36
  327. package/src/components/NSDialogInfo.tsx +49 -49
  328. package/src/components/NSDialogPageSelection.module.css +103 -103
  329. package/src/components/NSDialogPageSelection.tsx +219 -219
  330. package/src/components/NSDownTimer.module.css +55 -55
  331. package/src/components/NSDownTimer.tsx +91 -91
  332. package/src/components/NSDownload.module.css +46 -46
  333. package/src/components/NSDownload.tsx +69 -69
  334. package/src/components/NSElectronicCard.module.css +60 -60
  335. package/src/components/NSElectronicCard.tsx +46 -46
  336. package/src/components/NSEntityCardBackground.module.css +27 -27
  337. package/src/components/NSEntityCardBackground.tsx +36 -36
  338. package/src/components/NSFilterBox.module.css +27 -27
  339. package/src/components/NSFilterBox.tsx +477 -477
  340. package/src/components/NSFilterBoxItems.module.css +15 -15
  341. package/src/components/NSFilterBoxItems.tsx +52 -52
  342. package/src/components/NSFilterItem.module.css +24 -24
  343. package/src/components/NSFilterItem.tsx +27 -27
  344. package/src/components/NSFooter.module.css +140 -140
  345. package/src/components/NSFooter.tsx +321 -321
  346. package/src/components/NSGauge.module.css +67 -67
  347. package/src/components/NSGauge.tsx +52 -52
  348. package/src/components/NSGaugeDate.module.css +57 -57
  349. package/src/components/NSGaugeDate.tsx +125 -125
  350. package/src/components/NSGaugeNumber.module.css +66 -66
  351. package/src/components/NSGaugeNumber.tsx +90 -90
  352. package/src/components/NSHeader.module.css +316 -316
  353. package/src/components/NSHeader.tsx +334 -334
  354. package/src/components/NSHeaderScreenshot.module.css +35 -35
  355. package/src/components/NSHeaderScreenshot.tsx +39 -39
  356. package/src/components/NSID.tsx +159 -159
  357. package/src/components/NSInfo.tsx +50 -50
  358. package/src/components/NSLabel.module.css +25 -25
  359. package/src/components/NSLabel.tsx +47 -47
  360. package/src/components/NSLabelErrorNotifier.module.css +2 -2
  361. package/src/components/NSLabelErrorNotifier.tsx +35 -35
  362. package/src/components/NSLabelSensitive.module.css +9 -9
  363. package/src/components/NSLabelSensitive.tsx +85 -85
  364. package/src/components/NSLayout.module.css +23 -23
  365. package/src/components/NSLayout.tsx +140 -140
  366. package/src/components/NSLine.module.css +15 -15
  367. package/src/components/NSLine.tsx +13 -13
  368. package/src/components/NSLineText.module.css +38 -38
  369. package/src/components/NSLineText.tsx +17 -17
  370. package/src/components/NSLink.module.css +36 -36
  371. package/src/components/NSLink.tsx +26 -26
  372. package/src/components/NSLinkBlue.tsx +22 -22
  373. package/src/components/NSLinkGreen.tsx +13 -13
  374. package/src/components/NSLinkRed.tsx +13 -13
  375. package/src/components/NSListGrouped.module.css +69 -69
  376. package/src/components/NSListGrouped.tsx +106 -106
  377. package/src/components/NSListProduct.tsx +78 -78
  378. package/src/components/NSLoading.module.css +10 -10
  379. package/src/components/NSLoading.tsx +43 -43
  380. package/src/components/NSMegaMenu.module.css +133 -133
  381. package/src/components/NSMegaMenu.tsx +188 -188
  382. package/src/components/NSMenuAction.module.css +88 -88
  383. package/src/components/NSMenuAction.tsx +106 -106
  384. package/src/components/NSMenuButton.module.css +44 -44
  385. package/src/components/NSMenuButton.tsx +197 -197
  386. package/src/components/NSNoData.module.css +11 -11
  387. package/src/components/NSNoData.tsx +24 -24
  388. package/src/components/NSPagination.module.css +86 -86
  389. package/src/components/NSPagination.tsx +182 -182
  390. package/src/components/NSPanel.module.css +19 -19
  391. package/src/components/NSPanel.tsx +24 -24
  392. package/src/components/NSPanelAccordion.module.css +4 -4
  393. package/src/components/NSPanelAccordion.tsx +51 -51
  394. package/src/components/NSProductSearch.module.css +73 -73
  395. package/src/components/NSProductSearch.tsx +193 -193
  396. package/src/components/NSProgressBar.module.css +38 -38
  397. package/src/components/NSProgressBar.tsx +29 -29
  398. package/src/components/NSRange.module.css +66 -66
  399. package/src/components/NSRange.tsx +83 -83
  400. package/src/components/NSRepeater.tsx +328 -328
  401. package/src/components/NSRepeaterNSBoxSchemaVariable.tsx +94 -94
  402. package/src/components/NSRepeaterNSTag.tsx +86 -86
  403. package/src/components/NSRow.module.css +17 -17
  404. package/src/components/NSRow.tsx +24 -24
  405. package/src/components/NSSection.module.css +4 -4
  406. package/src/components/NSSection.tsx +26 -26
  407. package/src/components/NSSectionCards.module.css +38 -38
  408. package/src/components/NSSectionCards.tsx +51 -51
  409. package/src/components/NSSectionTiles.module.css +10 -10
  410. package/src/components/NSSectionTiles.tsx +25 -25
  411. package/src/components/NSSectionTitle.tsx +19 -19
  412. package/src/components/NSSpace.tsx +28 -28
  413. package/src/components/NSSplitter.module.css +58 -58
  414. package/src/components/NSSplitter.tsx +95 -95
  415. package/src/components/NSTabPage.module.css +59 -59
  416. package/src/components/NSTabPage.tsx +122 -122
  417. package/src/components/NSTable.module.css +411 -413
  418. package/src/components/NSTable.tsx +1120 -1102
  419. package/src/components/NSTag.tsx +74 -74
  420. package/src/components/NSTile.module.css +76 -76
  421. package/src/components/NSTile.tsx +27 -27
  422. package/src/components/NSTimelineMonthly.module.css +71 -71
  423. package/src/components/NSTimelineMonthly.tsx +44 -44
  424. package/src/components/NSTitle.module.css +15 -15
  425. package/src/components/NSTitle.tsx +19 -19
  426. package/src/formatter/BackColorFormatter.tsx +23 -23
  427. package/src/formatter/BaseColumnFormatter.ts +18 -18
  428. package/src/formatter/BaseURLImageFormatter.tsx +33 -33
  429. package/src/formatter/BooleanFormatter.ts +22 -22
  430. package/src/formatter/BytesFormatter.tsx +15 -15
  431. package/src/formatter/DateFormatter.ts +22 -22
  432. package/src/formatter/DateTimeFormatter.ts +22 -22
  433. package/src/formatter/DurationFormatter.ts +13 -13
  434. package/src/formatter/EmailFormatter.tsx +21 -21
  435. package/src/formatter/EnumFormatter.ts +13 -13
  436. package/src/formatter/FloatFormatter.ts +23 -23
  437. package/src/formatter/ForeColorFormatter.tsx +24 -24
  438. package/src/formatter/IDFormatter.tsx +53 -53
  439. package/src/formatter/IPFormatter.ts +13 -13
  440. package/src/formatter/IntegerFormatter.ts +23 -23
  441. package/src/formatter/JsonFormatter.tsx +58 -58
  442. package/src/formatter/MoneyFormatter.ts +35 -35
  443. package/src/formatter/PercentFormatter.tsx +39 -39
  444. package/src/formatter/PhoneFormatter.tsx +21 -21
  445. package/src/formatter/SensitiveFormatter.tsx +33 -33
  446. package/src/formatter/StringFormatter.tsx +43 -43
  447. package/src/formatter/TimeFormatter.ts +21 -21
  448. package/src/formatter/URLFormatter.tsx +24 -24
  449. package/src/formatter/UnknowFormatter.ts +18 -18
  450. package/src/index.tsx +7 -7
  451. package/src/main.ts +258 -258
  452. package/src/pages/NSImplementing.module.css +35 -35
  453. package/src/pages/NSImplementing.tsx +32 -32
  454. package/src/pages/NSNotFoundPage.module.css +18 -18
  455. package/src/pages/NSNotFoundPage.tsx +14 -14
  456. package/src/pages/NSUpdating.module.css +35 -35
  457. package/src/pages/NSUpdating.tsx +32 -32
  458. package/src/props/IBackgroundProps.ts +5 -5
  459. package/src/props/IBaseComponentProps.ts +8 -8
  460. package/src/props/IHeaderIconProps.ts +10 -10
  461. package/src/props/IHeaderLeftProps.ts +6 -6
  462. package/src/props/IHeaderRightProps.ts +8 -8
  463. package/src/props/IImageProps.ts +4 -4
  464. package/src/props/ILinkProps.ts +4 -4
  465. package/src/props/IValidationNumberProps.ts +4 -4
  466. package/src/props/IValidationPrecisionProps.ts +3 -3
  467. package/src/props/IValidationProps.ts +9 -9
  468. package/src/props/IValidationRegexProps.ts +4 -4
  469. package/src/props/IValidationStringProps.ts +4 -4
  470. package/src/routing/NSNotifier.ts +114 -114
  471. package/src/routing/NSRouterMaker.tsx +20 -20
  472. package/src/routing/NSRouterMakerComponent.ts +5 -5
  473. package/src/routing/NSRouterMakerProps.ts +5 -5
  474. package/tsconfig.json +43 -43
@@ -1,24 +1,24 @@
1
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
-
3
- export class IntegerFormatter extends BaseColumnFormatter
4
- {
5
- constructor(width: string = "125px")
6
- {
7
- super();
8
- this.width = width;
9
- }
10
- override format(value: any): any
11
- {
12
- try
13
- {
14
- if (value != null)
15
- return (value as number).toLocaleString(undefined, {
16
- minimumFractionDigits: 0,
17
- maximumFractionDigits: 0
18
- });
19
- } catch (e)
20
- {
21
- }
22
- return value;
23
- }
1
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
+
3
+ export class IntegerFormatter extends BaseColumnFormatter
4
+ {
5
+ constructor(width: string = "125px")
6
+ {
7
+ super();
8
+ this.width = width;
9
+ }
10
+ override format(value: any): any
11
+ {
12
+ try
13
+ {
14
+ if (value != null)
15
+ return (value as number).toLocaleString(undefined, {
16
+ minimumFractionDigits: 0,
17
+ maximumFractionDigits: 0
18
+ });
19
+ } catch (e)
20
+ {
21
+ }
22
+ return value;
23
+ }
24
24
  }
@@ -1,59 +1,59 @@
1
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
- import { TableColumnInfo, TableRowInfo } from "../main";
3
- import JsonView from "@uiw/react-json-view";
4
-
5
- export class JsonFormatter extends BaseColumnFormatter
6
- {
7
- constructor(width: string = "320px")
8
- {
9
- super();
10
- if (width)
11
- this.width = width;
12
- }
13
-
14
- private isJsonSerializable(v: unknown): boolean
15
- {
16
- try
17
- {
18
- JSON.stringify(v);
19
- return true;
20
- }
21
- catch
22
- {
23
- return false;
24
- }
25
- }
26
-
27
- override format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any
28
- {
29
- let parsed = value;
30
-
31
- if (typeof value === "string")
32
- try
33
- {
34
- parsed = JSON.parse(value.trim());
35
- }
36
- catch
37
- {
38
- return value;
39
- }
40
-
41
- if (printable)
42
- return parsed;
43
-
44
- if (parsed === null || typeof parsed !== "object")
45
- return parsed;
46
-
47
- if (!this.isJsonSerializable(parsed))
48
- return value;
49
-
50
- try
51
- {
52
- return <JsonView value={parsed} />;
53
- }
54
- catch
55
- {
56
- return value;
57
- }
58
- }
1
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
+ import { TableColumnInfo, TableRowInfo } from "../main";
3
+ import JsonView from "@uiw/react-json-view";
4
+
5
+ export class JsonFormatter extends BaseColumnFormatter
6
+ {
7
+ constructor(width: string = "320px")
8
+ {
9
+ super();
10
+ if (width)
11
+ this.width = width;
12
+ }
13
+
14
+ private isJsonSerializable(v: unknown): boolean
15
+ {
16
+ try
17
+ {
18
+ JSON.stringify(v);
19
+ return true;
20
+ }
21
+ catch
22
+ {
23
+ return false;
24
+ }
25
+ }
26
+
27
+ override format(value: any, _: TableColumnInfo, __: TableRowInfo<any>, printable: boolean): any
28
+ {
29
+ let parsed = value;
30
+
31
+ if (typeof value === "string")
32
+ try
33
+ {
34
+ parsed = JSON.parse(value.trim());
35
+ }
36
+ catch
37
+ {
38
+ return value;
39
+ }
40
+
41
+ if (printable)
42
+ return parsed;
43
+
44
+ if (parsed === null || typeof parsed !== "object")
45
+ return parsed;
46
+
47
+ if (!this.isJsonSerializable(parsed))
48
+ return value;
49
+
50
+ try
51
+ {
52
+ return <JsonView value={parsed} />;
53
+ }
54
+ catch
55
+ {
56
+ return value;
57
+ }
58
+ }
59
59
  }
@@ -1,36 +1,36 @@
1
- import { PriceOperation } from "namirasoft-core";
2
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
3
-
4
- export class MoneyFormatter extends BaseColumnFormatter
5
- {
6
- private currency: string;
7
- private minimumFractionDigits: number;
8
- private maximumFractionDigits: number;
9
- constructor(width: string = "160px", currency: string = "$", minimumFractionDigits: number = 0, maximumFractionDigits: number = 2)
10
- {
11
- super();
12
- this.width = width;
13
- this.currency = currency;
14
- this.minimumFractionDigits = minimumFractionDigits;
15
- this.maximumFractionDigits = maximumFractionDigits;
16
- }
17
- override format(value: any): any
18
- {
19
- try
20
- {
21
- if (value != null)
22
- {
23
- return [
24
- this.currency?.trim() ?? "",
25
- PriceOperation.millicent_to_fiat(value as number, this.maximumFractionDigits).toLocaleString(undefined, {
26
- minimumFractionDigits: this.minimumFractionDigits,
27
- maximumFractionDigits: this.maximumFractionDigits
28
- })
29
- ].join(" ");
30
- }
31
- } catch (e)
32
- {
33
- }
34
- return value;
35
- }
1
+ import { PriceOperation } from "namirasoft-core";
2
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
3
+
4
+ export class MoneyFormatter extends BaseColumnFormatter
5
+ {
6
+ private currency: string;
7
+ private minimumFractionDigits: number;
8
+ private maximumFractionDigits: number;
9
+ constructor(width: string = "160px", currency: string = "$", minimumFractionDigits: number = 0, maximumFractionDigits: number = 2)
10
+ {
11
+ super();
12
+ this.width = width;
13
+ this.currency = currency;
14
+ this.minimumFractionDigits = minimumFractionDigits;
15
+ this.maximumFractionDigits = maximumFractionDigits;
16
+ }
17
+ override format(value: any): any
18
+ {
19
+ try
20
+ {
21
+ if (value != null)
22
+ {
23
+ return [
24
+ this.currency?.trim() ?? "",
25
+ PriceOperation.millicent_to_fiat(value as number, this.maximumFractionDigits).toLocaleString(undefined, {
26
+ minimumFractionDigits: this.minimumFractionDigits,
27
+ maximumFractionDigits: this.maximumFractionDigits
28
+ })
29
+ ].join(" ");
30
+ }
31
+ } catch (e)
32
+ {
33
+ }
34
+ return value;
35
+ }
36
36
  }
@@ -1,40 +1,40 @@
1
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
-
3
- export class PercentFormatter extends BaseColumnFormatter
4
- {
5
- private from_value?: number;
6
- private symbol: string = "%";
7
-
8
- constructor(from_value?: number, width: string = "120px")
9
- {
10
- super();
11
- this.from_value = from_value;
12
- this.width = width;
13
- }
14
-
15
- override format(value: any): any
16
- {
17
- try
18
- {
19
- if (value != null && !isNaN(Number(value)))
20
- {
21
- let percentage: number;
22
-
23
- if (this.from_value && this.from_value !== 0)
24
- percentage = (Number(value) / this.from_value) * 100;
25
- else
26
- percentage = Number(value);
27
-
28
- const formatted = percentage.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 });
29
-
30
- return formatted + this.symbol;
31
- }
32
- }
33
- catch (error)
34
- {
35
- console.error("Error in PercentFormatter:", error);
36
- }
37
-
38
- return value;
39
- }
1
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
+
3
+ export class PercentFormatter extends BaseColumnFormatter
4
+ {
5
+ private from_value?: number;
6
+ private symbol: string = "%";
7
+
8
+ constructor(from_value?: number, width: string = "120px")
9
+ {
10
+ super();
11
+ this.from_value = from_value;
12
+ this.width = width;
13
+ }
14
+
15
+ override format(value: any): any
16
+ {
17
+ try
18
+ {
19
+ if (value != null && !isNaN(Number(value)))
20
+ {
21
+ let percentage: number;
22
+
23
+ if (this.from_value && this.from_value !== 0)
24
+ percentage = (Number(value) / this.from_value) * 100;
25
+ else
26
+ percentage = Number(value);
27
+
28
+ const formatted = percentage.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 });
29
+
30
+ return formatted + this.symbol;
31
+ }
32
+ }
33
+ catch (error)
34
+ {
35
+ console.error("Error in PercentFormatter:", error);
36
+ }
37
+
38
+ return value;
39
+ }
40
40
  }
@@ -1,22 +1,22 @@
1
- import { TableColumnInfo, TableRowInfo } from "../main";
2
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
3
- import { BaseURLImageFormatter } from "./BaseURLImageFormatter";
4
-
5
- export class PhoneFormatter extends BaseColumnFormatter
6
- {
7
- private formatter: BaseURLImageFormatter = new BaseURLImageFormatter();
8
- constructor(width: string = "150px")
9
- {
10
- super();
11
- this.onclick_overrided = true;
12
- this.width = width;
13
- }
14
- override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any
15
- {
16
- return this.formatter.format({
17
- text: value,
18
- href: `tel:${value}`,
19
- image: { url: "https://static.namirasoft.com/image/concept/type/phone.png", alt: "phone" }
20
- }, column, row, printable);
21
- }
1
+ import { TableColumnInfo, TableRowInfo } from "../main";
2
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
3
+ import { BaseURLImageFormatter } from "./BaseURLImageFormatter";
4
+
5
+ export class PhoneFormatter extends BaseColumnFormatter
6
+ {
7
+ private formatter: BaseURLImageFormatter = new BaseURLImageFormatter();
8
+ constructor(width: string = "150px")
9
+ {
10
+ super();
11
+ this.onclick_overrided = true;
12
+ this.width = width;
13
+ }
14
+ override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any
15
+ {
16
+ return this.formatter.format({
17
+ text: value,
18
+ href: `tel:${value}`,
19
+ image: { url: "https://static.namirasoft.com/image/concept/type/phone.png", alt: "phone" }
20
+ }, column, row, printable);
21
+ }
22
22
  }
@@ -1,34 +1,34 @@
1
- import NSLabelSensitive from "../components/NSLabelSensitive";
2
- import { TableColumnInfo, TableRowInfo } from "../main";
3
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
4
-
5
- export class SensitiveFormatter<RowType = any> extends BaseColumnFormatter
6
- {
7
- decryptor: (value: string) => Promise<string>;
8
- isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean;
9
-
10
- constructor(decryptor: (value: string) => Promise<string>, isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, width: string = "240px")
11
- {
12
- super();
13
- this.decryptor = decryptor;
14
- this.isSensitive = isSensitive;
15
- this.width = width;
16
- }
17
- override format(value: any, col: TableColumnInfo, row: TableRowInfo<RowType>, printable: boolean): any
18
- {
19
- try
20
- {
21
- if (!printable)
22
- return (
23
- <NSLabelSensitive
24
- value={value}
25
- sensitive={this.isSensitive(col, row)}
26
- decryptor={this.decryptor}
27
- />
28
- );
29
- }
30
- catch (error) { }
31
-
32
- return value;
33
- }
1
+ import NSLabelSensitive from "../components/NSLabelSensitive";
2
+ import { TableColumnInfo, TableRowInfo } from "../main";
3
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
4
+
5
+ export class SensitiveFormatter<RowType = any> extends BaseColumnFormatter
6
+ {
7
+ decryptor: (value: string) => Promise<string>;
8
+ isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean;
9
+
10
+ constructor(decryptor: (value: string) => Promise<string>, isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, width: string = "240px")
11
+ {
12
+ super();
13
+ this.decryptor = decryptor;
14
+ this.isSensitive = isSensitive;
15
+ this.width = width;
16
+ }
17
+ override format(value: any, col: TableColumnInfo, row: TableRowInfo<RowType>, printable: boolean): any
18
+ {
19
+ try
20
+ {
21
+ if (!printable)
22
+ return (
23
+ <NSLabelSensitive
24
+ value={value}
25
+ sensitive={this.isSensitive(col, row)}
26
+ decryptor={this.decryptor}
27
+ />
28
+ );
29
+ }
30
+ catch (error) { }
31
+
32
+ return value;
33
+ }
34
34
  }
@@ -1,44 +1,44 @@
1
- import { NamingConvention } from "namirasoft-core";
2
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
3
-
4
- export enum StringFormatterSizeType
5
- {
6
- Word = "75px",
7
- TwoWords = "150px",
8
- FullName = "225px",
9
- Sentence = "350px",
10
- Description = "500px",
11
- }
12
-
13
- export class StringFormatter extends BaseColumnFormatter
14
- {
15
- static toHTML(value: string | null | undefined)
16
- {
17
- value = value?.trim() ?? "";
18
- let toks = value.split(/(\n|\\n|<br>|<br\s*\/>)/gm);
19
- toks = toks.filter(x => x.replace(/(\n|\\n|<br>|<br\s*\/>)/gm, "").trim().length > 0);
20
- if (toks.length === 1)
21
- return value;
22
- let ans = [];
23
- for (let i = 0; i < toks.length; i++)
24
- {
25
- if (i > 0)
26
- ans.push(<br key={i} />);
27
- ans.push(toks[i].trim());
28
- }
29
- return ans;
30
- }
31
- private naming: NamingConvention | null;
32
- constructor(width: string = StringFormatterSizeType.Sentence, naming: NamingConvention | null = null)
33
- {
34
- super();
35
- this.width = width;
36
- this.naming = naming;
37
- }
38
- override format(value: any): any
39
- {
40
- if (this.naming)
41
- value = NamingConvention.auto.convert(value, this.naming);
42
- return value;
43
- }
1
+ import { NamingConvention } from "namirasoft-core";
2
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
3
+
4
+ export enum StringFormatterSizeType
5
+ {
6
+ Word = "75px",
7
+ TwoWords = "150px",
8
+ FullName = "225px",
9
+ Sentence = "350px",
10
+ Description = "500px",
11
+ }
12
+
13
+ export class StringFormatter extends BaseColumnFormatter
14
+ {
15
+ static toHTML(value: string | null | undefined)
16
+ {
17
+ value = value?.trim() ?? "";
18
+ let toks = value.split(/(\n|\\n|<br>|<br\s*\/>)/gm);
19
+ toks = toks.filter(x => x.replace(/(\n|\\n|<br>|<br\s*\/>)/gm, "").trim().length > 0);
20
+ if (toks.length === 1)
21
+ return value;
22
+ let ans = [];
23
+ for (let i = 0; i < toks.length; i++)
24
+ {
25
+ if (i > 0)
26
+ ans.push(<br key={i} />);
27
+ ans.push(toks[i].trim());
28
+ }
29
+ return ans;
30
+ }
31
+ private naming: NamingConvention | null;
32
+ constructor(width: string = StringFormatterSizeType.Sentence, naming: NamingConvention | null = null)
33
+ {
34
+ super();
35
+ this.width = width;
36
+ this.naming = naming;
37
+ }
38
+ override format(value: any): any
39
+ {
40
+ if (this.naming)
41
+ value = NamingConvention.auto.convert(value, this.naming);
42
+ return value;
43
+ }
44
44
  }
@@ -1,22 +1,22 @@
1
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
-
3
- export class TimeFormatter extends BaseColumnFormatter
4
- {
5
- constructor(width: string = "95px")
6
- {
7
- super();
8
- this.width = width;
9
- }
10
- override format(value: any): any
11
- {
12
- if (value)
13
- try
14
- {
15
- let date = new Date(value);
16
- return date.toLocaleTimeString();
17
- } catch (e)
18
- {
19
- }
20
- return value;
21
- }
1
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
+
3
+ export class TimeFormatter extends BaseColumnFormatter
4
+ {
5
+ constructor(width: string = "95px")
6
+ {
7
+ super();
8
+ this.width = width;
9
+ }
10
+ override format(value: any): any
11
+ {
12
+ if (value)
13
+ try
14
+ {
15
+ let date = new Date(value);
16
+ return date.toLocaleTimeString();
17
+ } catch (e)
18
+ {
19
+ }
20
+ return value;
21
+ }
22
22
  }
@@ -1,25 +1,25 @@
1
- import { HTMLAttributeAnchorTarget } from "react";
2
- import { TableColumnInfo, TableRowInfo } from "../main";
3
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
4
- import { BaseURLImageFormatter } from "./BaseURLImageFormatter";
5
-
6
- export class URLFormatter extends BaseColumnFormatter
7
- {
8
- private formatter: BaseURLImageFormatter;
9
- constructor(target: HTMLAttributeAnchorTarget = "_blank", width: string = "250px")
10
- {
11
- super();
12
- this.onclick_overrided = true;
13
- this.width = width;
14
- this.formatter = new BaseURLImageFormatter(target, width);
15
- }
16
- override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any
17
- {
18
- const href = value && !/^https?:\/\//i.test(value) ? `https://${value}` : value;
19
- return this.formatter.format({
20
- text: value,
21
- href: href,
22
- image: { url: "https://static.namirasoft.com/image/concept/type/url.png", alt: "url" }
23
- }, column, row, printable);
24
- }
1
+ import { HTMLAttributeAnchorTarget } from "react";
2
+ import { TableColumnInfo, TableRowInfo } from "../main";
3
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
4
+ import { BaseURLImageFormatter } from "./BaseURLImageFormatter";
5
+
6
+ export class URLFormatter extends BaseColumnFormatter
7
+ {
8
+ private formatter: BaseURLImageFormatter;
9
+ constructor(target: HTMLAttributeAnchorTarget = "_blank", width: string = "250px")
10
+ {
11
+ super();
12
+ this.onclick_overrided = true;
13
+ this.width = width;
14
+ this.formatter = new BaseURLImageFormatter(target, width);
15
+ }
16
+ override format(value: any, column: TableColumnInfo, row: TableRowInfo<any>, printable: boolean): any
17
+ {
18
+ const href = value && !/^https?:\/\//i.test(value) ? `https://${value}` : value;
19
+ return this.formatter.format({
20
+ text: value,
21
+ href: href,
22
+ image: { url: "https://static.namirasoft.com/image/concept/type/url.png", alt: "url" }
23
+ }, column, row, printable);
24
+ }
25
25
  }
@@ -1,19 +1,19 @@
1
- import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
-
3
- export class UnknowFormatter extends BaseColumnFormatter
4
- {
5
- private formatter: (value: any) => any;
6
- constructor(formatter: (value: any) => any, width?: string)
7
- {
8
- super();
9
- this.formatter = formatter;
10
- if (width)
11
- this.width = width;
12
- }
13
- override format(value: any): any
14
- {
15
- if (this.formatter)
16
- value = this.formatter(value);
17
- return value;
18
- }
1
+ import { BaseColumnFormatter } from "./BaseColumnFormatter";
2
+
3
+ export class UnknowFormatter extends BaseColumnFormatter
4
+ {
5
+ private formatter: (value: any) => any;
6
+ constructor(formatter: (value: any) => any, width?: string)
7
+ {
8
+ super();
9
+ this.formatter = formatter;
10
+ if (width)
11
+ this.width = width;
12
+ }
13
+ override format(value: any): any
14
+ {
15
+ if (this.formatter)
16
+ value = this.formatter(value);
17
+ return value;
18
+ }
19
19
  }
package/src/index.tsx CHANGED
@@ -1,8 +1,8 @@
1
- import ReactDOM from 'react-dom/client';
2
- import './index.css';
3
- import { App } from './App';
4
-
5
- const root = ReactDOM.createRoot(
6
- document.getElementById('root') as HTMLElement
7
- );
1
+ import ReactDOM from 'react-dom/client';
2
+ import './index.css';
3
+ import { App } from './App';
4
+
5
+ const root = ReactDOM.createRoot(
6
+ document.getElementById('root') as HTMLElement
7
+ );
8
8
  root.render(<App />);