namirasoft-site-react 1.4.554 → 1.4.556

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