namirasoft-site-react 1.4.574 → 1.4.576

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