@topconsultnpm/sdkui-react 6.19.0-dev1.10

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 (682) hide show
  1. package/lib/assets/IconsS4t/add.svg +12 -0
  2. package/lib/assets/IconsS4t/aggiorna.svg +18 -0
  3. package/lib/assets/IconsS4t/bookmark.svg +42 -0
  4. package/lib/assets/IconsS4t/cancella.svg +15 -0
  5. package/lib/assets/IconsS4t/check-box.svg +19 -0
  6. package/lib/assets/IconsS4t/down-arrow-signBook.svg +40 -0
  7. package/lib/assets/IconsS4t/down.svg +28 -0
  8. package/lib/assets/IconsS4t/edit-file.svg +19 -0
  9. package/lib/assets/IconsS4t/edita.svg +32 -0
  10. package/lib/assets/IconsS4t/firma.svg +19 -0
  11. package/lib/assets/IconsS4t/icona_download.svg +16 -0
  12. package/lib/assets/IconsS4t/info.svg +51 -0
  13. package/lib/assets/IconsS4t/left.svg +20 -0
  14. package/lib/assets/IconsS4t/line.svg +40 -0
  15. package/lib/assets/IconsS4t/more.svg +19 -0
  16. package/lib/assets/IconsS4t/new-signature.svg +1 -0
  17. package/lib/assets/IconsS4t/plus.svg +23 -0
  18. package/lib/assets/IconsS4t/printer.svg +49 -0
  19. package/lib/assets/IconsS4t/radio-on-button.svg +25 -0
  20. package/lib/assets/IconsS4t/rectangle.svg +41 -0
  21. package/lib/assets/IconsS4t/redo.svg +19 -0
  22. package/lib/assets/IconsS4t/right-arrow-signBook-finish.svg +40 -0
  23. package/lib/assets/IconsS4t/right-arrow-signBook.svg +40 -0
  24. package/lib/assets/IconsS4t/right.svg +22 -0
  25. package/lib/assets/IconsS4t/searchbar.svg +21 -0
  26. package/lib/assets/IconsS4t/text-box.svg +36 -0
  27. package/lib/assets/IconsS4t/tick.svg +8 -0
  28. package/lib/assets/IconsS4t/trash-white.svg +11 -0
  29. package/lib/assets/IconsS4t/trash.svg +1 -0
  30. package/lib/assets/IconsS4t/undo.svg +19 -0
  31. package/lib/assets/IconsS4t/up.svg +32 -0
  32. package/lib/assets/IconsS4t/video-streaming.svg +2 -0
  33. package/lib/assets/IconsS4t/zoom-in.svg +58 -0
  34. package/lib/assets/IconsS4t/zoom-out.svg +56 -0
  35. package/lib/assets/ImageLibrary/arrow_001.png +0 -0
  36. package/lib/assets/ImageLibrary/arrow_002.png +0 -0
  37. package/lib/assets/ImageLibrary/arrow_003.png +0 -0
  38. package/lib/assets/ImageLibrary/arrow_004.png +0 -0
  39. package/lib/assets/ImageLibrary/arrow_005.png +0 -0
  40. package/lib/assets/ImageLibrary/arrow_006.png +0 -0
  41. package/lib/assets/ImageLibrary/arrow_007.png +0 -0
  42. package/lib/assets/ImageLibrary/arrow_008.png +0 -0
  43. package/lib/assets/ImageLibrary/arrow_009.png +0 -0
  44. package/lib/assets/ImageLibrary/arrow_010.png +0 -0
  45. package/lib/assets/ImageLibrary/arrow_011.png +0 -0
  46. package/lib/assets/ImageLibrary/arrow_012.png +0 -0
  47. package/lib/assets/ImageLibrary/book_001.png +0 -0
  48. package/lib/assets/ImageLibrary/book_002.png +0 -0
  49. package/lib/assets/ImageLibrary/book_003.png +0 -0
  50. package/lib/assets/ImageLibrary/book_004.png +0 -0
  51. package/lib/assets/ImageLibrary/book_005.png +0 -0
  52. package/lib/assets/ImageLibrary/book_006.png +0 -0
  53. package/lib/assets/ImageLibrary/book_007.png +0 -0
  54. package/lib/assets/ImageLibrary/clock_001.png +0 -0
  55. package/lib/assets/ImageLibrary/clock_002.png +0 -0
  56. package/lib/assets/ImageLibrary/clock_003.png +0 -0
  57. package/lib/assets/ImageLibrary/cube_001.png +0 -0
  58. package/lib/assets/ImageLibrary/cube_002.png +0 -0
  59. package/lib/assets/ImageLibrary/cube_003.png +0 -0
  60. package/lib/assets/ImageLibrary/dcmt_001.png +0 -0
  61. package/lib/assets/ImageLibrary/dcmt_002.png +0 -0
  62. package/lib/assets/ImageLibrary/dcmt_003.png +0 -0
  63. package/lib/assets/ImageLibrary/dcmt_004.png +0 -0
  64. package/lib/assets/ImageLibrary/dcmt_005.png +0 -0
  65. package/lib/assets/ImageLibrary/dcmt_006.png +0 -0
  66. package/lib/assets/ImageLibrary/dcmt_007.png +0 -0
  67. package/lib/assets/ImageLibrary/dcmt_008.png +0 -0
  68. package/lib/assets/ImageLibrary/emoticon_001.png +0 -0
  69. package/lib/assets/ImageLibrary/emoticon_002.png +0 -0
  70. package/lib/assets/ImageLibrary/emoticon_003.png +0 -0
  71. package/lib/assets/ImageLibrary/emoticon_004.png +0 -0
  72. package/lib/assets/ImageLibrary/fld_001.png +0 -0
  73. package/lib/assets/ImageLibrary/fld_002.png +0 -0
  74. package/lib/assets/ImageLibrary/fld_003.png +0 -0
  75. package/lib/assets/ImageLibrary/fld_004.png +0 -0
  76. package/lib/assets/ImageLibrary/fld_005.png +0 -0
  77. package/lib/assets/ImageLibrary/fld_006.png +0 -0
  78. package/lib/assets/ImageLibrary/fld_007.png +0 -0
  79. package/lib/assets/ImageLibrary/fld_008.png +0 -0
  80. package/lib/assets/ImageLibrary/fld_009.png +0 -0
  81. package/lib/assets/ImageLibrary/fld_010.png +0 -0
  82. package/lib/assets/ImageLibrary/fld_011.png +0 -0
  83. package/lib/assets/ImageLibrary/fld_012.png +0 -0
  84. package/lib/assets/ImageLibrary/fld_013.png +0 -0
  85. package/lib/assets/ImageLibrary/fld_014.png +0 -0
  86. package/lib/assets/ImageLibrary/fld_015.png +0 -0
  87. package/lib/assets/ImageLibrary/fld_016.png +0 -0
  88. package/lib/assets/ImageLibrary/fld_017.png +0 -0
  89. package/lib/assets/ImageLibrary/fld_018.png +0 -0
  90. package/lib/assets/ImageLibrary/fld_019.png +0 -0
  91. package/lib/assets/ImageLibrary/fld_020.png +0 -0
  92. package/lib/assets/ImageLibrary/fld_021.png +0 -0
  93. package/lib/assets/ImageLibrary/fld_022.png +0 -0
  94. package/lib/assets/ImageLibrary/fld_023.png +0 -0
  95. package/lib/assets/ImageLibrary/fld_024.png +0 -0
  96. package/lib/assets/ImageLibrary/fld_025.png +0 -0
  97. package/lib/assets/ImageLibrary/fld_026.png +0 -0
  98. package/lib/assets/ImageLibrary/fld_027.png +0 -0
  99. package/lib/assets/ImageLibrary/fld_028.png +0 -0
  100. package/lib/assets/ImageLibrary/fld_029.png +0 -0
  101. package/lib/assets/ImageLibrary/fld_030.png +0 -0
  102. package/lib/assets/ImageLibrary/fld_031.png +0 -0
  103. package/lib/assets/ImageLibrary/fld_032.png +0 -0
  104. package/lib/assets/ImageLibrary/fld_033.png +0 -0
  105. package/lib/assets/ImageLibrary/gen_001.png +0 -0
  106. package/lib/assets/ImageLibrary/gen_002.png +0 -0
  107. package/lib/assets/ImageLibrary/gen_003.png +0 -0
  108. package/lib/assets/ImageLibrary/gen_004.png +0 -0
  109. package/lib/assets/ImageLibrary/gen_005.png +0 -0
  110. package/lib/assets/ImageLibrary/gen_006.png +0 -0
  111. package/lib/assets/ImageLibrary/gen_007.png +0 -0
  112. package/lib/assets/ImageLibrary/gen_008.png +0 -0
  113. package/lib/assets/ImageLibrary/gen_009.png +0 -0
  114. package/lib/assets/ImageLibrary/gen_010.png +0 -0
  115. package/lib/assets/ImageLibrary/gen_011.png +0 -0
  116. package/lib/assets/ImageLibrary/gen_012.png +0 -0
  117. package/lib/assets/ImageLibrary/gen_013.png +0 -0
  118. package/lib/assets/ImageLibrary/gen_014.png +0 -0
  119. package/lib/assets/ImageLibrary/gen_015.png +0 -0
  120. package/lib/assets/ImageLibrary/gen_016.png +0 -0
  121. package/lib/assets/ImageLibrary/gen_017.png +0 -0
  122. package/lib/assets/ImageLibrary/gen_018.png +0 -0
  123. package/lib/assets/ImageLibrary/gen_019.png +0 -0
  124. package/lib/assets/ImageLibrary/gen_020.png +0 -0
  125. package/lib/assets/ImageLibrary/gen_021.png +0 -0
  126. package/lib/assets/ImageLibrary/gen_022.png +0 -0
  127. package/lib/assets/ImageLibrary/gen_023.png +0 -0
  128. package/lib/assets/ImageLibrary/gen_024.png +0 -0
  129. package/lib/assets/ImageLibrary/gen_025.png +0 -0
  130. package/lib/assets/ImageLibrary/gen_026.png +0 -0
  131. package/lib/assets/ImageLibrary/gen_027.png +0 -0
  132. package/lib/assets/ImageLibrary/gen_028.png +0 -0
  133. package/lib/assets/ImageLibrary/gen_029.png +0 -0
  134. package/lib/assets/ImageLibrary/gen_030.png +0 -0
  135. package/lib/assets/ImageLibrary/gen_031.png +0 -0
  136. package/lib/assets/ImageLibrary/gen_032.png +0 -0
  137. package/lib/assets/ImageLibrary/gen_033.png +0 -0
  138. package/lib/assets/ImageLibrary/gen_034.png +0 -0
  139. package/lib/assets/ImageLibrary/gen_035.png +0 -0
  140. package/lib/assets/ImageLibrary/gen_036.png +0 -0
  141. package/lib/assets/ImageLibrary/gen_037.png +0 -0
  142. package/lib/assets/ImageLibrary/gen_038.png +0 -0
  143. package/lib/assets/ImageLibrary/gen_039.png +0 -0
  144. package/lib/assets/ImageLibrary/gen_040.png +0 -0
  145. package/lib/assets/ImageLibrary/gen_041.png +0 -0
  146. package/lib/assets/ImageLibrary/gen_042.png +0 -0
  147. package/lib/assets/ImageLibrary/gen_043.png +0 -0
  148. package/lib/assets/ImageLibrary/gen_044.png +0 -0
  149. package/lib/assets/ImageLibrary/gen_045.png +0 -0
  150. package/lib/assets/ImageLibrary/gen_046.png +0 -0
  151. package/lib/assets/ImageLibrary/gen_047.png +0 -0
  152. package/lib/assets/ImageLibrary/gen_048.png +0 -0
  153. package/lib/assets/ImageLibrary/gen_049.png +0 -0
  154. package/lib/assets/ImageLibrary/gen_050.png +0 -0
  155. package/lib/assets/ImageLibrary/gen_051.png +0 -0
  156. package/lib/assets/ImageLibrary/gen_052.png +0 -0
  157. package/lib/assets/ImageLibrary/hand_001.png +0 -0
  158. package/lib/assets/ImageLibrary/hand_002.png +0 -0
  159. package/lib/assets/ImageLibrary/hand_003.png +0 -0
  160. package/lib/assets/ImageLibrary/hand_004.png +0 -0
  161. package/lib/assets/ImageLibrary/hand_005.png +0 -0
  162. package/lib/assets/ImageLibrary/hand_006.png +0 -0
  163. package/lib/assets/ImageLibrary/law_001.png +0 -0
  164. package/lib/assets/ImageLibrary/law_002.png +0 -0
  165. package/lib/assets/ImageLibrary/law_003.png +0 -0
  166. package/lib/assets/ImageLibrary/lock_001.png +0 -0
  167. package/lib/assets/ImageLibrary/lock_002.png +0 -0
  168. package/lib/assets/ImageLibrary/lock_003.png +0 -0
  169. package/lib/assets/ImageLibrary/mail_001.png +0 -0
  170. package/lib/assets/ImageLibrary/mail_002.png +0 -0
  171. package/lib/assets/ImageLibrary/mail_003.png +0 -0
  172. package/lib/assets/ImageLibrary/mail_004.png +0 -0
  173. package/lib/assets/ImageLibrary/mail_005.png +0 -0
  174. package/lib/assets/ImageLibrary/mail_006.png +0 -0
  175. package/lib/assets/ImageLibrary/mail_007.png +0 -0
  176. package/lib/assets/ImageLibrary/mail_008.png +0 -0
  177. package/lib/assets/ImageLibrary/mail_009.png +0 -0
  178. package/lib/assets/ImageLibrary/mail_010.png +0 -0
  179. package/lib/assets/ImageLibrary/mail_011.png +0 -0
  180. package/lib/assets/ImageLibrary/mail_012.png +0 -0
  181. package/lib/assets/ImageLibrary/mail_013.png +0 -0
  182. package/lib/assets/ImageLibrary/mail_014.png +0 -0
  183. package/lib/assets/ImageLibrary/mail_015.png +0 -0
  184. package/lib/assets/ImageLibrary/net_001.png +0 -0
  185. package/lib/assets/ImageLibrary/net_002.png +0 -0
  186. package/lib/assets/ImageLibrary/net_003.png +0 -0
  187. package/lib/assets/ImageLibrary/net_004.png +0 -0
  188. package/lib/assets/ImageLibrary/nmbr_001.png +0 -0
  189. package/lib/assets/ImageLibrary/nmbr_002.png +0 -0
  190. package/lib/assets/ImageLibrary/nmbr_003.png +0 -0
  191. package/lib/assets/ImageLibrary/nmbr_004.png +0 -0
  192. package/lib/assets/ImageLibrary/nmbr_005.png +0 -0
  193. package/lib/assets/ImageLibrary/nmbr_006.png +0 -0
  194. package/lib/assets/ImageLibrary/nmbr_007.png +0 -0
  195. package/lib/assets/ImageLibrary/nmbr_008.png +0 -0
  196. package/lib/assets/ImageLibrary/nmbr_009.png +0 -0
  197. package/lib/assets/ImageLibrary/note_001.png +0 -0
  198. package/lib/assets/ImageLibrary/note_002.png +0 -0
  199. package/lib/assets/ImageLibrary/note_003.png +0 -0
  200. package/lib/assets/ImageLibrary/note_004.png +0 -0
  201. package/lib/assets/ImageLibrary/note_005.png +0 -0
  202. package/lib/assets/ImageLibrary/note_006.png +0 -0
  203. package/lib/assets/ImageLibrary/note_007.png +0 -0
  204. package/lib/assets/ImageLibrary/note_008.png +0 -0
  205. package/lib/assets/ImageLibrary/note_009.png +0 -0
  206. package/lib/assets/ImageLibrary/note_010.png +0 -0
  207. package/lib/assets/ImageLibrary/note_011.png +0 -0
  208. package/lib/assets/ImageLibrary/note_012.png +0 -0
  209. package/lib/assets/ImageLibrary/note_013.png +0 -0
  210. package/lib/assets/ImageLibrary/note_014.png +0 -0
  211. package/lib/assets/ImageLibrary/note_015.png +0 -0
  212. package/lib/assets/ImageLibrary/note_016.png +0 -0
  213. package/lib/assets/ImageLibrary/run_001.png +0 -0
  214. package/lib/assets/ImageLibrary/run_002.png +0 -0
  215. package/lib/assets/ImageLibrary/run_003.png +0 -0
  216. package/lib/assets/ImageLibrary/sem_001.png +0 -0
  217. package/lib/assets/ImageLibrary/sem_002.png +0 -0
  218. package/lib/assets/ImageLibrary/sem_003.png +0 -0
  219. package/lib/assets/ImageLibrary/sem_004.png +0 -0
  220. package/lib/assets/ImageLibrary/sem_005.png +0 -0
  221. package/lib/assets/ImageLibrary/star_001.png +0 -0
  222. package/lib/assets/ImageLibrary/star_002.png +0 -0
  223. package/lib/assets/ImageLibrary/star_003.png +0 -0
  224. package/lib/assets/ImageLibrary/star_004.png +0 -0
  225. package/lib/assets/ImageLibrary/star_005.png +0 -0
  226. package/lib/assets/ImageLibrary/star_006.png +0 -0
  227. package/lib/assets/ImageLibrary/state_001.png +0 -0
  228. package/lib/assets/ImageLibrary/state_002.png +0 -0
  229. package/lib/assets/ImageLibrary/state_003.png +0 -0
  230. package/lib/assets/ImageLibrary/state_004.png +0 -0
  231. package/lib/assets/ImageLibrary/state_005.png +0 -0
  232. package/lib/assets/ImageLibrary/study_001.png +0 -0
  233. package/lib/assets/ImageLibrary/study_002.png +0 -0
  234. package/lib/assets/ImageLibrary/user_001.png +0 -0
  235. package/lib/assets/ImageLibrary/user_002.png +0 -0
  236. package/lib/assets/ImageLibrary/user_003.png +0 -0
  237. package/lib/assets/ImageLibrary/user_004.png +0 -0
  238. package/lib/assets/ImageLibrary/user_005.png +0 -0
  239. package/lib/assets/ImageLibrary/user_006.png +0 -0
  240. package/lib/assets/ImageLibrary/user_007.png +0 -0
  241. package/lib/assets/ImageLibrary/user_008.png +0 -0
  242. package/lib/assets/ImageLibrary/user_009.png +0 -0
  243. package/lib/assets/ImageLibrary/user_010.png +0 -0
  244. package/lib/assets/ImageLibrary/user_011.png +0 -0
  245. package/lib/assets/ImageLibrary/user_012.png +0 -0
  246. package/lib/assets/ImageLibrary/user_013.png +0 -0
  247. package/lib/assets/ImageLibrary/user_014.png +0 -0
  248. package/lib/assets/ImageLibrary/user_015.png +0 -0
  249. package/lib/assets/ImageLibrary/user_016.png +0 -0
  250. package/lib/assets/ImageLibrary/user_017.png +0 -0
  251. package/lib/assets/ImageLibrary/user_018.png +0 -0
  252. package/lib/assets/ImageLibrary/user_019.png +0 -0
  253. package/lib/assets/ImageLibrary/user_020.png +0 -0
  254. package/lib/assets/ImageLibrary/user_021.png +0 -0
  255. package/lib/assets/ImageLibrary/user_022.png +0 -0
  256. package/lib/assets/ImageLibrary/user_023.png +0 -0
  257. package/lib/assets/ImageLibrary/vehicle_001.png +0 -0
  258. package/lib/assets/ImageLibrary/vehicle_002.png +0 -0
  259. package/lib/assets/ImageLibrary/vehicle_003.png +0 -0
  260. package/lib/assets/ImageLibrary/vehicle_004.png +0 -0
  261. package/lib/assets/ImageLibrary/vehicle_005.png +0 -0
  262. package/lib/assets/ImageLibrary/vehicle_006.png +0 -0
  263. package/lib/assets/ImageLibrary/vehicle_007.png +0 -0
  264. package/lib/assets/ImageLibrary/vehicle_008.png +0 -0
  265. package/lib/assets/Toppy-generico.png +0 -0
  266. package/lib/assets/france.svg +1 -0
  267. package/lib/assets/german.svg +1 -0
  268. package/lib/assets/icomoon.eot +0 -0
  269. package/lib/assets/icomoon.svg +97 -0
  270. package/lib/assets/icomoon.ttf +0 -0
  271. package/lib/assets/icomoon.woff +0 -0
  272. package/lib/assets/italy.svg +16 -0
  273. package/lib/assets/loading.png +0 -0
  274. package/lib/assets/login-bg.png +0 -0
  275. package/lib/assets/multipleSelectionManager.jpg +0 -0
  276. package/lib/assets/portugal.svg +1 -0
  277. package/lib/assets/six.png +0 -0
  278. package/lib/assets/six.svg +4 -0
  279. package/lib/assets/spain.svg +1 -0
  280. package/lib/assets/thumbnails/dicom.png +0 -0
  281. package/lib/assets/thumbnails/doc.png +0 -0
  282. package/lib/assets/thumbnails/docx.png +0 -0
  283. package/lib/assets/thumbnails/dwg.png +0 -0
  284. package/lib/assets/thumbnails/email.png +0 -0
  285. package/lib/assets/thumbnails/exe.png +0 -0
  286. package/lib/assets/thumbnails/folder.png +0 -0
  287. package/lib/assets/thumbnails/html.png +0 -0
  288. package/lib/assets/thumbnails/image.png +0 -0
  289. package/lib/assets/thumbnails/index.d.ts +19 -0
  290. package/lib/assets/thumbnails/index.js +19 -0
  291. package/lib/assets/thumbnails/index.ts +39 -0
  292. package/lib/assets/thumbnails/mp4.png +0 -0
  293. package/lib/assets/thumbnails/other.png +0 -0
  294. package/lib/assets/thumbnails/p7m.png +0 -0
  295. package/lib/assets/thumbnails/pdf.png +0 -0
  296. package/lib/assets/thumbnails/ppt.png +0 -0
  297. package/lib/assets/thumbnails/slddrw.png +0 -0
  298. package/lib/assets/thumbnails/txt.png +0 -0
  299. package/lib/assets/thumbnails/xls.png +0 -0
  300. package/lib/assets/thumbnails/xml.png +0 -0
  301. package/lib/assets/thumbnails/zip.png +0 -0
  302. package/lib/assets/topmedia-six.svg +66 -0
  303. package/lib/assets/topmeida-six-bianco.svg +66 -0
  304. package/lib/assets/united-kingdom.svg +1 -0
  305. package/lib/components/base/Styled.d.ts +62 -0
  306. package/lib/components/base/Styled.js +297 -0
  307. package/lib/components/base/TMAccordion.d.ts +12 -0
  308. package/lib/components/base/TMAccordion.js +62 -0
  309. package/lib/components/base/TMAlert.d.ts +73 -0
  310. package/lib/components/base/TMAlert.js +77 -0
  311. package/lib/components/base/TMAreaManager.d.ts +25 -0
  312. package/lib/components/base/TMAreaManager.js +733 -0
  313. package/lib/components/base/TMButton.d.ts +21 -0
  314. package/lib/components/base/TMButton.js +174 -0
  315. package/lib/components/base/TMClosableList.d.ts +10 -0
  316. package/lib/components/base/TMClosableList.js +70 -0
  317. package/lib/components/base/TMConfirm.d.ts +13 -0
  318. package/lib/components/base/TMConfirm.js +119 -0
  319. package/lib/components/base/TMContextMenu.d.ts +25 -0
  320. package/lib/components/base/TMContextMenu.js +109 -0
  321. package/lib/components/base/TMContextMenuOLD.d.ts +26 -0
  322. package/lib/components/base/TMContextMenuOLD.js +56 -0
  323. package/lib/components/base/TMCounterBar.d.ts +10 -0
  324. package/lib/components/base/TMCounterBar.js +43 -0
  325. package/lib/components/base/TMCounterContainer.d.ts +23 -0
  326. package/lib/components/base/TMCounterContainer.js +58 -0
  327. package/lib/components/base/TMDataGrid.d.ts +56 -0
  328. package/lib/components/base/TMDataGrid.js +237 -0
  329. package/lib/components/base/TMDataGridExportForm.d.ts +15 -0
  330. package/lib/components/base/TMDataGridExportForm.js +209 -0
  331. package/lib/components/base/TMDeviceProvider.d.ts +15 -0
  332. package/lib/components/base/TMDeviceProvider.js +41 -0
  333. package/lib/components/base/TMDropDownMenu.d.ts +23 -0
  334. package/lib/components/base/TMDropDownMenu.js +45 -0
  335. package/lib/components/base/TMEditorBase.d.ts +39 -0
  336. package/lib/components/base/TMEditorBase.js +1 -0
  337. package/lib/components/base/TMFileManager.d.ts +45 -0
  338. package/lib/components/base/TMFileManager.js +224 -0
  339. package/lib/components/base/TMFileManagerDataGridView.d.ts +14 -0
  340. package/lib/components/base/TMFileManagerDataGridView.js +89 -0
  341. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +16 -0
  342. package/lib/components/base/TMFileManagerThumbnailItems.js +138 -0
  343. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +17 -0
  344. package/lib/components/base/TMFileManagerThumbnailsView.js +46 -0
  345. package/lib/components/base/TMFileManagerUtils.d.ts +78 -0
  346. package/lib/components/base/TMFileManagerUtils.js +207 -0
  347. package/lib/components/base/TMFloatingToolbar.d.ts +9 -0
  348. package/lib/components/base/TMFloatingToolbar.js +101 -0
  349. package/lib/components/base/TMLayout.d.ts +54 -0
  350. package/lib/components/base/TMLayout.js +201 -0
  351. package/lib/components/base/TMList.d.ts +9 -0
  352. package/lib/components/base/TMList.js +54 -0
  353. package/lib/components/base/TMListView.d.ts +42 -0
  354. package/lib/components/base/TMListView.js +387 -0
  355. package/lib/components/base/TMModal.d.ts +16 -0
  356. package/lib/components/base/TMModal.js +70 -0
  357. package/lib/components/base/TMPanel.d.ts +32 -0
  358. package/lib/components/base/TMPanel.js +181 -0
  359. package/lib/components/base/TMPopUp.d.ts +33 -0
  360. package/lib/components/base/TMPopUp.js +280 -0
  361. package/lib/components/base/TMProgressBar.d.ts +11 -0
  362. package/lib/components/base/TMProgressBar.js +32 -0
  363. package/lib/components/base/TMResizableMenu.d.ts +20 -0
  364. package/lib/components/base/TMResizableMenu.js +98 -0
  365. package/lib/components/base/TMRightSidebar.d.ts +19 -0
  366. package/lib/components/base/TMRightSidebar.js +80 -0
  367. package/lib/components/base/TMShowAllOrMaxItemsButton.d.ts +8 -0
  368. package/lib/components/base/TMShowAllOrMaxItemsButton.js +20 -0
  369. package/lib/components/base/TMSpinner.d.ts +14 -0
  370. package/lib/components/base/TMSpinner.js +160 -0
  371. package/lib/components/base/TMTab.d.ts +20 -0
  372. package/lib/components/base/TMTab.js +42 -0
  373. package/lib/components/base/TMToggleButton.d.ts +10 -0
  374. package/lib/components/base/TMToggleButton.js +58 -0
  375. package/lib/components/base/TMToolbarCard.d.ts +19 -0
  376. package/lib/components/base/TMToolbarCard.js +51 -0
  377. package/lib/components/base/TMTooltip.d.ts +14 -0
  378. package/lib/components/base/TMTooltip.js +20 -0
  379. package/lib/components/base/TMTreeView.d.ts +32 -0
  380. package/lib/components/base/TMTreeView.js +355 -0
  381. package/lib/components/base/TMUserAvatar.d.ts +8 -0
  382. package/lib/components/base/TMUserAvatar.js +34 -0
  383. package/lib/components/base/TMVilViewer.d.ts +5 -0
  384. package/lib/components/base/TMVilViewer.js +22 -0
  385. package/lib/components/base/TMWaitPanel.d.ts +32 -0
  386. package/lib/components/base/TMWaitPanel.js +44 -0
  387. package/lib/components/choosers/TMCultureIDPicker.d.ts +9 -0
  388. package/lib/components/choosers/TMCultureIDPicker.js +72 -0
  389. package/lib/components/choosers/TMDataListItemChooser.d.ts +17 -0
  390. package/lib/components/choosers/TMDataListItemChooser.js +49 -0
  391. package/lib/components/choosers/TMDataListItemPicker.d.ts +9 -0
  392. package/lib/components/choosers/TMDataListItemPicker.js +96 -0
  393. package/lib/components/choosers/TMDcmtTypeChooser.d.ts +25 -0
  394. package/lib/components/choosers/TMDcmtTypeChooser.js +61 -0
  395. package/lib/components/choosers/TMDiskChooser.d.ts +10 -0
  396. package/lib/components/choosers/TMDiskChooser.js +41 -0
  397. package/lib/components/choosers/TMDistinctValues.d.ts +21 -0
  398. package/lib/components/choosers/TMDistinctValues.js +140 -0
  399. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +40 -0
  400. package/lib/components/choosers/TMDynDataListItemChooser.js +159 -0
  401. package/lib/components/choosers/TMGroupChooser.d.ts +7 -0
  402. package/lib/components/choosers/TMGroupChooser.js +37 -0
  403. package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +4 -0
  404. package/lib/components/choosers/TMInvoiceRetrieveFormats.js +22 -0
  405. package/lib/components/choosers/TMMetadataChooser.d.ts +51 -0
  406. package/lib/components/choosers/TMMetadataChooser.js +134 -0
  407. package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +4 -0
  408. package/lib/components/choosers/TMOrderRetrieveFormats.js +22 -0
  409. package/lib/components/choosers/TMPathChooser.d.ts +12 -0
  410. package/lib/components/choosers/TMPathChooser.js +147 -0
  411. package/lib/components/choosers/TMRelationChooser.d.ts +31 -0
  412. package/lib/components/choosers/TMRelationChooser.js +94 -0
  413. package/lib/components/choosers/TMUserChooser.d.ts +40 -0
  414. package/lib/components/choosers/TMUserChooser.js +141 -0
  415. package/lib/components/editors/TMCheckBox.d.ts +9 -0
  416. package/lib/components/editors/TMCheckBox.js +90 -0
  417. package/lib/components/editors/TMDateBox.d.ts +17 -0
  418. package/lib/components/editors/TMDateBox.js +75 -0
  419. package/lib/components/editors/TMDropDown.d.ts +10 -0
  420. package/lib/components/editors/TMDropDown.js +62 -0
  421. package/lib/components/editors/TMEditorStyled.d.ts +41 -0
  422. package/lib/components/editors/TMEditorStyled.js +90 -0
  423. package/lib/components/editors/TMFormulaEditor.d.ts +49 -0
  424. package/lib/components/editors/TMFormulaEditor.js +727 -0
  425. package/lib/components/editors/TMHtmlContentDisplay.d.ts +7 -0
  426. package/lib/components/editors/TMHtmlContentDisplay.js +78 -0
  427. package/lib/components/editors/TMHtmlEditor.d.ts +33 -0
  428. package/lib/components/editors/TMHtmlEditor.js +143 -0
  429. package/lib/components/editors/TMLocalizedTextBox.d.ts +19 -0
  430. package/lib/components/editors/TMLocalizedTextBox.js +125 -0
  431. package/lib/components/editors/TMMetadataEditor.d.ts +29 -0
  432. package/lib/components/editors/TMMetadataEditor.js +140 -0
  433. package/lib/components/editors/TMMetadataValues.d.ts +46 -0
  434. package/lib/components/editors/TMMetadataValues.js +480 -0
  435. package/lib/components/editors/TMRadioButton.d.ts +10 -0
  436. package/lib/components/editors/TMRadioButton.js +57 -0
  437. package/lib/components/editors/TMSummary.d.ts +20 -0
  438. package/lib/components/editors/TMSummary.js +92 -0
  439. package/lib/components/editors/TMTextArea.d.ts +17 -0
  440. package/lib/components/editors/TMTextArea.js +155 -0
  441. package/lib/components/editors/TMTextBox.d.ts +20 -0
  442. package/lib/components/editors/TMTextBox.js +249 -0
  443. package/lib/components/editors/TMTextExpression.d.ts +25 -0
  444. package/lib/components/editors/TMTextExpression.js +174 -0
  445. package/lib/components/editors/TMTreeDropDown.d.ts +18 -0
  446. package/lib/components/editors/TMTreeDropDown.js +66 -0
  447. package/lib/components/features/archive/TMArchive.d.ts +19 -0
  448. package/lib/components/features/archive/TMArchive.js +162 -0
  449. package/lib/components/features/assistant/ToppyHelpCenter.d.ts +12 -0
  450. package/lib/components/features/assistant/ToppyHelpCenter.js +173 -0
  451. package/lib/components/features/blog/TMBlogCommentForm.d.ts +17 -0
  452. package/lib/components/features/blog/TMBlogCommentForm.js +308 -0
  453. package/lib/components/features/documents/TMBatchUpdateForm.d.ts +17 -0
  454. package/lib/components/features/documents/TMBatchUpdateForm.js +159 -0
  455. package/lib/components/features/documents/TMDcmtBlog.d.ts +8 -0
  456. package/lib/components/features/documents/TMDcmtBlog.js +77 -0
  457. package/lib/components/features/documents/TMDcmtForm.d.ts +50 -0
  458. package/lib/components/features/documents/TMDcmtForm.js +1083 -0
  459. package/lib/components/features/documents/TMDcmtIcon.d.ts +18 -0
  460. package/lib/components/features/documents/TMDcmtIcon.js +93 -0
  461. package/lib/components/features/documents/TMDcmtPreview.d.ts +31 -0
  462. package/lib/components/features/documents/TMDcmtPreview.js +446 -0
  463. package/lib/components/features/documents/TMDragDropOverlay.d.ts +6 -0
  464. package/lib/components/features/documents/TMDragDropOverlay.js +96 -0
  465. package/lib/components/features/documents/TMFileUploader.d.ts +14 -0
  466. package/lib/components/features/documents/TMFileUploader.js +115 -0
  467. package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +19 -0
  468. package/lib/components/features/documents/TMMasterDetailDcmts.js +288 -0
  469. package/lib/components/features/documents/TMRelationViewer.d.ts +71 -0
  470. package/lib/components/features/documents/TMRelationViewer.js +573 -0
  471. package/lib/components/features/search/TMSavedQueryForm.d.ts +9 -0
  472. package/lib/components/features/search/TMSavedQueryForm.js +41 -0
  473. package/lib/components/features/search/TMSavedQuerySelector.d.ts +16 -0
  474. package/lib/components/features/search/TMSavedQuerySelector.js +226 -0
  475. package/lib/components/features/search/TMSearch.d.ts +31 -0
  476. package/lib/components/features/search/TMSearch.js +244 -0
  477. package/lib/components/features/search/TMSearchQueryEditor.d.ts +15 -0
  478. package/lib/components/features/search/TMSearchQueryEditor.js +367 -0
  479. package/lib/components/features/search/TMSearchQueryPanel.d.ts +29 -0
  480. package/lib/components/features/search/TMSearchQueryPanel.js +426 -0
  481. package/lib/components/features/search/TMSearchResult.d.ts +44 -0
  482. package/lib/components/features/search/TMSearchResult.js +1293 -0
  483. package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +16 -0
  484. package/lib/components/features/search/TMSearchResultFloatingActionButton.js +50 -0
  485. package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +10 -0
  486. package/lib/components/features/search/TMSearchResultsMenuItems.js +654 -0
  487. package/lib/components/features/search/TMTreeSelector.d.ts +12 -0
  488. package/lib/components/features/search/TMTreeSelector.js +270 -0
  489. package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +39 -0
  490. package/lib/components/features/wg/TMWGsCopyMoveForm.js +439 -0
  491. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +40 -0
  492. package/lib/components/features/workflow/TMWorkflowPopup.js +273 -0
  493. package/lib/components/features/workflow/diagram/ConnectionComponent.d.ts +14 -0
  494. package/lib/components/features/workflow/diagram/ConnectionComponent.js +90 -0
  495. package/lib/components/features/workflow/diagram/ConnectionForm.d.ts +9 -0
  496. package/lib/components/features/workflow/diagram/ConnectionForm.js +73 -0
  497. package/lib/components/features/workflow/diagram/DiagramItemComponent.d.ts +18 -0
  498. package/lib/components/features/workflow/diagram/DiagramItemComponent.js +264 -0
  499. package/lib/components/features/workflow/diagram/DiagramItemForm.d.ts +10 -0
  500. package/lib/components/features/workflow/diagram/DiagramItemForm.js +681 -0
  501. package/lib/components/features/workflow/diagram/DiagramItemSvgContent.d.ts +12 -0
  502. package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +97 -0
  503. package/lib/components/features/workflow/diagram/RecipientList.d.ts +27 -0
  504. package/lib/components/features/workflow/diagram/RecipientList.js +203 -0
  505. package/lib/components/features/workflow/diagram/WFDiagram.d.ts +9 -0
  506. package/lib/components/features/workflow/diagram/WFDiagram.js +1666 -0
  507. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +18 -0
  508. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.js +97 -0
  509. package/lib/components/features/workflow/diagram/interfaces.d.ts +126 -0
  510. package/lib/components/features/workflow/diagram/interfaces.js +26 -0
  511. package/lib/components/features/workflow/diagram/metadataParser.d.ts +14 -0
  512. package/lib/components/features/workflow/diagram/metadataParser.js +54 -0
  513. package/lib/components/features/workflow/diagram/queryDescriptorParser.d.ts +3 -0
  514. package/lib/components/features/workflow/diagram/queryDescriptorParser.js +188 -0
  515. package/lib/components/features/workflow/diagram/workflowHelpers.d.ts +122 -0
  516. package/lib/components/features/workflow/diagram/workflowHelpers.js +488 -0
  517. package/lib/components/features/workflow/diagram/xmlParser.d.ts +10 -0
  518. package/lib/components/features/workflow/diagram/xmlParser.js +490 -0
  519. package/lib/components/filesystem/ProgressBar.d.ts +7 -0
  520. package/lib/components/filesystem/ProgressBar.js +25 -0
  521. package/lib/components/forms/Login/ChangePassword.d.ts +9 -0
  522. package/lib/components/forms/Login/ChangePassword.js +22 -0
  523. package/lib/components/forms/Login/ChangePasswordInputs.d.ts +14 -0
  524. package/lib/components/forms/Login/ChangePasswordInputs.js +80 -0
  525. package/lib/components/forms/Login/Chooser.d.ts +28 -0
  526. package/lib/components/forms/Login/Chooser.js +145 -0
  527. package/lib/components/forms/Login/LOGINLocalizator.d.ts +29 -0
  528. package/lib/components/forms/Login/LOGINLocalizator.js +247 -0
  529. package/lib/components/forms/Login/LoginValidatorService.d.ts +50 -0
  530. package/lib/components/forms/Login/LoginValidatorService.js +162 -0
  531. package/lib/components/forms/Login/Menu.d.ts +10 -0
  532. package/lib/components/forms/Login/Menu.js +48 -0
  533. package/lib/components/forms/Login/OTPReader.d.ts +14 -0
  534. package/lib/components/forms/Login/OTPReader.js +90 -0
  535. package/lib/components/forms/Login/PasswordStrengthChecker.d.ts +7 -0
  536. package/lib/components/forms/Login/PasswordStrengthChecker.js +45 -0
  537. package/lib/components/forms/Login/RapidAccessLogin.d.ts +25 -0
  538. package/lib/components/forms/Login/RapidAccessLogin.js +310 -0
  539. package/lib/components/forms/Login/RecoverPasswordFlow.d.ts +11 -0
  540. package/lib/components/forms/Login/RecoverPasswordFlow.js +111 -0
  541. package/lib/components/forms/Login/SelectBox.d.ts +23 -0
  542. package/lib/components/forms/Login/SelectBox.js +96 -0
  543. package/lib/components/forms/Login/StepIndicator.d.ts +7 -0
  544. package/lib/components/forms/Login/StepIndicator.js +19 -0
  545. package/lib/components/forms/Login/TMLoginForm.d.ts +44 -0
  546. package/lib/components/forms/Login/TMLoginForm.js +737 -0
  547. package/lib/components/forms/Login/TextBox.d.ts +27 -0
  548. package/lib/components/forms/Login/TextBox.js +111 -0
  549. package/lib/components/forms/TMApplyForm.d.ts +4 -0
  550. package/lib/components/forms/TMApplyForm.js +105 -0
  551. package/lib/components/forms/TMChooserForm.d.ts +3 -0
  552. package/lib/components/forms/TMChooserForm.js +94 -0
  553. package/lib/components/forms/TMResultDialog.d.ts +20 -0
  554. package/lib/components/forms/TMResultDialog.js +38 -0
  555. package/lib/components/forms/TMSaveForm.d.ts +31 -0
  556. package/lib/components/forms/TMSaveForm.js +176 -0
  557. package/lib/components/grids/TMBlogs.d.ts +102 -0
  558. package/lib/components/grids/TMBlogs.js +721 -0
  559. package/lib/components/grids/TMBlogsUtils.d.ts +99 -0
  560. package/lib/components/grids/TMBlogsUtils.js +226 -0
  561. package/lib/components/grids/TMRecentsManager.d.ts +13 -0
  562. package/lib/components/grids/TMRecentsManager.js +155 -0
  563. package/lib/components/grids/TMValidationItemsList.d.ts +6 -0
  564. package/lib/components/grids/TMValidationItemsList.js +82 -0
  565. package/lib/components/index.d.ts +102 -0
  566. package/lib/components/index.js +123 -0
  567. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +9 -0
  568. package/lib/components/layout/panelManager/TMPanelManagerContainer.js +215 -0
  569. package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +39 -0
  570. package/lib/components/layout/panelManager/TMPanelManagerContext.js +251 -0
  571. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +11 -0
  572. package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +82 -0
  573. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +21 -0
  574. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.js +64 -0
  575. package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +8 -0
  576. package/lib/components/layout/panelManager/TMPanelWrapper.js +59 -0
  577. package/lib/components/layout/panelManager/types.d.ts +41 -0
  578. package/lib/components/layout/panelManager/types.js +1 -0
  579. package/lib/components/layout/panelManager/utils.d.ts +21 -0
  580. package/lib/components/layout/panelManager/utils.js +208 -0
  581. package/lib/components/pages/TMPage.d.ts +38 -0
  582. package/lib/components/pages/TMPage.js +220 -0
  583. package/lib/components/query/TMQueryEditor.d.ts +58 -0
  584. package/lib/components/query/TMQueryEditor.js +1001 -0
  585. package/lib/components/query/TMQuerySummary.d.ts +15 -0
  586. package/lib/components/query/TMQuerySummary.js +35 -0
  587. package/lib/components/settings/SettingsAppearance.d.ts +14 -0
  588. package/lib/components/settings/SettingsAppearance.js +65 -0
  589. package/lib/components/sidebar/TMAboutApp.d.ts +8 -0
  590. package/lib/components/sidebar/TMAboutApp.js +14 -0
  591. package/lib/components/sidebar/TMCommandsPanel.d.ts +16 -0
  592. package/lib/components/sidebar/TMCommandsPanel.js +27 -0
  593. package/lib/components/sidebar/TMHeader.d.ts +43 -0
  594. package/lib/components/sidebar/TMHeader.js +616 -0
  595. package/lib/components/sidebar/TMSidebar.d.ts +21 -0
  596. package/lib/components/sidebar/TMSidebar.js +61 -0
  597. package/lib/components/sidebar/TMSidebarItem.d.ts +15 -0
  598. package/lib/components/sidebar/TMSidebarItem.js +39 -0
  599. package/lib/components/viewers/TMDataListItemViewer.d.ts +10 -0
  600. package/lib/components/viewers/TMDataListItemViewer.js +80 -0
  601. package/lib/components/viewers/TMMidViewer.d.ts +36 -0
  602. package/lib/components/viewers/TMMidViewer.js +128 -0
  603. package/lib/components/viewers/TMTidViewer.d.ts +256 -0
  604. package/lib/components/viewers/TMTidViewer.js +341 -0
  605. package/lib/components/wizard/TMStepIndicator.d.ts +11 -0
  606. package/lib/components/wizard/TMStepIndicator.js +165 -0
  607. package/lib/components/wizard/TMWizard.d.ts +18 -0
  608. package/lib/components/wizard/TMWizard.js +93 -0
  609. package/lib/css/tm-sdkui.css +1 -0
  610. package/lib/helper/DeepCompareHelper.d.ts +7 -0
  611. package/lib/helper/DeepCompareHelper.js +106 -0
  612. package/lib/helper/Enum_Localizator.d.ts +18 -0
  613. package/lib/helper/Enum_Localizator.js +247 -0
  614. package/lib/helper/Globalization.d.ts +14 -0
  615. package/lib/helper/Globalization.js +80 -0
  616. package/lib/helper/SDKUI_Globals.d.ts +93 -0
  617. package/lib/helper/SDKUI_Globals.js +165 -0
  618. package/lib/helper/SDKUI_Localizator.d.ts +649 -0
  619. package/lib/helper/SDKUI_Localizator.js +6385 -0
  620. package/lib/helper/TMCommandsContextMenu.d.ts +14 -0
  621. package/lib/helper/TMCommandsContextMenu.js +6 -0
  622. package/lib/helper/TMConditionalWrapper.d.ts +8 -0
  623. package/lib/helper/TMConditionalWrapper.js +4 -0
  624. package/lib/helper/TMIcons.d.ts +271 -0
  625. package/lib/helper/TMIcons.js +664 -0
  626. package/lib/helper/TMImageLibrary.d.ts +3 -0
  627. package/lib/helper/TMImageLibrary.js +466 -0
  628. package/lib/helper/TMUtils.d.ts +20 -0
  629. package/lib/helper/TMUtils.js +176 -0
  630. package/lib/helper/dcmtsHelper.d.ts +5 -0
  631. package/lib/helper/dcmtsHelper.js +25 -0
  632. package/lib/helper/helpers.d.ts +84 -0
  633. package/lib/helper/helpers.js +824 -0
  634. package/lib/helper/index.d.ts +11 -0
  635. package/lib/helper/index.js +11 -0
  636. package/lib/helper/queryHelper.d.ts +19 -0
  637. package/lib/helper/queryHelper.js +336 -0
  638. package/lib/hooks/useDcmtOperations.d.ts +24 -0
  639. package/lib/hooks/useDcmtOperations.js +482 -0
  640. package/lib/hooks/useForm.d.ts +24 -0
  641. package/lib/hooks/useForm.js +157 -0
  642. package/lib/hooks/useInputDialog.d.ts +9 -0
  643. package/lib/hooks/useInputDialog.js +105 -0
  644. package/lib/hooks/useOutsideClick.d.ts +2 -0
  645. package/lib/hooks/useOutsideClick.js +38 -0
  646. package/lib/hooks/usePreventFileDrop.d.ts +3 -0
  647. package/lib/hooks/usePreventFileDrop.js +37 -0
  648. package/lib/hooks/useQueryParametersDialog.d.ts +2 -0
  649. package/lib/hooks/useQueryParametersDialog.js +71 -0
  650. package/lib/hooks/useResizeObserver.d.ts +4 -0
  651. package/lib/hooks/useResizeObserver.js +22 -0
  652. package/lib/hooks/useWorkflowApprove.d.ts +11 -0
  653. package/lib/hooks/useWorkflowApprove.js +57 -0
  654. package/lib/index.d.ts +11 -0
  655. package/lib/index.js +14 -0
  656. package/lib/services/index.d.ts +1 -0
  657. package/lib/services/index.js +1 -0
  658. package/lib/services/platform_services.d.ts +18 -0
  659. package/lib/services/platform_services.js +492 -0
  660. package/lib/stories/TMButton.stories.d.ts +4 -0
  661. package/lib/stories/TMButton.stories.js +29 -0
  662. package/lib/stories/TMDataGrid.stories.d.ts +9 -0
  663. package/lib/stories/TMDataGrid.stories.js +310 -0
  664. package/lib/stories/TMHtmlContentDisplay.stories.d.ts +6 -0
  665. package/lib/stories/TMHtmlContentDisplay.stories.js +45 -0
  666. package/lib/stories/TMHtmlEditor.stories.d.ts +6 -0
  667. package/lib/stories/TMHtmlEditor.stories.js +49 -0
  668. package/lib/stories/TMIcons.stories.d.ts +4 -0
  669. package/lib/stories/TMIcons.stories.js +13 -0
  670. package/lib/stories/TMSDKUI_Localizator.stories.d.ts +4 -0
  671. package/lib/stories/TMSDKUI_Localizator.stories.js +123 -0
  672. package/lib/stories/TMStoriesUtils.d.ts +1 -0
  673. package/lib/stories/TMStoriesUtils.js +10 -0
  674. package/lib/stories/TMUserAvatar.stories.d.ts +6 -0
  675. package/lib/stories/TMUserAvatar.stories.js +20 -0
  676. package/lib/ts/index.d.ts +1 -0
  677. package/lib/ts/index.js +1 -0
  678. package/lib/ts/types.d.ts +296 -0
  679. package/lib/ts/types.js +85 -0
  680. package/lib/utils/theme.d.ts +68 -0
  681. package/lib/utils/theme.js +80 -0
  682. package/package.json +54 -0
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import TMTooltip from './TMTooltip';
3
+ import styled from 'styled-components';
4
+ const StyledList = styled.div `
5
+ background-color: #f0f0f0;
6
+ display: flex;
7
+ align-items: center;
8
+ /* border: 1px solid #dadada; */
9
+ border-bottom-left-radius: 5px;
10
+ border-bottom-right-radius: 5px;
11
+ border-top: 0;
12
+ width: 100%;
13
+ margin-top: -3px;
14
+ `;
15
+ const StyledListItem = styled.div `
16
+ display: flex;
17
+ align-items: center;
18
+ border-right: 1px dashed lightgray;
19
+ padding: 4px 12px;
20
+ gap: 3px;
21
+ transition: all .5s ease-in;
22
+ &:hover {
23
+ background-color: white;
24
+ svg, span {
25
+ color: orange;
26
+ }
27
+ }
28
+ svg {
29
+ margin-right: 3px;
30
+ font-size: 12px;
31
+ color: gray;
32
+ }
33
+ span {
34
+ color: gray;
35
+ cursor: default;
36
+ }
37
+ `;
38
+ const TMCounterBar = ({ items }) => {
39
+ return (_jsx(StyledList, { children: parseInt(items[0].text) !== -1 && items.map((item, index) => {
40
+ return _jsx(TMTooltip, { content: item.tooltip, children: _jsxs(StyledListItem, { children: [" ", item.icon, _jsx("span", { children: item.text })] }) }, index);
41
+ }) }));
42
+ };
43
+ export default TMCounterBar;
@@ -0,0 +1,23 @@
1
+ export declare enum CounterItemKey {
2
+ allItems = "allItems",
3
+ visibleItems = "visibleItems",
4
+ selectedItems = "selectedItems"
5
+ }
6
+ export interface ITMCounterItemData {
7
+ key?: string;
8
+ show: boolean;
9
+ caption?: string;
10
+ icon?: JSX.Element;
11
+ value?: number | string;
12
+ order?: number;
13
+ }
14
+ export interface ITMCounterContainerProps {
15
+ show?: boolean;
16
+ items?: Map<string, ITMCounterItemData>;
17
+ bgColorContainer?: string;
18
+ bgColorItem?: string;
19
+ textColorItem?: string;
20
+ hoverColorItem?: string;
21
+ }
22
+ declare const TMCounterContainer: (props: ITMCounterContainerProps) => import("react/jsx-runtime").JSX.Element | undefined;
23
+ export default TMCounterContainer;
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styled from "styled-components";
3
+ import TMTooltip from './TMTooltip';
4
+ /* Styled container component that holds all counter items */
5
+ const Container = styled.div `
6
+ background: ${({ bgColor }) => bgColor || 'linear-gradient(to right, #f8f9fa, #e9ecef)'};
7
+ display: flex;
8
+ align-items: center;
9
+ width: 100%;
10
+ padding: 4px 8px;
11
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.1);
12
+ gap: 8px;
13
+ `;
14
+ /* Styled counter item component with customizable styles */
15
+ const Counter = styled.div `
16
+ display: flex;
17
+ align-items: center;
18
+ border-right: 1px solid rgba(211, 211, 211, 0.5);
19
+ padding: 4px 10px;
20
+ gap: 8px;
21
+ transition: all 0.3s ease-in-out;
22
+ background: ${({ color }) => color || 'rgba(255, 255, 255, 0.6)'};
23
+
24
+ &:last-child {
25
+ border-right: none;
26
+ }
27
+
28
+ svg {
29
+ color: ${({ textColor }) => textColor || '#495057'};
30
+ transition: color 0.3s ease-in-out;
31
+ }
32
+
33
+ span {
34
+ color: ${({ textColor }) => textColor || '#495057'};
35
+ transition: color 0.3s ease-in-out;
36
+ }
37
+ `;
38
+ /* Enum for possible counter item keys */
39
+ export var CounterItemKey;
40
+ (function (CounterItemKey) {
41
+ /* Key for all item count */
42
+ CounterItemKey["allItems"] = "allItems";
43
+ /* Key for visible item count */
44
+ CounterItemKey["visibleItems"] = "visibleItems";
45
+ /* Key for selected item count */
46
+ CounterItemKey["selectedItems"] = "selectedItems";
47
+ })(CounterItemKey || (CounterItemKey = {}));
48
+ ;
49
+ ;
50
+ const TMCounterContainer = (props) => {
51
+ const { items, bgColorContainer, hoverColorItem, bgColorItem, textColorItem } = props;
52
+ return (items && _jsx(Container, { bgColor: bgColorContainer, children: [...items.values()].map((item) => {
53
+ if (!item.show)
54
+ return null;
55
+ return _jsx(TMTooltip, { content: item.caption ?? '', children: _jsxs(Counter, { bgColor: bgColorContainer, color: bgColorItem, hoverColor: hoverColorItem, textColor: textColorItem, children: [item.icon ?? null, _jsx("span", { children: item.value?.toString() ?? '' })] }) }, item.key ?? '');
56
+ }) }));
57
+ };
58
+ export default TMCounterContainer;
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import { IColumnProps, IDataGridOptions, IMasterDetailProps } from 'devextreme-react/data-grid';
3
+ import dxDataGrid from 'devextreme/ui/data_grid';
4
+ import { ITMCounterContainerProps } from './TMCounterContainer';
5
+ export interface TMDataGridContextMenuItem {
6
+ text: string;
7
+ icon: string;
8
+ onClick?: (param?: any) => void;
9
+ operationType?: 'singleRow' | 'multiRow';
10
+ disabled?: boolean;
11
+ visible?: boolean;
12
+ id?: string;
13
+ items?: Array<TMDataGridContextMenuItem>;
14
+ beginGroup?: boolean;
15
+ }
16
+ export declare enum TMDataGridPageSize {
17
+ Small = 30,
18
+ Medium = 50,
19
+ Large = 100
20
+ }
21
+ export interface TMDataGridProps<T> extends IDataGridOptions {
22
+ /** An ID of grid */
23
+ id?: string;
24
+ /** An array of grid columns */
25
+ dataColumns: Array<IColumnProps>;
26
+ /** Specifies initially or currently focused grid row's key */
27
+ focusedRowKey: number | undefined;
28
+ /** Allows you to select rows or determine which rows are selected. Applies only if selection.deferred is false */
29
+ selectedRowKeys?: Array<number>;
30
+ /** Defines the number of rows per page in the data grid (Small = 30 rows, Medium = 50 rows, Large = 100 rows) */
31
+ pageSize?: TMDataGridPageSize;
32
+ /** Configures the search panel position in the toolbar */
33
+ searchPanelToolbarPosition?: 'before' | 'default';
34
+ /** if visible, set focus on SearchPanel */
35
+ searchPanelFocusStarting?: boolean;
36
+ /** Show the header filter */
37
+ showHeaderFilter?: boolean;
38
+ /** Show the filter panel */
39
+ showFilterPanel?: boolean;
40
+ /** Show the load panel */
41
+ showLoadPanel?: boolean;
42
+ /** Show the column chooser */
43
+ showColumnChooser?: boolean;
44
+ /** Show the search panel */
45
+ showSearchPanel?: boolean;
46
+ /** Show the group panel */
47
+ showGroupPanel?: boolean;
48
+ /** Counter configuration */
49
+ counterConfig?: ITMCounterContainerProps;
50
+ /** Master Detail */
51
+ masterDetail?: IMasterDetailProps;
52
+ /** On Has Filters Change */
53
+ onHasFiltersChange?: (hasFilters: boolean) => void;
54
+ }
55
+ declare const TMDataGrid: React.ForwardRefExoticComponent<TMDataGridProps<unknown> & React.RefAttributes<dxDataGrid<any, any>>>;
56
+ export default TMDataGrid;
@@ -0,0 +1,237 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';
3
+ import DataGrid, { Column, HeaderFilter, Selection, Scrolling, LoadPanel, SearchPanel, Pager, Sorting, Paging, FilterPanel, ColumnChooser, Grouping, GroupPanel, Summary, Editing, FilterRow, StateStoring, RowDragging, MasterDetail } from 'devextreme-react/data-grid';
4
+ import DataSource from 'devextreme/data/data_source';
5
+ import { IconAll, IconSelected, IconVisible, SDKUI_Globals, SDKUI_Localizator } from '../../helper';
6
+ import TMCounterContainer, { CounterItemKey } from './TMCounterContainer';
7
+ ;
8
+ export var TMDataGridPageSize;
9
+ (function (TMDataGridPageSize) {
10
+ TMDataGridPageSize[TMDataGridPageSize["Small"] = 30] = "Small";
11
+ TMDataGridPageSize[TMDataGridPageSize["Medium"] = 50] = "Medium";
12
+ TMDataGridPageSize[TMDataGridPageSize["Large"] = 100] = "Large";
13
+ })(TMDataGridPageSize || (TMDataGridPageSize = {}));
14
+ const TMDataGrid = React.forwardRef((props, ref) => {
15
+ const {
16
+ // main properties
17
+ keyExpr = 'id', dataSource, focusedRowEnabled = true, hoverStateEnabled = true, focusedRowKey, selectedRowKeys = [],
18
+ // custom options
19
+ dataColumns = [], pageSize = TMDataGridPageSize.Large, showHeaderFilter = true, showFilterPanel = true, showLoadPanel = true, showSearchPanel = true, searchPanelToolbarPosition = 'before', searchPanelFocusStarting = false, counterConfig = { show: false, items: new Map() }, onHasFiltersChange,
20
+ // events and callbacks
21
+ onSelectionChanged, onFocusedRowChanged, onRowDblClick, onRowClick, onCellClick, onCellDblClick, onOptionChanged, onContentReady, onContextMenuPreparing, onInitialized, onEditorPreparing, onCellPrepared, onRowPrepared, onRowUpdating, onRowExpanded, onRowCollapsed, onRowUpdated, onSaved, onEditCanceled, onEditingStart, onEditingChange, customizeColumns, onKeyDown, scrolling = { mode: 'standard', useNative: SDKUI_Globals.userSettings?.themeSettings.gridSettings.useNativeScrollbar === 1 }, paging = { enabled: true, pageSize: pageSize }, pager = { visible: true, showInfo: true, showNavigationButtons: true }, selection = { mode: 'multiple', showCheckBoxesMode: "always", selectAllMode: "allPages" }, sorting, summary, stateStoring, columnChooser, grouping, groupPanel, filterRow, headerFilter, editing, rowDragging, masterDetail,
22
+ // other properties
23
+ disabled = false, autoNavigateToFocusedRow = true, columnResizingMode = 'widget', columnHidingEnabled = true, columnAutoWidth = true, allowColumnResizing = true, allowColumnReordering = true, showBorders = true, showRowLines = SDKUI_Globals.userSettings?.themeSettings.gridSettings.showRowLines === 1, showColumnLines = SDKUI_Globals.userSettings?.themeSettings.gridSettings.showColumnLines === 1, showColumnHeaders = true, rowAlternationEnabled = false, wordWrapEnabled = false, noDataText,
24
+ // styles
25
+ id, width = '100%', height = '100%', } = props;
26
+ const internalRef = React.useRef(null);
27
+ useImperativeHandle(ref, () => internalRef.current);
28
+ const [counterValues, setCounterValues] = useState(new Map());
29
+ const [totalRecordCount, setTotalRecordCount] = useState(0);
30
+ const [visibleItemsCount, setVisibleItemsCount] = useState(0);
31
+ const [hasFilters, setHasFilters] = useState(false);
32
+ useEffect(() => {
33
+ const count = getRecordCount(dataSource);
34
+ setTotalRecordCount(count);
35
+ }, [dataSource]);
36
+ // Creating a ref to store the timestamp of the last selection change
37
+ const lastSelectionChangeTime = useRef(Date.now());
38
+ useEffect(() => {
39
+ if (counterConfig.show) {
40
+ const defaultCounterItems = new Map([
41
+ [
42
+ CounterItemKey.allItems,
43
+ { key: CounterItemKey.allItems, show: true, caption: SDKUI_Localizator.All, value: totalRecordCount, icon: _jsx(IconAll, {}), order: -1 }
44
+ ],
45
+ [
46
+ CounterItemKey.visibleItems,
47
+ { key: CounterItemKey.visibleItems, show: true, caption: SDKUI_Localizator.VisibleItems, value: visibleItemsCount, icon: _jsx(IconVisible, {}), order: 0 }
48
+ ],
49
+ [
50
+ CounterItemKey.selectedItems,
51
+ { key: CounterItemKey.selectedItems, show: true, caption: SDKUI_Localizator.SelectedItems, value: selectedRowKeys.length, icon: _jsx(IconSelected, {}), order: 1 }
52
+ ]
53
+ ]);
54
+ const mergedCounterItems = new Map(defaultCounterItems);
55
+ counterConfig.items?.forEach((value, key) => { mergedCounterItems.set(key.toString(), value); });
56
+ // Convert map to array and sort by order, then caption alphabetically
57
+ const sortedCounterItems = new Map([...mergedCounterItems.entries()]
58
+ .sort((a, b) => {
59
+ const aValue = a[1]; // Extract value
60
+ const bValue = b[1];
61
+ if ((aValue.order ?? 0) === (bValue.order ?? 0)) {
62
+ return (aValue.caption ?? '').localeCompare(bValue.caption ?? '');
63
+ }
64
+ return (aValue.order ?? 0) - (bValue.order ?? 0);
65
+ }));
66
+ setCounterValues(sortedCounterItems);
67
+ }
68
+ }, [counterConfig, visibleItemsCount, selectedRowKeys]);
69
+ // Handle selection changes and invoke callback if provided
70
+ const onSelectionChangedCallback = useCallback((e) => {
71
+ lastSelectionChangeTime.current = Date.now(); // Store current time of selection change
72
+ if (onSelectionChanged)
73
+ onSelectionChanged(e);
74
+ }, [onSelectionChanged]);
75
+ // Handle row double-click event
76
+ const onRowDblClickCallback = useCallback((e) => {
77
+ if (selection.mode === 'multiple' && selection.showCheckBoxesMode !== 'onClick' && Date.now() - lastSelectionChangeTime.current < 300) {
78
+ // Skip the double-click if selection has changed recently
79
+ return;
80
+ }
81
+ if (onRowDblClick)
82
+ onRowDblClick(e);
83
+ }, [onRowDblClick]);
84
+ // Update context menu items based on operation type (single row or multi row)
85
+ const updateContextMenuItems = useCallback((items, rowID) => {
86
+ return items.map(item => {
87
+ // Determine if item is explicitly disabled; default to `false` if not provided
88
+ let disabled = item.disabled ?? false;
89
+ // Variable to determine if the item should be disabled based on row selection
90
+ let disabledCalculation = false;
91
+ // Get the active row ID, prioritizing `focusedRowKey` if `focusedRowEnabled` is true
92
+ const id = focusedRowEnabled ? focusedRowKey : rowID;
93
+ // Disable items based on their operation type and selection state
94
+ if (item.operationType === 'singleRow') {
95
+ // A single-row operation requires exactly one row to be selected
96
+ disabledCalculation = selectedRowKeys.length > 1 || id === undefined;
97
+ }
98
+ if (item.operationType === 'multiRow') {
99
+ // A multi-row operation requires at least one selected row
100
+ disabledCalculation = selectedRowKeys.length === 0 && id === undefined;
101
+ }
102
+ return {
103
+ ...item,
104
+ disabled: disabled || disabledCalculation, // An item is disabled if it's explicitly set to `true` or if the calculation above determines so
105
+ // Define the behavior when the menu item is clicked
106
+ onClick: () => {
107
+ // If there is no click handler defined, exit early
108
+ if (!item.onClick)
109
+ return;
110
+ if (item.operationType === 'singleRow' && id !== undefined) {
111
+ // For single-row operations, call onItemClick with the row ID
112
+ item.onClick(id);
113
+ }
114
+ else if (item.operationType === 'multiRow' && id !== undefined) {
115
+ // For multi-row operations, determine the appropriate argument
116
+ if (selectedRowKeys.length > 0) {
117
+ // If multiple rows are selected, pass all selected row IDs
118
+ item.onClick(selectedRowKeys);
119
+ }
120
+ else if (id !== undefined) {
121
+ // If no rows are selected but `id` exists, pass it as an array
122
+ item.onClick([id]);
123
+ }
124
+ }
125
+ else {
126
+ // For general operations without a specific row selection
127
+ item.onClick();
128
+ }
129
+ },
130
+ // Recursively update nested menu items, if present
131
+ items: item.items ? updateContextMenuItems(item.items, id) : undefined,
132
+ };
133
+ });
134
+ }, [focusedRowEnabled, focusedRowKey, selectedRowKeys]);
135
+ // Handle context menu preparation
136
+ const onContextMenuPreparingCallback = useCallback((e) => {
137
+ if (e === undefined)
138
+ return;
139
+ if (onContextMenuPreparing)
140
+ onContextMenuPreparing(e);
141
+ if (e.target === 'content') {
142
+ e.items = e.items || [];
143
+ if (e.items.length > 0) {
144
+ const rowId = e.row?.key;
145
+ const updatedContextMenuItems = updateContextMenuItems(e.items, rowId);
146
+ e.items = [...updatedContextMenuItems];
147
+ }
148
+ }
149
+ }, [updateContextMenuItems, onContextMenuPreparing]);
150
+ // Handle toolbar preparation, especially for the search panel
151
+ const onToolbarPreparingCallback = useCallback((e) => {
152
+ if (e === undefined || e.toolbarOptions === undefined || e.toolbarOptions.items === undefined)
153
+ return;
154
+ if (showSearchPanel && searchPanelToolbarPosition === 'before') {
155
+ e.toolbarOptions.items.forEach((item) => {
156
+ if (item.name === "searchPanel") {
157
+ item.location = "before";
158
+ }
159
+ });
160
+ }
161
+ }, [showSearchPanel, searchPanelToolbarPosition]);
162
+ // Memoized callback that runs when the DataGrid content is ready
163
+ const onContentReadyCallback = useCallback((e) => {
164
+ // If event is undefined, exit early (safety check)
165
+ if (e === undefined)
166
+ return;
167
+ // Call the external onContentReady callback if it was provided
168
+ onContentReady?.(e);
169
+ // If ref to the DataGrid is not set yet, exit early
170
+ if (!internalRef.current)
171
+ return;
172
+ // Update state with the current number of visible rows in the DataGrid
173
+ setVisibleItemsCount(internalRef.current.instance()?.getVisibleRows()?.length ?? 0);
174
+ // Focusing SearchPanel
175
+ if (showSearchPanel && searchPanelFocusStarting) {
176
+ // Use a small delay to ensure the DOM is fully rendered before trying to focus
177
+ // This can prevent issues with the focus not being set correctly
178
+ setTimeout(() => {
179
+ const searchInput = internalRef.current?.instance().element().querySelector('.dx-datagrid-search-panel input');
180
+ if (searchInput) {
181
+ searchInput.focus();
182
+ }
183
+ }, 100);
184
+ }
185
+ }, [onContentReady]);
186
+ const onOptionChangedCallback = useCallback((e) => {
187
+ // Assicurati che component esista
188
+ const grid = e.component;
189
+ if (!grid)
190
+ return;
191
+ // Controlla se il cambiamento riguarda i filtri
192
+ const isFilterChange = e.fullName === 'filterValue' || (e.fullName?.startsWith('columns') && e.fullName.endsWith('filterValues'));
193
+ if (isFilterChange) {
194
+ let newHasFilters = false;
195
+ // Filtro globale
196
+ const filterValue = grid.option('filterValue');
197
+ if (Array.isArray(filterValue)) {
198
+ newHasFilters = filterValue.length > 0;
199
+ }
200
+ else if (filterValue) {
201
+ newHasFilters = true;
202
+ }
203
+ // Filtro per colonne
204
+ const columns = grid.option('columns') || [];
205
+ const columnFilters = columns.some((col) => {
206
+ if (Array.isArray(col.filterValues))
207
+ return col.filterValues.length > 0;
208
+ return !!col.filterValue;
209
+ });
210
+ if (columnFilters)
211
+ newHasFilters = true;
212
+ setHasFilters(newHasFilters);
213
+ onHasFiltersChange?.(newHasFilters);
214
+ }
215
+ // Propaga l'evento originale
216
+ onOptionChanged?.(e);
217
+ }, [onOptionChanged, onHasFiltersChange]);
218
+ return _jsxs("div", { style: { width: "100%", height: "100%" }, children: [_jsx("div", { style: { width: "100%", height: counterConfig.show ? "calc(100% - 25px)" : "100%" }, children: _jsxs(DataGrid, { ref: internalRef, id: id, className: `tm-datagrid ${hasFilters ? 'has-filters' : ''}`,
219
+ // main properties
220
+ keyExpr: keyExpr, dataSource: dataSource, selectedRowKeys: selectedRowKeys, focusedRowEnabled: focusedRowEnabled, hoverStateEnabled: hoverStateEnabled,
221
+ // events and callbacks
222
+ onSelectionChanged: onSelectionChangedCallback, onRowDblClick: onRowDblClickCallback, onRowPrepared: onRowPrepared, onContextMenuPreparing: onContextMenuPreparingCallback, onToolbarPreparing: onToolbarPreparingCallback, onFocusedRowChanged: onFocusedRowChanged, onRowClick: onRowClick, onCellClick: onCellClick, onCellDblClick: onCellDblClick, onOptionChanged: onOptionChangedCallback, onContentReady: onContentReadyCallback, onInitialized: onInitialized, customizeColumns: customizeColumns, onEditorPreparing: onEditorPreparing, onCellPrepared: onCellPrepared, onRowUpdating: onRowUpdating, onRowExpanded: onRowExpanded, onRowCollapsed: onRowCollapsed, onRowUpdated: onRowUpdated, onSaved: onSaved, onEditCanceled: onEditCanceled, onEditingStart: onEditingStart, onEditingChange: onEditingChange, onKeyDown: onKeyDown,
223
+ // other properties
224
+ disabled: disabled, autoNavigateToFocusedRow: autoNavigateToFocusedRow, focusedRowKey: focusedRowKey, columnHidingEnabled: columnHidingEnabled, columnResizingMode: columnResizingMode, columnAutoWidth: columnAutoWidth, allowColumnResizing: allowColumnResizing, allowColumnReordering: allowColumnReordering, showBorders: showBorders, showRowLines: showRowLines, showColumnLines: showColumnLines, showColumnHeaders: showColumnHeaders, rowAlternationEnabled: rowAlternationEnabled, wordWrapEnabled: wordWrapEnabled, noDataText: noDataText,
225
+ // styles
226
+ width: width, height: height, style: { userSelect: 'none' }, children: [dataColumns.map((column, index) => (_jsx(Column, { ...column }, column.caption + index.toString()))), sorting && _jsx(Sorting, { ...sorting }), selection && _jsx(Selection, { ...selection }), scrolling && _jsx(Scrolling, { ...scrolling }), summary && _jsx(Summary, { ...summary }), showHeaderFilter && _jsx(HeaderFilter, { visible: true, ...headerFilter }), rowDragging && _jsx(RowDragging, { ...rowDragging }), filterRow && _jsx(FilterRow, { ...filterRow }), showFilterPanel && _jsx(FilterPanel, { visible: true }), columnChooser && _jsx(ColumnChooser, { ...columnChooser }), stateStoring && _jsx(StateStoring, { ...stateStoring }), groupPanel && _jsx(GroupPanel, { ...groupPanel }), _jsx(Grouping, { contextMenuEnabled: true, ...grouping }), _jsx(LoadPanel, { enabled: showLoadPanel }), _jsx(SearchPanel, { visible: showSearchPanel, searchVisibleColumnsOnly: true, highlightSearchText: true }), editing && _jsx(Editing, { ...editing }), paging && _jsx(Paging, { ...paging }), pager && _jsx(Pager, { ...pager, visible: totalRecordCount > pageSize }), masterDetail && _jsx(MasterDetail, { ...masterDetail })] }) }), counterConfig.show && _jsx("div", { style: { width: "100%", height: "25px", display: "flex", alignItems: "center", gap: "15px", backgroundColor: "#e0e0e0" }, children: _jsx(TMCounterContainer, { items: counterValues, bgColorContainer: counterConfig.bgColorContainer, bgColorItem: counterConfig.bgColorItem, hoverColorItem: counterConfig.hoverColorItem, textColorItem: counterConfig.textColorItem }) })] });
227
+ });
228
+ export default TMDataGrid;
229
+ const getRecordCount = (dataSource) => {
230
+ if (Array.isArray(dataSource)) {
231
+ return dataSource.length; // For array
232
+ }
233
+ if (dataSource instanceof DataSource) {
234
+ return dataSource.totalCount(); // For DataSource instance
235
+ }
236
+ return 0; // Default case when neither condition is met
237
+ };
@@ -0,0 +1,15 @@
1
+ import { IColumnProps } from 'devextreme-react/cjs/data-grid';
2
+ import { SearchResultDescriptor } from '@topconsultnpm/sdk-ts';
3
+ export type FormatOption = {
4
+ value: 'csv' | 'xlsx' | 'xls' | 'txt';
5
+ display: string;
6
+ };
7
+ interface TMDataGridExportFormProps {
8
+ searchResult: SearchResultDescriptor;
9
+ dataSource: Array<any> | undefined;
10
+ dataColumns: Array<IColumnProps>;
11
+ selectedRowKeys: Array<number>;
12
+ onCloseExportForm: () => void;
13
+ }
14
+ declare const TMDataGridExportForm: (props: TMDataGridExportFormProps) => import("react/jsx-runtime").JSX.Element;
15
+ export default TMDataGridExportForm;
@@ -0,0 +1,209 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Workbook } from 'exceljs';
4
+ import { buildValueToLabelMapFromDataColumns, getExceptionMessage, SDKUI_Localizator } from '../../helper';
5
+ import TMCheckBox from '../editors/TMCheckBox';
6
+ import TMButton from './TMButton';
7
+ import TMModal from './TMModal';
8
+ import { TMExceptionBoxManager } from './TMPopUp';
9
+ import { ResultTypes } from '@topconsultnpm/sdk-ts';
10
+ import TMSpinner from './TMSpinner';
11
+ import { TMResultManager } from '../forms/TMResultDialog';
12
+ import TMDropDown from '../editors/TMDropDown';
13
+ const formatDataSource = [
14
+ { value: 'csv', display: 'CSV' },
15
+ { value: 'xlsx', display: 'XLSX' },
16
+ ];
17
+ const TMDataGridExportForm = (props) => {
18
+ const { searchResult, dataSource, dataColumns, selectedRowKeys, onCloseExportForm } = props;
19
+ // State to track the selected export format (default: 'csv')
20
+ const [formatSelected, setFormatSelected] = useState('csv');
21
+ // Boolean state to indicate whether to export only the selected items
22
+ const [exportSelectedOnly, setExportSelectedOnly] = useState(selectedRowKeys.length > 0 ? true : false);
23
+ // Boolean state to indicate whether to export the "description" fields in data lists
24
+ const [exportDescriptionsForDataLists, setExportDescriptionsForDataLists] = useState(true);
25
+ // Boolean state to indicate whether to hide the selection and format during export
26
+ const [exportSelectedFormatColumns, setExportSelectedFormatColumns] = useState(false);
27
+ const onStatusValueChange = (e) => {
28
+ if (!e?.target?.value)
29
+ return;
30
+ setFormatSelected(e.target.value);
31
+ };
32
+ // Function to trigger download of a file represented by a Blob with the given file extension
33
+ const downloadFile = (blob, extension) => {
34
+ // Helper function to ensure numbers (e.g., 4 -> '04') are two digits
35
+ const formatNumber = (n) => n.toString().padStart(2, '0');
36
+ // Helper function to generate a timestamp string in the format 'YYYY-MM-DD_HH-MM-SS'
37
+ const getTimestamp = () => {
38
+ const now = new Date();
39
+ const date = `${now.getFullYear()}-${formatNumber(now.getMonth() + 1)}-${formatNumber(now.getDate())}`;
40
+ const time = `${formatNumber(now.getHours())}-${formatNumber(now.getMinutes())}-${formatNumber(now.getSeconds())}`;
41
+ return `${date}_${time}`;
42
+ };
43
+ // Create a temporary URL representing the file Blob
44
+ const url = URL.createObjectURL(blob);
45
+ // Create an anchor element to trigger the download
46
+ const a = document.createElement('a');
47
+ a.href = url;
48
+ // Set the filename using a localized prefix and the generated timestamp
49
+ a.download = `${SDKUI_Localizator.SearchResult}_${getTimestamp()}.${extension}`;
50
+ // Append the anchor to the document, click it to start download, then remove it
51
+ document.body.appendChild(a);
52
+ a.click();
53
+ document.body.removeChild(a);
54
+ // Revoke the created URL to release memory
55
+ URL.revokeObjectURL(url);
56
+ };
57
+ const handleExport = async () => {
58
+ // Exit early if dataSource or dataColumns are not defined to avoid errors
59
+ if (!dataSource || !dataColumns)
60
+ return;
61
+ let result = [];
62
+ try {
63
+ TMSpinner.show({ description: SDKUI_Localizator.Loading });
64
+ // Retrieve columns from the search result, or use an empty array if not available
65
+ const columns = searchResult?.dtdResult?.columns ?? [];
66
+ // If exportDescriptionsForDataLists is true, build a map of values to labels for the columns; otherwise use an empty Map
67
+ const { valueToNameMap, captions } = exportDescriptionsForDataLists ? await buildValueToLabelMapFromDataColumns(columns) : { valueToNameMap: new Map(), captions: new Set() };
68
+ // Create a Set from selectedRowKeys for efficient lookup
69
+ const selectedSet = new Set(selectedRowKeys);
70
+ // If exporting only selected rows, filter the dataSource accordingly; otherwise use the full dataSource
71
+ const rowsToExport = exportSelectedOnly ? dataSource.filter((item) => selectedSet.has(item.rowIndex)) : dataSource;
72
+ // Filter columns to only those that are visible; optionally hide 'object' data types based on the `hideSelection` flag
73
+ let visibleColumns = dataColumns.filter(col => {
74
+ if (!exportSelectedFormatColumns) {
75
+ return col.visible !== false && col.dataField !== "FILEEXT";
76
+ }
77
+ else {
78
+ return col.visible !== false;
79
+ }
80
+ });
81
+ // Function to get the value for a column and its value in a row
82
+ const getValue = (col, value) => {
83
+ // Replace raw value with corresponding label from the map if applicable
84
+ let result = value;
85
+ if (exportDescriptionsForDataLists && col.caption && captions.has(col.caption.toString())) {
86
+ result = valueToNameMap.get(value) ?? value;
87
+ }
88
+ // If the column is a datetime type, attempt to format it as a locale date string
89
+ if (col.dataType === 'datetime' && result) {
90
+ const parsedDate = new Date(result);
91
+ if (!isNaN(parsedDate.getTime())) {
92
+ result = parsedDate.toLocaleDateString();
93
+ }
94
+ }
95
+ // Return the cleaned string value, stripping double quotes to avoid CSV formatting issues
96
+ return (result ?? '').toString().replace(/"/g, '');
97
+ };
98
+ switch (formatSelected) {
99
+ case 'csv': {
100
+ const getHeaderName = (col) => col.caption ?? col.dataField;
101
+ const headers = !exportSelectedFormatColumns ? visibleColumns.map(getHeaderName) : [SDKUI_Localizator.SelectedSingular, ...visibleColumns.map(getHeaderName)];
102
+ const csvRows = [];
103
+ csvRows.push(headers.join(';'));
104
+ rowsToExport.forEach((item, idx) => {
105
+ const originalIndex = exportSelectedOnly ? selectedRowKeys[idx] : dataSource.indexOf(item);
106
+ const rowValues = [];
107
+ if (exportSelectedFormatColumns) {
108
+ const status = selectedSet.has(originalIndex) ? SDKUI_Localizator.SelectedSingular : SDKUI_Localizator.Deselected;
109
+ rowValues.push(status || '');
110
+ }
111
+ visibleColumns.forEach(col => {
112
+ if (col.dataField) {
113
+ rowValues.push(getValue(col, item[col.dataField]));
114
+ }
115
+ });
116
+ csvRows.push(rowValues.join(';'));
117
+ });
118
+ const blob = new Blob([csvRows.join('\r\n')], { type: 'text/csv;charset=utf-8;' });
119
+ downloadFile(blob, formatSelected);
120
+ result.push({ rowIndex: 1, id1: 1, id2: 0, description: SDKUI_Localizator.OperationSuccess, resultType: ResultTypes.SUCCESS });
121
+ break;
122
+ }
123
+ case 'xlsx': {
124
+ // Create a new Excel workbook and add a worksheet with localized name
125
+ const workbook = new Workbook();
126
+ const worksheet = workbook.addWorksheet(SDKUI_Localizator.SearchResult);
127
+ // Map visible columns to worksheet column definitions
128
+ const baseColumns = visibleColumns.map(col => ({ header: col.caption !== undefined ? col.caption : col.dataField, key: col.dataField, width: 10, style: { numFmt: '@' } }));
129
+ // Add a selection status column at the beginning if hideSelection is false
130
+ const headers = !exportSelectedFormatColumns ? baseColumns : [{ header: SDKUI_Localizator.SelectedSingular, key: '_selected', width: 10, style: { numFmt: '@' } }, ...baseColumns];
131
+ worksheet.columns = headers;
132
+ // Style the header row cells: font, fill color, and border
133
+ worksheet.getRow(1).eachCell({ includeEmpty: true }, cell => {
134
+ cell.font = { name: 'Segoe UI', size: 9 };
135
+ cell.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'C0C0C0' } };
136
+ cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } };
137
+ });
138
+ // Add rows to worksheet
139
+ rowsToExport.forEach((item, idx) => {
140
+ // Get original index of the item in dataSource
141
+ const originalIndex = exportSelectedOnly ? selectedRowKeys[idx] : dataSource.indexOf(item);
142
+ const rowObj = {};
143
+ // Add selection status if hideSelection is false
144
+ if (exportSelectedFormatColumns) {
145
+ rowObj._selected = selectedSet.has(originalIndex) ? SDKUI_Localizator.SelectedSingular : SDKUI_Localizator.Deselected;
146
+ }
147
+ // Add data for each visible column
148
+ visibleColumns.forEach(col => {
149
+ if (col.dataField) {
150
+ rowObj[col.dataField] = getValue(col, item[col.dataField]);
151
+ }
152
+ });
153
+ worksheet.addRow(rowObj);
154
+ });
155
+ // Adjust column widths based on header and cell contents without iterating each cell manually
156
+ worksheet.columns.forEach(col => {
157
+ if (!col || !col.header || !col.key)
158
+ return;
159
+ const headerLength = col.header.toString().length;
160
+ // 'getColumn' accetta solo string | number, col.key è garantito perché controllato sopra
161
+ const maxDataLength = worksheet.getColumn(col.key).values.reduce((max, val) => {
162
+ const strVal = val !== undefined && val !== null ? val.toString() : '';
163
+ const length = strVal.length;
164
+ return length > max ? length : max;
165
+ }, 0);
166
+ col.width = Math.max(headerLength, maxDataLength) + 2;
167
+ });
168
+ // Apply font and border styling to all cells in all rows in a single pass
169
+ worksheet.eachRow((row) => {
170
+ row.eachCell({ includeEmpty: true }, cell => {
171
+ cell.font = { name: 'Segoe UI', size: 9 };
172
+ cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } };
173
+ });
174
+ });
175
+ // Generate Excel file as a buffer
176
+ const buffer = await workbook.xlsx.writeBuffer();
177
+ // Create a Blob from the buffer for downloading
178
+ const blob = new Blob([buffer], { type: 'application/octet-stream' });
179
+ // Trigger the file download with extension 'xlsx'
180
+ downloadFile(blob, formatSelected);
181
+ result.push({ rowIndex: 1, id1: 1, id2: 0, description: SDKUI_Localizator.OperationSuccess, resultType: ResultTypes.SUCCESS });
182
+ break;
183
+ }
184
+ default:
185
+ break;
186
+ }
187
+ }
188
+ catch (error) {
189
+ result.push({ rowIndex: 1, id1: 1, id2: 0, resultType: ResultTypes.ERROR, description: getExceptionMessage(error) });
190
+ // Show any exceptions in a custom exception box
191
+ TMExceptionBoxManager.show({ exception: error });
192
+ }
193
+ finally {
194
+ TMSpinner.hide();
195
+ TMResultManager.show(result, SDKUI_Localizator.Export, "ID", undefined);
196
+ onCloseExportForm();
197
+ }
198
+ };
199
+ return _jsx(TMModal, { title: `${SDKUI_Localizator.Export}`, width: '400px', height: '250px', onClose: onCloseExportForm, children: _jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: '16px', padding: '6px 12px', height: '100%', width: '100%' }, children: [_jsx("div", { style: { display: 'flex', alignItems: 'center', gap: '12px' }, children: _jsx(TMDropDown, { label: SDKUI_Localizator.Format, value: formatSelected, dataSource: formatDataSource, onValueChanged: onStatusValueChange }) }), _jsx("div", { style: { display: 'flex', alignItems: 'center', gap: '12px' }, children: _jsx(TMCheckBox, { elementStyle: {
200
+ opacity: selectedRowKeys.length === 0 ? 0.5 : 1,
201
+ cursor: selectedRowKeys.length === 0 ? 'not-allowed' : 'pointer'
202
+ }, label: `${SDKUI_Localizator.ExportOnlySelectedDocuments} (${selectedRowKeys.length})`, value: exportSelectedOnly, disabled: selectedRowKeys.length === 0, onValueChanged: () => { setExportSelectedOnly(prev => !prev); } }) }), _jsx("div", { style: { display: 'flex', alignItems: 'center', gap: '12px' }, children: _jsx(TMCheckBox, { label: SDKUI_Localizator.ExportDataListsDescriptionField, value: exportDescriptionsForDataLists, onValueChanged: () => { setExportDescriptionsForDataLists(prev => !prev); } }) }), _jsx("div", { style: { display: 'flex', alignItems: 'center', gap: '12px' }, children: _jsx(TMCheckBox, { label: SDKUI_Localizator.ExportSelectedColumnsAndFormatLabel, value: exportSelectedFormatColumns, onValueChanged: () => { setExportSelectedFormatColumns(prev => !prev); } }) }), _jsx("div", { style: {
203
+ display: 'flex',
204
+ justifyContent: 'center',
205
+ gap: '10px',
206
+ marginTop: '5px'
207
+ }, children: _jsx(TMButton, { caption: SDKUI_Localizator.Export, btnStyle: 'normal', color: 'success', showTooltip: false, onClick: handleExport }) })] }) });
208
+ };
209
+ export default TMDataGridExportForm;