@solidxai/core-ui 0.1.9-beta.2 → 0.1.9-beta.21

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 (813) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/auth/handleLogout.d.ts +1 -1
  3. package/dist/adapters/auth/handleLogout.d.ts.map +1 -1
  4. package/dist/adapters/auth/handleLogout.js +20 -32
  5. package/dist/adapters/auth/handleLogout.js.map +1 -1
  6. package/dist/adapters/auth/handleLogout.ts +7 -14
  7. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  8. package/dist/components/auth/AuthLayout.js +24 -19
  9. package/dist/components/auth/AuthLayout.js.map +1 -1
  10. package/dist/components/auth/AuthLayout.tsx +63 -51
  11. package/dist/components/auth/ForgotPasswordThankYou.js +1 -1
  12. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  13. package/dist/components/auth/ForgotPasswordThankYou.tsx +4 -4
  14. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.d.ts +2 -0
  15. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.d.ts.map +1 -0
  16. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.js +112 -0
  17. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.js.map +1 -0
  18. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.tsx +78 -0
  19. package/dist/components/auth/SolidChangeForcePassword.js +2 -2
  20. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  21. package/dist/components/auth/SolidChangeForcePassword.tsx +13 -13
  22. package/dist/components/auth/SolidForgotPassword.js +1 -1
  23. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  24. package/dist/components/auth/SolidForgotPassword.tsx +5 -5
  25. package/dist/components/auth/SolidInitialLoginOtp.js +9 -9
  26. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  27. package/dist/components/auth/SolidInitialLoginOtp.tsx +3 -3
  28. package/dist/components/auth/SolidInitiateRegisterOtp.js +9 -9
  29. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  30. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +3 -3
  31. package/dist/components/auth/SolidLogin.js +11 -12
  32. package/dist/components/auth/SolidLogin.js.map +1 -1
  33. package/dist/components/auth/SolidLogin.tsx +14 -14
  34. package/dist/components/auth/SolidRegister.js +15 -15
  35. package/dist/components/auth/SolidRegister.js.map +1 -1
  36. package/dist/components/auth/SolidRegister.tsx +17 -17
  37. package/dist/components/auth/SolidResetPassword.js +2 -2
  38. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  39. package/dist/components/auth/SolidResetPassword.tsx +8 -8
  40. package/dist/components/common/BackButton.js +1 -1
  41. package/dist/components/common/BackButton.js.map +1 -1
  42. package/dist/components/common/BackButton.tsx +1 -1
  43. package/dist/components/common/CancelButton.js +2 -2
  44. package/dist/components/common/CancelButton.js.map +1 -1
  45. package/dist/components/common/CancelButton.tsx +3 -3
  46. package/dist/components/common/GeneralSettings.js +18 -18
  47. package/dist/components/common/GeneralSettings.js.map +1 -1
  48. package/dist/components/common/GeneralSettings.tsx +137 -137
  49. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  50. package/dist/components/common/SettingsComponent.js +4 -1
  51. package/dist/components/common/SettingsComponent.js.map +1 -1
  52. package/dist/components/common/SettingsComponent.module.css +95 -2
  53. package/dist/components/common/SettingsComponent.tsx +4 -1
  54. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  55. package/dist/components/common/SocialMediaLogin.js +2 -2
  56. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  57. package/dist/components/common/SocialMediaLogin.tsx +8 -4
  58. package/dist/components/common/SolidExport.d.ts +1 -1
  59. package/dist/components/common/SolidExport.d.ts.map +1 -1
  60. package/dist/components/common/SolidExport.js +11 -4
  61. package/dist/components/common/SolidExport.js.map +1 -1
  62. package/dist/components/common/SolidExport.tsx +12 -2
  63. package/dist/components/common/SolidFaviconProvider.d.ts +3 -0
  64. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -0
  65. package/dist/components/common/SolidFaviconProvider.js +102 -0
  66. package/dist/components/common/SolidFaviconProvider.js.map +1 -0
  67. package/dist/components/common/SolidFaviconProvider.tsx +55 -0
  68. package/dist/components/common/SolidFormHeader.js +1 -1
  69. package/dist/components/common/SolidFormHeader.js.map +1 -1
  70. package/dist/components/common/SolidFormHeader.tsx +1 -1
  71. package/dist/components/common/SolidModuleHome.js +2 -2
  72. package/dist/components/common/SolidModuleHome.js.map +1 -1
  73. package/dist/components/common/SolidModuleHome.tsx +7 -7
  74. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +3 -3
  75. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  76. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +6 -6
  77. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +1 -1
  78. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  79. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +4 -4
  80. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +1 -1
  81. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  82. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +4 -4
  83. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +1 -1
  84. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  85. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +1 -1
  86. package/dist/components/core/card/SolidCardView.js +1 -1
  87. package/dist/components/core/card/SolidCardView.js.map +1 -1
  88. package/dist/components/core/card/SolidCardView.tsx +6 -6
  89. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  90. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  91. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  92. package/dist/components/core/card/SolidCardViewConfigure.tsx +5 -1
  93. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  94. package/dist/components/core/chatter/SolidChatter.js +29 -16
  95. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  96. package/dist/components/core/chatter/SolidChatter.tsx +28 -14
  97. package/dist/components/core/chatter/SolidChatterAuditMessage.js +1 -1
  98. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  99. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +2 -2
  100. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  101. package/dist/components/core/chatter/SolidChatterHeader.js +2 -2
  102. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  103. package/dist/components/core/chatter/SolidChatterHeader.tsx +10 -6
  104. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +1 -0
  105. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  106. package/dist/components/core/chatter/SolidChatterMessageBox.js +151 -12
  107. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  108. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +256 -15
  109. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  110. package/dist/components/core/chatter/SolidMessageComposer.js +3 -2
  111. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  112. package/dist/components/core/chatter/SolidMessageComposer.tsx +11 -9
  113. package/dist/components/core/chatter/chatter.module.css +1 -1
  114. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  115. package/dist/components/core/common/FilterComponent.js +5 -3
  116. package/dist/components/core/common/FilterComponent.js.map +1 -1
  117. package/dist/components/core/common/FilterComponent.tsx +6 -2
  118. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  119. package/dist/components/core/common/GroupingComponent.js +2 -2
  120. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  121. package/dist/components/core/common/GroupingComponent.tsx +2 -0
  122. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  123. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +1 -10
  124. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  125. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +1 -8
  126. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  127. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +6 -11
  128. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  129. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +5 -31
  130. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  131. package/dist/components/core/common/SolidCreateButton.js +16 -1
  132. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  133. package/dist/components/core/common/SolidCreateButton.tsx +18 -1
  134. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +61 -1
  135. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  136. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +3 -1
  137. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  138. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +4 -2
  139. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
  140. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +19 -1
  141. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
  142. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +16 -3
  143. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  144. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +168 -26
  145. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  146. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +174 -10
  147. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  148. package/dist/components/core/common/SolidGlobalSearchElement.js +180 -90
  149. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  150. package/dist/components/core/common/SolidGlobalSearchElement.tsx +167 -49
  151. package/dist/components/core/common/SolidLayoutViews.js +2 -2
  152. package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
  153. package/dist/components/core/common/SolidLayoutViews.tsx +4 -4
  154. package/dist/components/core/common/SolidListViewOptions.js +1 -1
  155. package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
  156. package/dist/components/core/common/SolidListViewOptions.tsx +1 -1
  157. package/dist/components/core/common/SolidPasswordHelperText.js +2 -2
  158. package/dist/components/core/common/SolidPasswordHelperText.js.map +1 -1
  159. package/dist/components/core/common/SolidPasswordHelperText.tsx +4 -4
  160. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  161. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  162. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  163. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +0 -1
  164. package/dist/components/core/common/SolidSearchBox.js +1 -1
  165. package/dist/components/core/common/SolidSearchBox.js.map +1 -1
  166. package/dist/components/core/common/SolidSearchBox.tsx +1 -1
  167. package/dist/components/core/common/SolidXAiIframe.js +1 -1
  168. package/dist/components/core/common/SolidXAiIframe.js.map +1 -1
  169. package/dist/components/core/common/SolidXAiIframe.tsx +1 -1
  170. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts +4 -0
  171. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts.map +1 -0
  172. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js +79 -0
  173. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js.map +1 -0
  174. package/dist/components/core/dashboard/mappers/echartsOptionMapper.ts +81 -0
  175. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts +3 -0
  176. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts.map +1 -0
  177. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js +17 -0
  178. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js.map +1 -0
  179. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.tsx +6 -0
  180. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts +3 -0
  181. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts.map +1 -0
  182. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js +41 -0
  183. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js.map +1 -0
  184. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.tsx +56 -0
  185. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts +3 -0
  186. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts.map +1 -0
  187. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js +14 -0
  188. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js.map +1 -0
  189. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.tsx +19 -0
  190. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts +3 -0
  191. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts.map +1 -0
  192. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js +17 -0
  193. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js.map +1 -0
  194. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.tsx +6 -0
  195. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts +3 -0
  196. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts.map +1 -0
  197. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js +17 -0
  198. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js.map +1 -0
  199. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.tsx +6 -0
  200. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts +3 -0
  201. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts.map +1 -0
  202. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js +12 -0
  203. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js.map +1 -0
  204. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.tsx +39 -0
  205. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts +3 -0
  206. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts.map +1 -0
  207. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js +7 -0
  208. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js.map +1 -0
  209. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.tsx +9 -0
  210. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts +3 -0
  211. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts.map +1 -0
  212. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js +203 -0
  213. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js.map +1 -0
  214. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.tsx +251 -0
  215. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js +1 -1
  216. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js.map +1 -1
  217. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.tsx +2 -2
  218. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +16 -0
  219. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -0
  220. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +31 -0
  221. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -0
  222. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +43 -0
  223. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts +3 -0
  224. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts.map +1 -0
  225. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js +141 -0
  226. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js.map +1 -0
  227. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.tsx +205 -0
  228. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts +4 -0
  229. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts.map +1 -0
  230. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js +112 -0
  231. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js.map +1 -0
  232. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.tsx +146 -0
  233. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts +11 -0
  234. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts.map +1 -0
  235. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js +22 -0
  236. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js.map +1 -0
  237. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.tsx +36 -0
  238. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts +3 -0
  239. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts.map +1 -0
  240. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js +133 -0
  241. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js.map +1 -0
  242. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.ts +76 -0
  243. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +2 -2
  244. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  245. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +5 -5
  246. package/dist/components/core/field/FieldListViewData.js +2 -2
  247. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  248. package/dist/components/core/field/FieldListViewData.tsx +5 -5
  249. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  250. package/dist/components/core/filter/fields/SolidBooleanField.js +2 -2
  251. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  252. package/dist/components/core/filter/fields/SolidBooleanField.tsx +5 -13
  253. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  254. package/dist/components/core/filter/fields/SolidDateField.js +2 -2
  255. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  256. package/dist/components/core/filter/fields/SolidDateField.tsx +4 -3
  257. package/dist/components/core/filter/fields/SolidDatetimeField.d.ts.map +1 -1
  258. package/dist/components/core/filter/fields/SolidDatetimeField.js +2 -2
  259. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  260. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +5 -4
  261. package/dist/components/core/filter/fields/SolidExternalIdField.d.ts.map +1 -1
  262. package/dist/components/core/filter/fields/SolidExternalIdField.js +2 -2
  263. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  264. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +4 -3
  265. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  266. package/dist/components/core/filter/fields/SolidIdField.js +2 -2
  267. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  268. package/dist/components/core/filter/fields/SolidIdField.tsx +3 -2
  269. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  270. package/dist/components/core/filter/fields/SolidIntField.js +2 -2
  271. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  272. package/dist/components/core/filter/fields/SolidIntField.tsx +4 -3
  273. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  274. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
  275. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  276. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +4 -3
  277. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  278. package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
  279. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  280. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +4 -3
  281. package/dist/components/core/filter/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  282. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +2 -2
  283. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  284. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +5 -4
  285. package/dist/components/core/filter/fields/SolidSelectionStaticField.d.ts.map +1 -1
  286. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +2 -2
  287. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  288. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +5 -4
  289. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  290. package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
  291. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  292. package/dist/components/core/filter/fields/SolidShortTextField.tsx +4 -3
  293. package/dist/components/core/filter/fields/SolidTimeField.d.ts.map +1 -1
  294. package/dist/components/core/filter/fields/SolidTimeField.js +2 -2
  295. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  296. package/dist/components/core/filter/fields/SolidTimeField.tsx +5 -4
  297. package/dist/components/core/filter/fields/SolidUuidField.d.ts.map +1 -1
  298. package/dist/components/core/filter/fields/SolidUuidField.js +2 -2
  299. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  300. package/dist/components/core/filter/fields/SolidUuidField.tsx +5 -4
  301. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  302. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +2 -2
  303. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  304. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +5 -4
  305. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  306. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +2 -2
  307. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  308. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +5 -4
  309. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  310. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +2 -2
  311. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  312. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +5 -4
  313. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  314. package/dist/components/core/form/SolidFormActionHeader.js +9 -8
  315. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  316. package/dist/components/core/form/SolidFormActionHeader.tsx +15 -14
  317. package/dist/components/core/form/SolidFormFieldRender.js +1 -1
  318. package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
  319. package/dist/components/core/form/SolidFormFieldRender.tsx +1 -1
  320. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  321. package/dist/components/core/form/SolidFormFooter.js +25 -11
  322. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  323. package/dist/components/core/form/SolidFormFooter.tsx +29 -12
  324. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  325. package/dist/components/core/form/SolidFormView.js +210 -70
  326. package/dist/components/core/form/SolidFormView.js.map +1 -1
  327. package/dist/components/core/form/SolidFormView.tsx +199 -46
  328. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  329. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +16 -3
  330. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  331. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +25 -16
  332. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  333. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +19 -5
  334. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  335. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +25 -9
  336. package/dist/components/core/form/SolidFormViewShimmerLoading.js +1 -1
  337. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  338. package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +46 -46
  339. package/dist/components/core/form/field-quality-check-fixes.md +201 -0
  340. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  341. package/dist/components/core/form/fields/SolidBooleanField.js +13 -4
  342. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  343. package/dist/components/core/form/fields/SolidBooleanField.tsx +16 -4
  344. package/dist/components/core/form/fields/SolidComputedField.js +1 -1
  345. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -1
  346. package/dist/components/core/form/fields/SolidComputedField.tsx +1 -1
  347. package/dist/components/core/form/fields/SolidDateField.js +2 -2
  348. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  349. package/dist/components/core/form/fields/SolidDateField.tsx +2 -2
  350. package/dist/components/core/form/fields/SolidDateTimeField.js +2 -2
  351. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  352. package/dist/components/core/form/fields/SolidDateTimeField.tsx +2 -2
  353. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  354. package/dist/components/core/form/fields/SolidDecimalField.js +8 -2
  355. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  356. package/dist/components/core/form/fields/SolidDecimalField.tsx +11 -2
  357. package/dist/components/core/form/fields/SolidEmailField.js +1 -1
  358. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  359. package/dist/components/core/form/fields/SolidEmailField.tsx +1 -1
  360. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  361. package/dist/components/core/form/fields/SolidIntegerField.js +17 -5
  362. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  363. package/dist/components/core/form/fields/SolidIntegerField.tsx +23 -5
  364. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  365. package/dist/components/core/form/fields/SolidJsonField.js +12 -4
  366. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  367. package/dist/components/core/form/fields/SolidJsonField.tsx +15 -4
  368. package/dist/components/core/form/fields/SolidLongTextField.d.ts +0 -1
  369. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  370. package/dist/components/core/form/fields/SolidLongTextField.js +22 -54
  371. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  372. package/dist/components/core/form/fields/SolidLongTextField.tsx +34 -100
  373. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  374. package/dist/components/core/form/fields/SolidMediaMultipleField.js +26 -13
  375. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  376. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +48 -32
  377. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  378. package/dist/components/core/form/fields/SolidMediaSingleField.js +26 -8
  379. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  380. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +39 -12
  381. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  382. package/dist/components/core/form/fields/SolidPasswordField.js +14 -7
  383. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  384. package/dist/components/core/form/fields/SolidPasswordField.tsx +26 -7
  385. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  386. package/dist/components/core/form/fields/SolidRichTextField.js +11 -3
  387. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  388. package/dist/components/core/form/fields/SolidRichTextField.tsx +14 -3
  389. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +2 -2
  390. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  391. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +2 -2
  392. package/dist/components/core/form/fields/SolidSelectionStaticField.js +1 -1
  393. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  394. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +1 -1
  395. package/dist/components/core/form/fields/SolidShortTextField.js +1 -1
  396. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  397. package/dist/components/core/form/fields/SolidShortTextField.tsx +1 -1
  398. package/dist/components/core/form/fields/SolidTimeField.js +2 -2
  399. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  400. package/dist/components/core/form/fields/SolidTimeField.tsx +2 -2
  401. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +8 -0
  402. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -0
  403. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +123 -0
  404. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -0
  405. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +140 -0
  406. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  407. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +20 -18
  408. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  409. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +47 -37
  410. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  411. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +20 -20
  412. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  413. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +25 -15
  414. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  415. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +19 -17
  416. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  417. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +28 -27
  418. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +1 -1
  419. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  420. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +1 -1
  421. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js +1 -1
  422. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js.map +1 -1
  423. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.tsx +1 -1
  424. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +1 -1
  425. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  426. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +1 -1
  427. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  428. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +19 -8
  429. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  430. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +37 -20
  431. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js +1 -1
  432. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
  433. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +1 -1
  434. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js +1 -1
  435. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
  436. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +1 -1
  437. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  438. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  439. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  440. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  441. package/dist/components/core/kanban/KanbanBoard.tsx +2 -1
  442. package/dist/components/core/kanban/KanbanCard.d.ts +1 -0
  443. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  444. package/dist/components/core/kanban/KanbanCard.js +15 -4
  445. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  446. package/dist/components/core/kanban/KanbanCard.tsx +27 -4
  447. package/dist/components/core/kanban/KanbanColumn.d.ts +2 -1
  448. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  449. package/dist/components/core/kanban/KanbanColumn.js +4 -4
  450. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  451. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  452. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  453. package/dist/components/core/kanban/SolidKanbanView.js +44 -39
  454. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  455. package/dist/components/core/kanban/SolidKanbanView.tsx +22 -10
  456. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  457. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  458. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  459. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +5 -1
  460. package/dist/components/core/list/ListViewRowActionPopup.js +1 -1
  461. package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
  462. package/dist/components/core/list/ListViewRowActionPopup.tsx +1 -2
  463. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +1 -1
  464. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  465. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +3 -3
  466. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  467. package/dist/components/core/list/SolidDataTable.js +3 -2
  468. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  469. package/dist/components/core/list/SolidDataTable.tsx +9 -10
  470. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  471. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -0
  472. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  473. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -0
  474. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  475. package/dist/components/core/list/SolidListView.js +189 -102
  476. package/dist/components/core/list/SolidListView.js.map +1 -1
  477. package/dist/components/core/list/SolidListView.tsx +137 -43
  478. package/dist/components/core/list/SolidListViewColumn.d.ts +3 -1
  479. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  480. package/dist/components/core/list/SolidListViewColumn.js +27 -2
  481. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  482. package/dist/components/core/list/SolidListViewColumn.tsx +16 -3
  483. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  484. package/dist/components/core/list/SolidListViewConfigure.js +11 -10
  485. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  486. package/dist/components/core/list/SolidListViewConfigure.tsx +9 -3
  487. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  488. package/dist/components/core/list/SolidListViewHeaderButton.js +13 -3
  489. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  490. package/dist/components/core/list/SolidListViewHeaderButton.tsx +16 -7
  491. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  492. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +19 -7
  493. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  494. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +19 -6
  495. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  496. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +14 -5
  497. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  498. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +17 -6
  499. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -1
  500. package/dist/components/core/list/SolidListViewRowActionsMenu.js +7 -1
  501. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  502. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +5 -1
  503. package/dist/components/core/list/SolidListingHeader.js +1 -1
  504. package/dist/components/core/list/SolidListingHeader.js.map +1 -1
  505. package/dist/components/core/list/SolidListingHeader.tsx +4 -4
  506. package/dist/components/core/list/SolidTableRowCell.js +1 -1
  507. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  508. package/dist/components/core/list/SolidTableRowCell.tsx +1 -1
  509. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  510. package/dist/components/core/list/columns/SolidBooleanColumn.js +4 -6
  511. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  512. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -3
  513. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  514. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +8 -7
  515. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  516. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +11 -10
  517. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  518. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +6 -5
  519. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  520. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +6 -5
  521. package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
  522. package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
  523. package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
  524. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  525. package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
  526. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
  527. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  528. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +9 -4
  529. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  530. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +14 -4
  531. package/dist/components/core/list/field-quality-check-fixes.md +178 -0
  532. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js +1 -1
  533. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js.map +1 -1
  534. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.tsx +1 -1
  535. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +1 -1
  536. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
  537. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +1 -2
  538. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts +3 -0
  539. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts.map +1 -0
  540. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js +39 -0
  541. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js.map +1 -0
  542. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.tsx +50 -0
  543. package/dist/components/core/locales/SolidLocale.js +3 -3
  544. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  545. package/dist/components/core/locales/SolidLocale.tsx +7 -7
  546. package/dist/components/core/locales/solid-locale.css +5 -4
  547. package/dist/components/core/model/CreateModel.css +48 -0
  548. package/dist/components/core/model/CreateModel.d.ts +1 -0
  549. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  550. package/dist/components/core/model/CreateModel.js +80 -128
  551. package/dist/components/core/model/CreateModel.js.map +1 -1
  552. package/dist/components/core/model/CreateModel.tsx +102 -226
  553. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  554. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  555. package/dist/components/core/model/FieldMetaData.js +7 -23
  556. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  557. package/dist/components/core/model/FieldMetaData.tsx +17 -50
  558. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  559. package/dist/components/core/model/FieldMetaDataForm.js +198 -224
  560. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  561. package/dist/components/core/model/FieldMetaDataForm.tsx +75 -302
  562. package/dist/components/core/model/ModelListViewData.js +4 -4
  563. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  564. package/dist/components/core/model/ModelListViewData.tsx +7 -7
  565. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  566. package/dist/components/core/model/ModelMetaData.js +13 -25
  567. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  568. package/dist/components/core/model/ModelMetaData.tsx +18 -79
  569. package/dist/components/core/module/CreateModule.css +44 -0
  570. package/dist/components/core/module/CreateModule.d.ts +1 -0
  571. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  572. package/dist/components/core/module/CreateModule.js +40 -57
  573. package/dist/components/core/module/CreateModule.js.map +1 -1
  574. package/dist/components/core/module/CreateModule.tsx +246 -264
  575. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  576. package/dist/components/core/module/ModuleListViewData.js +48 -8
  577. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  578. package/dist/components/core/module/ModuleListViewData.tsx +65 -7
  579. package/dist/components/core/module/ModuleMetadataExplorer.css +638 -0
  580. package/dist/components/core/module/ModuleMetadataExplorer.d.ts +15 -0
  581. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -0
  582. package/dist/components/core/module/ModuleMetadataExplorer.js +666 -0
  583. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -0
  584. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1000 -0
  585. package/dist/components/core/module/ModulePackageDialog.css +540 -0
  586. package/dist/components/core/module/ModulePackageDialog.d.ts +16 -0
  587. package/dist/components/core/module/ModulePackageDialog.d.ts.map +1 -0
  588. package/dist/components/core/module/ModulePackageDialog.js +625 -0
  589. package/dist/components/core/module/ModulePackageDialog.js.map +1 -0
  590. package/dist/components/core/module/ModulePackageDialog.tsx +906 -0
  591. package/dist/components/core/solid-ai/SolidAiChat.module.css +2 -2
  592. package/dist/components/core/tree/SolidTreeTable.js +1 -1
  593. package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
  594. package/dist/components/core/tree/SolidTreeTable.tsx +1 -1
  595. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  596. package/dist/components/core/tree/SolidTreeView.js +4 -4
  597. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  598. package/dist/components/core/tree/SolidTreeView.tsx +16 -12
  599. package/dist/components/core/users/CreateUser.css +27 -2
  600. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  601. package/dist/components/core/users/CreateUser.js +58 -32
  602. package/dist/components/core/users/CreateUser.js.map +1 -1
  603. package/dist/components/core/users/CreateUser.tsx +63 -68
  604. package/dist/components/core/users/CreateUserRole.js +2 -2
  605. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  606. package/dist/components/core/users/CreateUserRole.tsx +9 -9
  607. package/dist/components/core/users/UserListView.js +4 -4
  608. package/dist/components/core/users/UserListView.js.map +1 -1
  609. package/dist/components/core/users/UserListView.tsx +6 -6
  610. package/dist/components/layout/AdminHeaderActions.d.ts +8 -0
  611. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -0
  612. package/dist/components/layout/AdminHeaderActions.js +77 -0
  613. package/dist/components/layout/AdminHeaderActions.js.map +1 -0
  614. package/dist/components/layout/AdminHeaderActions.tsx +155 -0
  615. package/dist/components/layout/AdminSidebar.js +1 -1
  616. package/dist/components/layout/AdminSidebar.js.map +1 -1
  617. package/dist/components/layout/AdminSidebar.tsx +1 -1
  618. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  619. package/dist/components/layout/AdminTopHeader.js +14 -5
  620. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  621. package/dist/components/layout/AdminTopHeader.tsx +35 -28
  622. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  623. package/dist/components/layout/AppSidebar.js +2 -1
  624. package/dist/components/layout/AppSidebar.js.map +1 -1
  625. package/dist/components/layout/AppSidebar.tsx +2 -0
  626. package/dist/components/layout/CustomPagination.js +0 -1
  627. package/dist/components/layout/CustomPagination.js.map +1 -1
  628. package/dist/components/layout/CustomPagination.tsx +0 -1
  629. package/dist/components/layout/FilterMenu.js +1 -1
  630. package/dist/components/layout/FilterMenu.js.map +1 -1
  631. package/dist/components/layout/FilterMenu.tsx +4 -4
  632. package/dist/components/layout/Footer.js +1 -1
  633. package/dist/components/layout/Footer.js.map +1 -1
  634. package/dist/components/layout/Footer.tsx +1 -1
  635. package/dist/components/layout/GlobalSearch.js +1 -1
  636. package/dist/components/layout/GlobalSearch.js.map +1 -1
  637. package/dist/components/layout/GlobalSearch.tsx +1 -1
  638. package/dist/components/layout/ListingHeader.js +3 -3
  639. package/dist/components/layout/ListingHeader.js.map +1 -1
  640. package/dist/components/layout/ListingHeader.tsx +4 -4
  641. package/dist/components/layout/Loader.js +1 -1
  642. package/dist/components/layout/Loader.js.map +1 -1
  643. package/dist/components/layout/Loader.tsx +1 -1
  644. package/dist/components/layout/UserSidebar.js +1 -1
  645. package/dist/components/layout/UserSidebar.js.map +1 -1
  646. package/dist/components/layout/UserSidebar.tsx +1 -1
  647. package/dist/components/layout/navbar-one.js +2 -2
  648. package/dist/components/layout/navbar-one.js.map +1 -1
  649. package/dist/components/layout/navbar-one.tsx +8 -8
  650. package/dist/components/layout/navbar-two-menu.js +2 -2
  651. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  652. package/dist/components/layout/navbar-two-menu.tsx +7 -7
  653. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  654. package/dist/components/layout/user-profile-menu.js +57 -33
  655. package/dist/components/layout/user-profile-menu.js.map +1 -1
  656. package/dist/components/layout/user-profile-menu.tsx +11 -59
  657. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +2 -1
  658. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  659. package/dist/components/shad-cn-ui/SolidAutocomplete.js +60 -6
  660. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  661. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +81 -22
  662. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  663. package/dist/components/shad-cn-ui/SolidButton.js +10 -2
  664. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  665. package/dist/components/shad-cn-ui/SolidButton.tsx +10 -2
  666. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
  667. package/dist/components/shad-cn-ui/SolidCodeEditor.js +3 -1
  668. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
  669. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +3 -0
  670. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  671. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  672. package/dist/components/shad-cn-ui/SolidDatePicker.js +2 -2
  673. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  674. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +4 -0
  675. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  676. package/dist/components/shad-cn-ui/SolidDialog.js +38 -4
  677. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  678. package/dist/components/shad-cn-ui/SolidDialog.tsx +47 -3
  679. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -1
  680. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  681. package/dist/components/shad-cn-ui/SolidIcon.js +1 -0
  682. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  683. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -0
  684. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -1
  685. package/dist/components/shad-cn-ui/SolidPasswordInput.js +1 -1
  686. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -1
  687. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +1 -0
  688. package/dist/components/shad-cn-ui/SolidPopover.d.ts +1 -0
  689. package/dist/components/shad-cn-ui/SolidPopover.d.ts.map +1 -1
  690. package/dist/components/shad-cn-ui/SolidPopover.js +124 -5
  691. package/dist/components/shad-cn-ui/SolidPopover.js.map +1 -1
  692. package/dist/components/shad-cn-ui/SolidPopover.tsx +173 -10
  693. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  694. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  695. package/dist/components/shad-cn-ui/SolidSelect.js +51 -1
  696. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  697. package/dist/components/shad-cn-ui/SolidSelect.tsx +95 -0
  698. package/dist/constants/error-messages.d.ts +13 -0
  699. package/dist/constants/error-messages.d.ts.map +1 -1
  700. package/dist/constants/error-messages.js +17 -0
  701. package/dist/constants/error-messages.js.map +1 -1
  702. package/dist/constants/error-messages.ts +15 -0
  703. package/dist/helpers/buttonEnvironment.d.ts +5 -0
  704. package/dist/helpers/buttonEnvironment.d.ts.map +1 -0
  705. package/dist/helpers/buttonEnvironment.js +30 -0
  706. package/dist/helpers/buttonEnvironment.js.map +1 -0
  707. package/dist/helpers/buttonEnvironment.ts +35 -0
  708. package/dist/helpers/buttonPresentation.d.ts +24 -0
  709. package/dist/helpers/buttonPresentation.d.ts.map +1 -0
  710. package/dist/helpers/buttonPresentation.js +28 -0
  711. package/dist/helpers/buttonPresentation.js.map +1 -0
  712. package/dist/helpers/buttonPresentation.ts +53 -0
  713. package/dist/helpers/fileTypeIcon.d.ts +12 -0
  714. package/dist/helpers/fileTypeIcon.d.ts.map +1 -0
  715. package/dist/helpers/fileTypeIcon.js +37 -0
  716. package/dist/helpers/fileTypeIcon.js.map +1 -0
  717. package/dist/helpers/fileTypeIcon.tsx +65 -0
  718. package/dist/helpers/registry.d.ts.map +1 -1
  719. package/dist/helpers/registry.js +28 -10
  720. package/dist/helpers/registry.js.map +1 -1
  721. package/dist/helpers/registry.ts +31 -13
  722. package/dist/helpers/waitForBackendAvailability.d.ts +7 -0
  723. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -0
  724. package/dist/helpers/waitForBackendAvailability.js +86 -0
  725. package/dist/helpers/waitForBackendAvailability.js.map +1 -0
  726. package/dist/helpers/waitForBackendAvailability.ts +37 -0
  727. package/dist/index.d.ts +10 -9
  728. package/dist/index.d.ts.map +1 -1
  729. package/dist/index.js +7 -8
  730. package/dist/index.js.map +1 -1
  731. package/dist/index.ts +34 -13
  732. package/dist/redux/api/dashboardRuntimeApi.d.ts +34 -0
  733. package/dist/redux/api/dashboardRuntimeApi.d.ts.map +1 -0
  734. package/dist/redux/api/dashboardRuntimeApi.js +79 -0
  735. package/dist/redux/api/dashboardRuntimeApi.js.map +1 -0
  736. package/dist/redux/api/dashboardRuntimeApi.ts +75 -0
  737. package/dist/redux/api/moduleApi.d.ts +26 -1
  738. package/dist/redux/api/moduleApi.d.ts.map +1 -1
  739. package/dist/redux/api/moduleApi.js +237 -1
  740. package/dist/redux/api/moduleApi.js.map +1 -1
  741. package/dist/redux/api/moduleApi.ts +181 -1
  742. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  743. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  744. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  745. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  746. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  747. package/dist/redux/store/defaultStoreConfig.d.ts +57 -9
  748. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  749. package/dist/redux/store/defaultStoreConfig.js +2 -6
  750. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  751. package/dist/redux/store/defaultStoreConfig.ts +2 -6
  752. package/dist/redux/store/solidEntityApiPool.d.ts +1 -0
  753. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  754. package/dist/redux/store/solidEntityApiPool.js +4 -0
  755. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  756. package/dist/redux/store/solidEntityApiPool.ts +4 -0
  757. package/dist/resources/globals.css +195 -20
  758. package/dist/resources/shadcn-base.css +408 -183
  759. package/dist/resources/solid-custom.css +6565 -0
  760. package/dist/resources/solid-primereact.css +14 -12
  761. package/dist/resources/solid-responsive.css +259 -51
  762. package/dist/resources/solid-tailwind-generated.css +1 -0
  763. package/dist/resources/solid-tailwind.css +3 -0
  764. package/dist/routes/AppEventListener.d.ts.map +1 -1
  765. package/dist/routes/AppEventListener.js +58 -8
  766. package/dist/routes/AppEventListener.js.map +1 -1
  767. package/dist/routes/AppEventListener.tsx +69 -8
  768. package/dist/routes/SolidRouteMetadataBoundary.d.ts +5 -0
  769. package/dist/routes/SolidRouteMetadataBoundary.d.ts.map +1 -0
  770. package/dist/routes/SolidRouteMetadataBoundary.js +72 -0
  771. package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -0
  772. package/dist/routes/SolidRouteMetadataBoundary.tsx +77 -0
  773. package/dist/routes/pages/admin/core/DashboardPage.d.ts +1 -0
  774. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  775. package/dist/routes/pages/admin/core/DashboardPage.js +860 -5
  776. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  777. package/dist/routes/pages/admin/core/DashboardPage.module.css +219 -0
  778. package/dist/routes/pages/admin/core/DashboardPage.tsx +1025 -7
  779. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts +2 -0
  780. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts.map +1 -0
  781. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js +6 -0
  782. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js.map +1 -0
  783. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.tsx +5 -0
  784. package/dist/routes/pages/auth/SsoPage.js +1 -1
  785. package/dist/routes/pages/auth/SsoPage.js.map +1 -1
  786. package/dist/routes/pages/auth/SsoPage.tsx +1 -1
  787. package/dist/routes/solidRoutes.d.ts.map +1 -1
  788. package/dist/routes/solidRoutes.js +48 -27
  789. package/dist/routes/solidRoutes.js.map +1 -1
  790. package/dist/routes/solidRoutes.tsx +48 -27
  791. package/dist/routes/types.d.ts +8 -1
  792. package/dist/routes/types.d.ts.map +1 -1
  793. package/dist/routes/types.js.map +1 -1
  794. package/dist/routes/types.ts +9 -1
  795. package/dist/styles.d.ts +2 -1
  796. package/dist/styles.d.ts.map +1 -1
  797. package/dist/styles.js +2 -1
  798. package/dist/styles.js.map +1 -1
  799. package/dist/styles.ts +2 -1
  800. package/dist/types/dashboard.d.ts +16 -0
  801. package/dist/types/dashboard.d.ts.map +1 -0
  802. package/dist/types/dashboard.js +2 -0
  803. package/dist/types/dashboard.js.map +1 -0
  804. package/dist/types/dashboard.ts +23 -0
  805. package/dist/types/extension-registry.d.ts +1 -0
  806. package/dist/types/extension-registry.d.ts.map +1 -1
  807. package/dist/types/extension-registry.js +1 -0
  808. package/dist/types/extension-registry.js.map +1 -1
  809. package/dist/types/extension-registry.ts +1 -0
  810. package/dist/types/index.d.ts +3 -0
  811. package/dist/types/jsoneditor.d.ts +4 -0
  812. package/dist/types/solid-core.d.ts +1 -0
  813. package/package.json +9 -3
@@ -34,6 +34,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
35
  }
36
36
  };
37
+ var __rest = (this && this.__rest) || function (s, e) {
38
+ var t = {};
39
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
40
+ t[p] = s[p];
41
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
42
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
43
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
44
+ t[p[i]] = s[p[i]];
45
+ }
46
+ return t;
47
+ };
37
48
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
38
49
  import { Download, FileSpreadsheet, MoveRight } from 'lucide-react';
39
50
  import styles from './SolidImport.module.css';
@@ -105,8 +116,9 @@ export var SolidImportInstructions = function (_a) {
105
116
  }); };
106
117
  var customInstructions = (_c = (_b = importInstructionsData === null || importInstructionsData === void 0 ? void 0 : importInstructionsData.data) === null || _b === void 0 ? void 0 : _b.custom) !== null && _c !== void 0 ? _c : [];
107
118
  var standardInstructions = (_e = (_d = importInstructionsData === null || importInstructionsData === void 0 ? void 0 : importInstructionsData.data) === null || _d === void 0 ? void 0 : _d.standard) !== null && _e !== void 0 ? _e : {};
119
+ var _h = standardInstructions, dateFieldFormat = _h.dateFieldFormat, dateTimeFieldFormat = _h.dateTimeFieldFormat, instructionGroups = __rest(_h, ["dateFieldFormat", "dateTimeFieldFormat"]);
108
120
  return (_jsxs("div", { children: [_jsx("div", { className: styles.SolidImportContextWrapper, children: isLoading ? (_jsx("div", { className: "solid-import-loading-state", children: _jsx(SolidSpinner, { size: 22, label: "Loading import instructions" }) })) : isError ? (_jsxs("div", { className: 'solid-import-empty-state', children: [_jsx("h4", { className: 'text-center px-2', children: "Could not load import instructions" }), _jsx("p", { children: "Try again or continue if you already know the expected format." })] })) : (_jsxs("div", { className: "solid-import-panel-grid ".concat(customInstructions.length === 0 ? 'is-single-column' : ''), children: [_jsxs("div", { className: "solid-import-panel solid-import-panel-main ".concat(customInstructions.length > 0 ? 'has-side-panel' : 'is-full-width'), children: [_jsx("h5", { className: 'solid-import-section-title', children: "Standard Instructions" }), _jsxs("ol", { className: 'solid-import-instruction-list', children: [_jsxs("li", { children: [_jsx("p", { className: 'solid-import-instruction-title', children: "Download a starter template" }), _jsxs("div", { className: 'solid-import-template-actions', children: [_jsx(SolidButton, { type: "button", variant: "outline", size: "sm", leftIcon: _jsx(Download, { size: 14 }), onClick: function () { return handleTemplateDownload('csv'); }, children: "CSV Template" }), _jsx(SolidButton, { type: "button", variant: "outline", size: "sm", leftIcon: _jsx(FileSpreadsheet, { size: 14 }), onClick: function () { return handleTemplateDownload('excel'); }, children: "Excel Template" })] })] }), (function () {
109
- return (Object.entries(standardInstructions)
121
+ return (Object.entries(instructionGroups)
110
122
  .map(function (_a) {
111
123
  var key = _a[0], values = _a[1];
112
124
  if (!(values === null || values === void 0 ? void 0 : values.length))
@@ -114,6 +126,12 @@ export var SolidImportInstructions = function (_a) {
114
126
  var titleCaseKey = key
115
127
  .replace(/([A-Z])/g, ' $1')
116
128
  .replace(/^./, function (str) { return str.toUpperCase(); });
129
+ if (key === 'dateFields' && dateFieldFormat) {
130
+ titleCaseKey = "".concat(titleCaseKey, " (Format: ").concat(dateFieldFormat, ")");
131
+ }
132
+ if (key === 'dateTimeFields' && dateTimeFieldFormat) {
133
+ titleCaseKey = "".concat(titleCaseKey, " (Format: ").concat(dateTimeFieldFormat, ")");
134
+ }
117
135
  var rendered = (_jsxs("li", { className: 'solid-import-instruction-item', children: [_jsx("p", { className: 'solid-import-instruction-title', children: titleCaseKey }), _jsx("div", { className: 'solid-import-instruction-copy solid-import-inline-token-list', children: values.map(function (item, i) { return (_jsx("span", { className: 'solid-import-inline-token', children: typeof item === 'string'
118
136
  ? item
119
137
  : (item === null || item === void 0 ? void 0 : item.fieldName)
@@ -1 +1 @@
1
- {"version":3,"file":"SolidImportInstructions.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportInstructions.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Download, FileSpreadsheet, MoveRight } from 'lucide-react';\nimport styles from './SolidImport.module.css'\nimport { useLazyGetImportInstructionsQuery } from '../../../../redux/api/importTransactionApi';\nimport { useEffect } from 'react';\nimport { getSession } from \"../../../../adapters/auth/index\";\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { env } from \"../../../../adapters/env\";\nimport { SolidButton, SolidSpinner } from '../../../shad-cn-ui';\n\nexport const SolidImportInstructions = ({ setImportStep, listViewMetaData }: any) => {\n const [getImportInstructions, { data: importInstructionsData, isLoading, isError }] =\n useLazyGetImportInstructionsQuery();\n\n useEffect(() => {\n if (listViewMetaData && listViewMetaData?.data?.solidView?.model?.id) {\n getImportInstructions({ id: listViewMetaData?.data?.solidView?.model?.id });\n }\n }, [listViewMetaData, getImportInstructions]);\n\n const handleTemplateDownload = async (format: 'csv' | 'excel') => {\n const modelId = listViewMetaData?.data?.solidView?.model?.id;\n if (!modelId) return;\n try {\n const session: any = await getSession();\n const token = session?.user?.accessToken || \"\";\n if (!token) {\n throw new Error(ERROR_MESSAGES.NO_AUTH_TOKEN_FOUND);\n }\n const response = await fetch(\n `${env(\"API_URL\")}/api/import-transaction/import-template/${modelId}/${format}`,\n {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n }\n }\n );\n\n if (!response.ok) {\n throw new Error(ERROR_MESSAGES.FILE_DOWNLOAD_FAILED);\n }\n\n const blob = await response.blob();\n const url = window.URL.createObjectURL(blob);\n\n const link = document.createElement('a');\n link.href = url;\n link.download = `import-template.${format === 'csv' ? 'csv' : 'xlsx'}`;\n document.body.appendChild(link);\n link.click();\n link.remove();\n window.URL.revokeObjectURL(url);\n } catch (error) {\n console.error(ERROR_MESSAGES.DOWNLOAD_FAILED, error);\n }\n };\n\n const customInstructions = importInstructionsData?.data?.custom ?? [];\n const standardInstructions = importInstructionsData?.data?.standard ?? {};\n\n return (\n <div>\n <div className={styles.SolidImportContextWrapper}>\n {isLoading ? (\n <div className=\"solid-import-loading-state\">\n <SolidSpinner size={22} label=\"Loading import instructions\" />\n </div>\n ) : isError ? (\n <div className='solid-import-empty-state'>\n <h4 className='text-center px-2'>Could not load import instructions</h4>\n <p>Try again or continue if you already know the expected format.</p>\n </div>\n ) : (\n <div className={`solid-import-panel-grid ${customInstructions.length === 0 ? 'is-single-column' : ''}`}>\n <div className={`solid-import-panel solid-import-panel-main ${customInstructions.length > 0 ? 'has-side-panel' : 'is-full-width'}`}>\n <h5 className='solid-import-section-title'>Standard Instructions</h5>\n <ol className='solid-import-instruction-list'>\n <li>\n <p className='solid-import-instruction-title'>Download a starter template</p>\n <div className='solid-import-template-actions'>\n <SolidButton type=\"button\" variant=\"outline\" size=\"sm\" leftIcon={<Download size={14} />} onClick={() => handleTemplateDownload('csv')}>\n CSV Template\n </SolidButton>\n <SolidButton type=\"button\" variant=\"outline\" size=\"sm\" leftIcon={<FileSpreadsheet size={14} />} onClick={() => handleTemplateDownload('excel')}>\n Excel Template\n </SolidButton>\n </div>\n </li>\n {(() => {\n return (\n Object.entries(standardInstructions as Record<string, string[]>)\n .map(([key, values]) => {\n if (!values?.length) return null;\n\n const titleCaseKey = key\n .replace(/([A-Z])/g, ' $1')\n .replace(/^./, str => str.toUpperCase());\n\n const rendered = (\n <li key={key} className='solid-import-instruction-item'>\n <p className='solid-import-instruction-title'>\n {titleCaseKey}\n </p>\n <div className='solid-import-instruction-copy solid-import-inline-token-list'>\n {values.map((item: any, i) => (\n <span key={i} className='solid-import-inline-token'>\n {typeof item === 'string'\n ? item\n : item?.fieldName\n ? `${item.fieldName} (Regex: ${item.regexPattern})`\n : JSON.stringify(item)}\n </span>\n ))}\n </div>\n </li>\n );\n return rendered;\n })\n );\n })()}\n </ol>\n </div>\n {customInstructions.length > 0 &&\n <div className='solid-import-panel solid-import-panel-side'>\n <h5 className='solid-primary-black-text solid-import-section-title'>Custom Instructions</h5>\n <div className='solid-import-instruction-copy'>\n {customInstructions.map((instruction: any, index: number) => (\n <p key={index} className='solid-import-custom-instruction'>\n {typeof instruction === \"string\" ? instruction : JSON.stringify(instruction)}\n </p>\n ))}\n </div>\n </div>\n }\n </div>\n )}\n </div>\n <div className='solid-import-actions'>\n <p className=\"solid-import-actions-copy\">Review the template guidance before uploading your file.</p>\n <SolidButton type=\"button\" size='sm' onClick={() => setImportStep(2)} rightIcon={<MoveRight size={14} />}>\n Continue\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidImportInstructions.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportInstructions.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Download, FileSpreadsheet, MoveRight } from 'lucide-react';\nimport styles from './SolidImport.module.css'\nimport { useLazyGetImportInstructionsQuery } from '../../../../redux/api/importTransactionApi';\nimport { useEffect } from 'react';\nimport { getSession } from \"../../../../adapters/auth/index\";\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { env } from \"../../../../adapters/env\";\nimport { SolidButton, SolidSpinner } from '../../../shad-cn-ui';\n\nexport const SolidImportInstructions = ({ setImportStep, listViewMetaData }: any) => {\n const [getImportInstructions, { data: importInstructionsData, isLoading, isError }] =\n useLazyGetImportInstructionsQuery();\n\n useEffect(() => {\n if (listViewMetaData && listViewMetaData?.data?.solidView?.model?.id) {\n getImportInstructions({ id: listViewMetaData?.data?.solidView?.model?.id });\n }\n }, [listViewMetaData, getImportInstructions]);\n\n const handleTemplateDownload = async (format: 'csv' | 'excel') => {\n const modelId = listViewMetaData?.data?.solidView?.model?.id;\n if (!modelId) return;\n try {\n const session: any = await getSession();\n const token = session?.user?.accessToken || \"\";\n if (!token) {\n throw new Error(ERROR_MESSAGES.NO_AUTH_TOKEN_FOUND);\n }\n const response = await fetch(\n `${env(\"API_URL\")}/api/import-transaction/import-template/${modelId}/${format}`,\n {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n }\n }\n );\n\n if (!response.ok) {\n throw new Error(ERROR_MESSAGES.FILE_DOWNLOAD_FAILED);\n }\n\n const blob = await response.blob();\n const url = window.URL.createObjectURL(blob);\n\n const link = document.createElement('a');\n link.href = url;\n link.download = `import-template.${format === 'csv' ? 'csv' : 'xlsx'}`;\n document.body.appendChild(link);\n link.click();\n link.remove();\n window.URL.revokeObjectURL(url);\n } catch (error) {\n console.error(ERROR_MESSAGES.DOWNLOAD_FAILED, error);\n }\n };\n\n const customInstructions = importInstructionsData?.data?.custom ?? [];\n const standardInstructions = importInstructionsData?.data?.standard ?? {};\n const {\n dateFieldFormat,\n dateTimeFieldFormat,\n ...instructionGroups\n } = standardInstructions as Record<string, any>;\n\n return (\n <div>\n <div className={styles.SolidImportContextWrapper}>\n {isLoading ? (\n <div className=\"solid-import-loading-state\">\n <SolidSpinner size={22} label=\"Loading import instructions\" />\n </div>\n ) : isError ? (\n <div className='solid-import-empty-state'>\n <h4 className='text-center px-2'>Could not load import instructions</h4>\n <p>Try again or continue if you already know the expected format.</p>\n </div>\n ) : (\n <div className={`solid-import-panel-grid ${customInstructions.length === 0 ? 'is-single-column' : ''}`}>\n <div className={`solid-import-panel solid-import-panel-main ${customInstructions.length > 0 ? 'has-side-panel' : 'is-full-width'}`}>\n <h5 className='solid-import-section-title'>Standard Instructions</h5>\n <ol className='solid-import-instruction-list'>\n <li>\n <p className='solid-import-instruction-title'>Download a starter template</p>\n <div className='solid-import-template-actions'>\n <SolidButton type=\"button\" variant=\"outline\" size=\"sm\" leftIcon={<Download size={14} />} onClick={() => handleTemplateDownload('csv')}>\n CSV Template\n </SolidButton>\n <SolidButton type=\"button\" variant=\"outline\" size=\"sm\" leftIcon={<FileSpreadsheet size={14} />} onClick={() => handleTemplateDownload('excel')}>\n Excel Template\n </SolidButton>\n </div>\n </li>\n {(() => {\n return (\n Object.entries(instructionGroups)\n .map(([key, values]) => {\n if (!values?.length) return null;\n\n let titleCaseKey = key\n .replace(/([A-Z])/g, ' $1')\n .replace(/^./, str => str.toUpperCase());\n\n if (key === 'dateFields' && dateFieldFormat) {\n titleCaseKey = `${titleCaseKey} (Format: ${dateFieldFormat})`;\n }\n\n if (key === 'dateTimeFields' && dateTimeFieldFormat) {\n titleCaseKey = `${titleCaseKey} (Format: ${dateTimeFieldFormat})`;\n }\n\n const rendered = (\n <li key={key} className='solid-import-instruction-item'>\n <p className='solid-import-instruction-title'>\n {titleCaseKey}\n </p>\n <div className='solid-import-instruction-copy solid-import-inline-token-list'>\n {values.map((item: any, i: number) => (\n <span key={i} className='solid-import-inline-token'>\n {typeof item === 'string'\n ? item\n : item?.fieldName\n ? `${item.fieldName} (Regex: ${item.regexPattern})`\n : JSON.stringify(item)}\n </span>\n ))}\n </div>\n </li>\n );\n return rendered;\n })\n );\n })()}\n </ol>\n </div>\n {customInstructions.length > 0 &&\n <div className='solid-import-panel solid-import-panel-side'>\n <h5 className='solid-primary-black-text solid-import-section-title'>Custom Instructions</h5>\n <div className='solid-import-instruction-copy'>\n {customInstructions.map((instruction: any, index: number) => (\n <p key={index} className='solid-import-custom-instruction'>\n {typeof instruction === \"string\" ? instruction : JSON.stringify(instruction)}\n </p>\n ))}\n </div>\n </div>\n }\n </div>\n )}\n </div>\n <div className='solid-import-actions'>\n <p className=\"solid-import-actions-copy\">Review the template guidance before uploading your file.</p>\n <SolidButton type=\"button\" size='sm' onClick={() => setImportStep(2)} rightIcon={<MoveRight size={14} />}>\n Continue\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
@@ -57,6 +57,11 @@ export const SolidImportInstructions = ({ setImportStep, listViewMetaData }: any
57
57
 
58
58
  const customInstructions = importInstructionsData?.data?.custom ?? [];
59
59
  const standardInstructions = importInstructionsData?.data?.standard ?? {};
60
+ const {
61
+ dateFieldFormat,
62
+ dateTimeFieldFormat,
63
+ ...instructionGroups
64
+ } = standardInstructions as Record<string, any>;
60
65
 
61
66
  return (
62
67
  <div>
@@ -88,21 +93,29 @@ export const SolidImportInstructions = ({ setImportStep, listViewMetaData }: any
88
93
  </li>
89
94
  {(() => {
90
95
  return (
91
- Object.entries(standardInstructions as Record<string, string[]>)
96
+ Object.entries(instructionGroups)
92
97
  .map(([key, values]) => {
93
98
  if (!values?.length) return null;
94
99
 
95
- const titleCaseKey = key
100
+ let titleCaseKey = key
96
101
  .replace(/([A-Z])/g, ' $1')
97
102
  .replace(/^./, str => str.toUpperCase());
98
103
 
104
+ if (key === 'dateFields' && dateFieldFormat) {
105
+ titleCaseKey = `${titleCaseKey} (Format: ${dateFieldFormat})`;
106
+ }
107
+
108
+ if (key === 'dateTimeFields' && dateTimeFieldFormat) {
109
+ titleCaseKey = `${titleCaseKey} (Format: ${dateTimeFieldFormat})`;
110
+ }
111
+
99
112
  const rendered = (
100
113
  <li key={key} className='solid-import-instruction-item'>
101
114
  <p className='solid-import-instruction-title'>
102
115
  {titleCaseKey}
103
116
  </p>
104
117
  <div className='solid-import-instruction-copy solid-import-inline-token-list'>
105
- {values.map((item: any, i) => (
118
+ {values.map((item: any, i: number) => (
106
119
  <span key={i} className='solid-import-inline-token'>
107
120
  {typeof item === 'string'
108
121
  ? item
@@ -1 +1 @@
1
- {"version":3,"file":"SolidImportTransaction.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportTransaction.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB,4DAA6D,GAAG,4CAkLlG,CAAA"}
1
+ {"version":3,"file":"SolidImportTransaction.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportTransaction.tsx"],"names":[],"mappings":"AAmFA,eAAO,MAAM,sBAAsB,4DAA6D,GAAG,4CA4QlG,CAAA"}
@@ -46,7 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
49
- import { CircleX, MoveRight } from 'lucide-react';
49
+ import { AlertTriangle, CircleX, MoveRight } from 'lucide-react';
50
50
  import styles from './SolidImport.module.css';
51
51
  import { useCreateImportSyncMutation, useLazyGetImportMappingInfoQuery, usePatchUpdateImportTransactionMutation } from '../../../../redux/api/importTransactionApi';
52
52
  import { useEffect, useState } from 'react';
@@ -54,15 +54,76 @@ import { useDispatch } from 'react-redux';
54
54
  import { showToast } from '../../../../redux/features/toastSlice';
55
55
  import { ERROR_MESSAGES } from '../../../../constants/error-messages';
56
56
  import { SolidButton, SolidSelect, SolidSpinner } from '../../../shad-cn-ui';
57
+ var getImportMessage = function (value, fallback) {
58
+ var _a, _b;
59
+ if (Array.isArray(value)) {
60
+ var normalized = value.map(function (item) { return getImportMessage(item, ""); }).filter(function (item) { return item.trim() !== ""; });
61
+ return normalized.length > 0 ? normalized.join(", ") : fallback;
62
+ }
63
+ if (value && typeof value === "object") {
64
+ var errorValue = (_b = (_a = value.error) !== null && _a !== void 0 ? _a : value.message) !== null && _b !== void 0 ? _b : value.detail;
65
+ if (errorValue !== undefined) {
66
+ return getImportMessage(errorValue, fallback);
67
+ }
68
+ try {
69
+ return JSON.stringify(value);
70
+ }
71
+ catch (_c) {
72
+ return fallback;
73
+ }
74
+ }
75
+ if (value === undefined || value === null || value === "") {
76
+ return fallback;
77
+ }
78
+ return String(value);
79
+ };
80
+ var getSampleCellPreview = function (value) {
81
+ if (value === undefined || value === null || value === "") {
82
+ return ERROR_MESSAGES.IMPORT_NO_SAMPLE_VALUE;
83
+ }
84
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") {
85
+ return String(value);
86
+ }
87
+ if (Array.isArray(value)) {
88
+ var normalized = value
89
+ .map(function (item) { return getSampleCellPreview(item); })
90
+ .filter(function (item) { return item !== ERROR_MESSAGES.IMPORT_NO_SAMPLE_VALUE; });
91
+ return normalized.length > 0 ? normalized.join(", ") : ERROR_MESSAGES.IMPORT_NO_SAMPLE_VALUE;
92
+ }
93
+ if (value instanceof Date) {
94
+ return value.toISOString();
95
+ }
96
+ if (typeof value === "object") {
97
+ if ("result" in value && value.result !== undefined && value.result !== null) {
98
+ return getSampleCellPreview(value.result);
99
+ }
100
+ if ("value" in value && value.value !== undefined && value.value !== null) {
101
+ return getSampleCellPreview(value.value);
102
+ }
103
+ if ("label" in value && typeof value.label === "string") {
104
+ return value.label;
105
+ }
106
+ if ("formula" in value && typeof value.formula === "string") {
107
+ return value.formula;
108
+ }
109
+ try {
110
+ return JSON.stringify(value);
111
+ }
112
+ catch (_a) {
113
+ return ERROR_MESSAGES.IMPORT_UNSUPPORTED_SAMPLE_VALUE;
114
+ }
115
+ }
116
+ return String(value);
117
+ };
57
118
  export var SolidImportTransaction = function (_a) {
58
- var _b, _c, _d, _e, _f, _g;
119
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k;
59
120
  var setImportStatusResult = _a.setImportStatusResult, transactionId = _a.transactionId, setImportStep = _a.setImportStep;
60
121
  var dispatch = useDispatch();
61
- var _h = useLazyGetImportMappingInfoQuery(), trigger = _h[0], _j = _h[1], mappingInfo = _j.data, isLoading = _j.isLoading;
122
+ var _l = useLazyGetImportMappingInfoQuery(), trigger = _l[0], _m = _l[1], mappingInfo = _m.data, isLoading = _m.isLoading, isMappingInfoError = _m.isError, mappingInfoError = _m.error;
62
123
  var patchUpdateImportTransaction = usePatchUpdateImportTransactionMutation()[0];
63
- var _k = useCreateImportSyncMutation(), createImportSync = _k[0], isImporting = _k[1].isLoading;
64
- var _l = useState({}), fieldMapping = _l[0], setFieldMapping = _l[1];
65
- var _m = useState([]), visibleHeaders = _m[0], setVisibleHeaders = _m[1];
124
+ var _o = useCreateImportSyncMutation(), createImportSync = _o[0], isImporting = _o[1].isLoading;
125
+ var _p = useState({}), fieldMapping = _p[0], setFieldMapping = _p[1];
126
+ var _q = useState([]), visibleHeaders = _q[0], setVisibleHeaders = _q[1];
66
127
  useEffect(function () {
67
128
  if (transactionId) {
68
129
  trigger({ id: transactionId });
@@ -79,7 +140,8 @@ export var SolidImportTransaction = function (_a) {
79
140
  setFieldMapping(defaultMapping);
80
141
  setVisibleHeaders(headers);
81
142
  }, [mappingInfo === null || mappingInfo === void 0 ? void 0 : mappingInfo.data]);
82
- var dropdownOptions = ((_c = (_b = mappingInfo === null || mappingInfo === void 0 ? void 0 : mappingInfo.data) === null || _b === void 0 ? void 0 : _b.importableFields) !== null && _c !== void 0 ? _c : []).map(function (field) { return ({
143
+ var importableFields = (_c = (_b = mappingInfo === null || mappingInfo === void 0 ? void 0 : mappingInfo.data) === null || _b === void 0 ? void 0 : _b.importableFields) !== null && _c !== void 0 ? _c : [];
144
+ var dropdownOptions = importableFields.map(function (field) { return ({
83
145
  label: field.displayName,
84
146
  value: field.name,
85
147
  }); });
@@ -97,14 +159,69 @@ export var SolidImportTransaction = function (_a) {
97
159
  return updated;
98
160
  });
99
161
  };
162
+ var visibleMappingEntries = Object.entries(fieldMapping).filter(function (_a) {
163
+ var header = _a[0];
164
+ return visibleHeaders.includes(header);
165
+ });
166
+ var mappedEntries = visibleMappingEntries.filter(function (_a) {
167
+ var fieldName = _a[1];
168
+ return typeof fieldName === "string" && fieldName.trim() !== "";
169
+ });
170
+ var mappedFieldCounts = mappedEntries.reduce(function (acc, _a) {
171
+ var _b;
172
+ var fieldName = _a[1];
173
+ var normalizedFieldName = fieldName.trim();
174
+ acc[normalizedFieldName] = ((_b = acc[normalizedFieldName]) !== null && _b !== void 0 ? _b : 0) + 1;
175
+ return acc;
176
+ }, {});
177
+ var duplicateMappedFieldNames = Object.entries(mappedFieldCounts)
178
+ .filter(function (_a) {
179
+ var count = _a[1];
180
+ return count > 1;
181
+ })
182
+ .map(function (_a) {
183
+ var fieldName = _a[0];
184
+ return fieldName;
185
+ });
186
+ var requiredImportableFields = importableFields.filter(function (field) { return field.required; });
187
+ var missingRequiredFields = requiredImportableFields.filter(function (field) { return !mappedFieldCounts[field.name]; });
188
+ var totalImportableFieldCount = importableFields.length;
189
+ var mappedImportableFieldCount = Object.keys(mappedFieldCounts).length;
190
+ var unmappedImportableFieldCount = Math.max(totalImportableFieldCount - mappedImportableFieldCount, 0);
100
191
  var handleImportTransaction = function () { return __awaiter(void 0, void 0, void 0, function () {
101
192
  var mappingArray, patchData, patchResult, importResult, importError_1, error_1, errorMessage;
102
193
  var _a, _b, _c, _d;
103
194
  return __generator(this, function (_e) {
104
195
  switch (_e.label) {
105
196
  case 0:
106
- _e.trys.push([0, 6, , 7]);
107
- mappingArray = Object.entries(fieldMapping).map(function (_a) {
197
+ if (mappedEntries.length === 0) {
198
+ dispatch(showToast({
199
+ severity: "error",
200
+ summary: ERROR_MESSAGES.IMPORT_ERROR,
201
+ detail: ERROR_MESSAGES.IMPORT_NO_MATCHED_COLUMNS,
202
+ }));
203
+ return [2 /*return*/];
204
+ }
205
+ if (duplicateMappedFieldNames.length > 0) {
206
+ dispatch(showToast({
207
+ severity: "error",
208
+ summary: ERROR_MESSAGES.IMPORT_ERROR,
209
+ detail: ERROR_MESSAGES.IMPORT_DUPLICATE_FIELD_MAPPING,
210
+ }));
211
+ return [2 /*return*/];
212
+ }
213
+ if (missingRequiredFields.length > 0) {
214
+ dispatch(showToast({
215
+ severity: "error",
216
+ summary: ERROR_MESSAGES.IMPORT_ERROR,
217
+ detail: ERROR_MESSAGES.IMPORT_REQUIRED_FIELD_MAPPING_MESSAGE(missingRequiredFields.length),
218
+ }));
219
+ return [2 /*return*/];
220
+ }
221
+ _e.label = 1;
222
+ case 1:
223
+ _e.trys.push([1, 7, , 8]);
224
+ mappingArray = mappedEntries.map(function (_a) {
108
225
  var header = _a[0], fieldName = _a[1];
109
226
  return ({
110
227
  header: header,
@@ -119,14 +236,14 @@ export var SolidImportTransaction = function (_a) {
119
236
  id: transactionId,
120
237
  data: patchData,
121
238
  }).unwrap()];
122
- case 1:
123
- patchResult = _e.sent();
124
- if (!((patchResult === null || patchResult === void 0 ? void 0 : patchResult.statusCode) === 200)) return [3 /*break*/, 5];
125
- _e.label = 2;
126
239
  case 2:
127
- _e.trys.push([2, 4, , 5]);
128
- return [4 /*yield*/, createImportSync({ id: transactionId }).unwrap()];
240
+ patchResult = _e.sent();
241
+ if (!((patchResult === null || patchResult === void 0 ? void 0 : patchResult.statusCode) === 200)) return [3 /*break*/, 6];
242
+ _e.label = 3;
129
243
  case 3:
244
+ _e.trys.push([3, 5, , 6]);
245
+ return [4 /*yield*/, createImportSync({ id: transactionId }).unwrap()];
246
+ case 4:
130
247
  importResult = _e.sent();
131
248
  if (((_a = importResult === null || importResult === void 0 ? void 0 : importResult.data) === null || _a === void 0 ? void 0 : _a.status) === "import_succeeded") {
132
249
  setImportStatusResult(importResult);
@@ -136,27 +253,52 @@ export var SolidImportTransaction = function (_a) {
136
253
  setImportStatusResult(importResult);
137
254
  setImportStep(4);
138
255
  }
139
- return [3 /*break*/, 5];
140
- case 4:
256
+ return [3 /*break*/, 6];
257
+ case 5:
141
258
  importError_1 = _e.sent();
142
259
  dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.IMPORT_ERROR, detail: (_c = importError_1 === null || importError_1 === void 0 ? void 0 : importError_1.data) === null || _c === void 0 ? void 0 : _c.error }));
143
- return [3 /*break*/, 5];
144
- case 5: return [3 /*break*/, 7];
145
- case 6:
260
+ return [3 /*break*/, 6];
261
+ case 6: return [3 /*break*/, 8];
262
+ case 7:
146
263
  error_1 = _e.sent();
147
264
  errorMessage = ((_d = error_1 === null || error_1 === void 0 ? void 0 : error_1.data) === null || _d === void 0 ? void 0 : _d.error) || ERROR_MESSAGES.SOMETHING_WRONG;
148
265
  dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.ERROR, detail: errorMessage }));
149
- return [3 /*break*/, 7];
150
- case 7: return [2 /*return*/];
266
+ return [3 /*break*/, 8];
267
+ case 8: return [2 /*return*/];
151
268
  }
152
269
  });
153
270
  }); };
154
271
  var sampleRecords = (_e = (_d = mappingInfo === null || mappingInfo === void 0 ? void 0 : mappingInfo.data) === null || _d === void 0 ? void 0 : _d.sampleImportedRecordInfo) !== null && _e !== void 0 ? _e : [];
155
272
  var visibleSampleRecords = sampleRecords === null || sampleRecords === void 0 ? void 0 : sampleRecords.filter(function (sample) { return visibleHeaders.includes(sample.cellHeader); });
156
- return (_jsxs("div", { children: [_jsx("div", { className: styles.SolidImportContextWrapper, children: isLoading ? (_jsx("div", { className: "solid-import-loading-state", children: _jsx(SolidSpinner, { size: 22, label: "Loading mapping info" }) })) : visibleSampleRecords.length > 0 ? (_jsxs("div", { className: 'solid-import-mapping-shell', children: [_jsxs("div", { className: "solid-import-mapping-intro", children: [_jsxs("div", { children: [_jsx("h5", { className: 'solid-primary-black-text solid-import-section-title', children: "Map file columns" }), _jsx("p", { className: 'solid-import-section-copy m-0', children: "Match each incoming column to the correct SolidX field before the import runs." })] }), _jsxs("div", { className: "solid-import-mapping-count", children: [visibleSampleRecords.length, " column", visibleSampleRecords.length > 1 ? 's' : ''] })] }), _jsxs("div", { className: 'solid-import-mapping-table', children: [_jsxs("div", { className: "solid-import-mapping-head ".concat(styles.ImportTableHeader), children: [_jsx("div", { className: "solid-import-mapping-head-cell", children: "File Column" }), _jsx("div", { className: "solid-import-mapping-head-cell", children: "SolidX Field" })] }), _jsx("div", { className: "solid-import-mapping-body", children: visibleSampleRecords.map(function (sample) {
157
- var fieldMeta = mappingInfo.data.importableFields.find(function (f) { return f.name === fieldMapping[sample.cellHeader]; });
273
+ var autoMappedCount = sampleRecords.filter(function (sample) {
274
+ return typeof (sample === null || sample === void 0 ? void 0 : sample.defaultMappedFieldName) === "string" && sample.defaultMappedFieldName.trim() !== "";
275
+ }).length;
276
+ var mappingWarningMessage = null;
277
+ var mappingWarningTitle = null;
278
+ if (visibleSampleRecords.length > 0) {
279
+ if (duplicateMappedFieldNames.length > 0) {
280
+ mappingWarningTitle = ERROR_MESSAGES.IMPORT_MAPPING_INCOMPLETE_TITLE;
281
+ mappingWarningMessage = ERROR_MESSAGES.IMPORT_DUPLICATE_FIELD_MAPPING;
282
+ }
283
+ else if (missingRequiredFields.length > 0) {
284
+ mappingWarningTitle = ERROR_MESSAGES.IMPORT_REQUIRED_FIELD_MAPPING_TITLE;
285
+ mappingWarningMessage = ERROR_MESSAGES.IMPORT_REQUIRED_FIELD_MAPPING_MESSAGE(missingRequiredFields.length);
286
+ }
287
+ else if (autoMappedCount === 0 && mappedImportableFieldCount === 0) {
288
+ mappingWarningTitle = ERROR_MESSAGES.IMPORT_TEMPLATE_MISMATCH_TITLE;
289
+ mappingWarningMessage = ERROR_MESSAGES.IMPORT_TEMPLATE_MISMATCH_MESSAGE;
290
+ }
291
+ else if (unmappedImportableFieldCount > 0) {
292
+ mappingWarningTitle = ERROR_MESSAGES.IMPORT_MAPPING_INCOMPLETE_TITLE;
293
+ mappingWarningMessage = ERROR_MESSAGES.IMPORT_MAPPING_INCOMPLETE_MESSAGE(unmappedImportableFieldCount);
294
+ }
295
+ }
296
+ var mappingErrorMessage = getImportMessage((_g = (_f = mappingInfoError === null || mappingInfoError === void 0 ? void 0 : mappingInfoError.data) === null || _f === void 0 ? void 0 : _f.error) !== null && _g !== void 0 ? _g : (_h = mappingInfoError === null || mappingInfoError === void 0 ? void 0 : mappingInfoError.data) === null || _h === void 0 ? void 0 : _h.message, ERROR_MESSAGES.IMPORT_FILE_READ_FAILED);
297
+ return (_jsxs("div", { children: [_jsx("div", { className: styles.SolidImportContextWrapper, children: isLoading ? (_jsx("div", { className: "solid-import-loading-state", children: _jsx(SolidSpinner, { size: 22, label: "Loading mapping info" }) })) : isMappingInfoError ? (_jsxs("div", { className: 'solid-import-empty-state solid-import-empty-state-danger', children: [_jsx("h4", { className: 'text-center px-2', children: ERROR_MESSAGES.IMPORT_UNABLE_TO_READ_FILE }), _jsx("p", { children: mappingErrorMessage })] })) : visibleSampleRecords.length > 0 ? (_jsxs("div", { className: 'solid-import-mapping-shell', children: [_jsxs("div", { className: "solid-import-mapping-intro", children: [_jsxs("div", { children: [_jsx("h5", { className: 'solid-primary-black-text solid-import-section-title', children: "Map file columns" }), _jsx("p", { className: 'solid-import-section-copy m-0', children: "Match each incoming column to the correct SolidX field before the import runs." })] }), _jsxs("div", { className: "solid-import-mapping-count", children: [totalImportableFieldCount, " importable field", totalImportableFieldCount > 1 ? 's' : ''] })] }), mappingWarningMessage ? (_jsxs("div", { className: "solid-import-mapping-alert", role: "alert", children: [_jsx("div", { className: "solid-import-mapping-alert-icon", children: _jsx(AlertTriangle, { size: 16 }) }), _jsxs("div", { className: "solid-import-mapping-alert-copy", children: [mappingWarningTitle ? (_jsx("p", { className: "solid-import-mapping-alert-title", children: mappingWarningTitle })) : null, _jsx("p", { className: "solid-import-mapping-alert-text", children: mappingWarningMessage })] })] })) : null, _jsxs("div", { className: 'solid-import-mapping-table', children: [_jsxs("div", { className: "solid-import-mapping-head ".concat(styles.ImportTableHeader), children: [_jsx("div", { className: "solid-import-mapping-head-cell", children: "File Column" }), _jsx("div", { className: "solid-import-mapping-head-cell", children: "SolidX Field" })] }), _jsx("div", { className: "solid-import-mapping-body", children: visibleSampleRecords.map(function (sample) {
298
+ var fieldMeta = importableFields.find(function (f) { return f.name === fieldMapping[sample.cellHeader]; });
158
299
  var isRequired = fieldMeta === null || fieldMeta === void 0 ? void 0 : fieldMeta.required;
159
- return (_jsxs("div", { className: "solid-import-mapping-row", children: [_jsxs("div", { className: "solid-import-mapping-source", children: [_jsx("div", { className: "solid-import-mapping-source-title", children: sample.cellHeader }), _jsx("div", { className: "solid-import-mapping-source-value", children: sample.cellValue || "No sample value" })] }), _jsx("div", { className: "solid-import-mapping-target", children: _jsxs("div", { className: "solid-import-mapping-target-controls", children: [_jsx(SolidSelect, { value: fieldMapping[sample.cellHeader], options: dropdownOptions, onChange: function (e) { return handleChange(sample.cellHeader, e.value); }, className: "w-full", placeholder: "Select field" }), !isRequired ? (_jsx("button", { type: "button", className: "solid-import-mapping-remove", onClick: function () { return handleRemoveRow(sample.cellHeader); }, title: "Remove this row", children: _jsx(CircleX, { size: 16 }) })) : (_jsx("span", { className: "solid-import-mapping-remove-placeholder" }))] }) })] }, sample.cellHeader));
160
- }) })] })] })) : (_jsxs("div", { className: 'solid-import-empty-state', children: [_jsx("h4", { className: 'text-center px-2', children: "No sample import records found" }), _jsx("p", { children: "Upload a file first and then continue to mapping." })] })) }), _jsxs("div", { className: 'solid-import-actions', children: [_jsx("p", { className: "solid-import-actions-copy", children: "Confirm the mapping and start the import." }), _jsx(SolidButton, { type: "button", size: 'small', onClick: handleImportTransaction, loading: isImporting, disabled: isImporting || ((_g = (_f = mappingInfo === null || mappingInfo === void 0 ? void 0 : mappingInfo.data) === null || _f === void 0 ? void 0 : _f.sampleImportedRecordInfo) === null || _g === void 0 ? void 0 : _g.length) === 0, rightIcon: _jsx(MoveRight, { size: 14 }), children: "Import" })] })] }));
300
+ var samplePreview = getSampleCellPreview(sample.cellValue);
301
+ return (_jsxs("div", { className: "solid-import-mapping-row", children: [_jsxs("div", { className: "solid-import-mapping-source", children: [_jsx("div", { className: "solid-import-mapping-source-title", children: sample.cellHeader }), _jsx("div", { className: "solid-import-mapping-source-value", title: samplePreview, children: samplePreview })] }), _jsx("div", { className: "solid-import-mapping-target", children: _jsxs("div", { className: "solid-import-mapping-target-controls", children: [_jsx(SolidSelect, { value: fieldMapping[sample.cellHeader], options: dropdownOptions, onChange: function (e) { return handleChange(sample.cellHeader, e.value); }, className: "w-full", placeholder: "Select field" }), !isRequired ? (_jsx("button", { type: "button", className: "solid-import-mapping-remove", onClick: function () { return handleRemoveRow(sample.cellHeader); }, title: "Remove this row", children: _jsx(CircleX, { size: 16 }) })) : (_jsx("span", { className: "solid-import-mapping-remove-placeholder" }))] }) })] }, sample.cellHeader));
302
+ }) })] })] })) : (_jsxs("div", { className: 'solid-import-empty-state', children: [_jsx("h4", { className: 'text-center px-2', children: "No sample import records found" }), _jsx("p", { children: "Upload a file first and then continue to mapping." })] })) }), _jsxs("div", { className: 'solid-import-actions', children: [_jsx("p", { className: "solid-import-actions-copy", children: "Confirm the mapping and start the import." }), _jsx(SolidButton, { type: "button", size: 'small', onClick: handleImportTransaction, loading: isImporting, disabled: isImporting || isMappingInfoError || ((_k = (_j = mappingInfo === null || mappingInfo === void 0 ? void 0 : mappingInfo.data) === null || _j === void 0 ? void 0 : _j.sampleImportedRecordInfo) === null || _k === void 0 ? void 0 : _k.length) === 0, rightIcon: _jsx(MoveRight, { size: 14 }), children: "Import" })] })] }));
161
303
  };
162
304
  //# sourceMappingURL=SolidImportTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidImportTransaction.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportTransaction.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { CircleX, MoveRight } from 'lucide-react'\nimport styles from './SolidImport.module.css'\nimport { useCreateImportSyncMutation, useLazyGetImportMappingInfoQuery, usePatchUpdateImportTransactionMutation } from '../../../../redux/api/importTransactionApi';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { SolidButton, SolidSelect, SolidSpinner } from '../../../shad-cn-ui';\nexport const SolidImportTransaction = ({ setImportStatusResult, transactionId, setImportStep }: any) => {\n const dispatch = useDispatch();\n const [trigger, { data: mappingInfo, isLoading }] = useLazyGetImportMappingInfoQuery();\n const [patchUpdateImportTransaction] = usePatchUpdateImportTransactionMutation();\n const [createImportSync, { isLoading: isImporting }] = useCreateImportSyncMutation();\n const [fieldMapping, setFieldMapping] = useState<Record<string, string>>({});\n const [visibleHeaders, setVisibleHeaders] = useState<string[]>([]);\n\n useEffect(() => {\n if (transactionId) {\n trigger({ id: transactionId });\n }\n }, [transactionId]);\n\n useEffect(() => {\n const defaultMapping: Record<string, string> = {};\n const headers: string[] = [];\n mappingInfo?.data?.sampleImportedRecordInfo?.forEach((sample: any) => {\n defaultMapping[sample.cellHeader] = sample.defaultMappedFieldName || \"\";\n headers.push(sample.cellHeader);\n });\n setFieldMapping(defaultMapping);\n setVisibleHeaders(headers);\n }, [mappingInfo?.data]);\n\n\n const dropdownOptions = (mappingInfo?.data?.importableFields ?? []).map((field: any) => ({\n label: field.displayName,\n value: field.name,\n }));\n\n const handleChange = (cellHeader: string, selectedField: string) => {\n setFieldMapping((prev) => ({\n ...prev,\n [cellHeader]: selectedField,\n }));\n };\n\n const handleRemoveRow = (cellHeader: string) => {\n setVisibleHeaders((prev) => prev.filter(header => header !== cellHeader));\n setFieldMapping((prev) => {\n const updated = { ...prev };\n delete updated[cellHeader];\n return updated;\n });\n };\n\n const handleImportTransaction = async () => {\n try {\n const mappingArray = Object.entries(fieldMapping).map(([header, fieldName]) => ({\n header,\n fieldName,\n }));\n\n const patchData = {\n status: \"mapping_created\",\n mapping: JSON.stringify(mappingArray),\n };\n const patchResult = await patchUpdateImportTransaction({\n id: transactionId,\n data: patchData,\n }).unwrap();\n if (patchResult?.statusCode === 200) {\n\n // Sync\n try {\n const importResult = await createImportSync({ id: transactionId }).unwrap();\n\n if (importResult?.data?.status === \"import_succeeded\") {\n setImportStatusResult(importResult)\n setImportStep(4);\n }\n if (importResult?.data?.status === \"import_failed\") {\n setImportStatusResult(importResult);\n setImportStep(4);\n }\n } catch (importError: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.IMPORT_ERROR, detail: importError?.data?.error }));\n }\n\n // Async\n }\n } catch (error: any) {\n const errorMessage = error?.data?.error || ERROR_MESSAGES.SOMETHING_WRONG;\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: errorMessage }));\n }\n };\n\n const sampleRecords = mappingInfo?.data?.sampleImportedRecordInfo ?? [];\n const visibleSampleRecords = sampleRecords?.filter((sample: any) => visibleHeaders.includes(sample.cellHeader));\n\n return (\n <div>\n <div className={styles.SolidImportContextWrapper}>\n {isLoading ? (\n <div className=\"solid-import-loading-state\">\n <SolidSpinner size={22} label=\"Loading mapping info\" />\n </div>\n ) : visibleSampleRecords.length > 0 ? (\n <div className='solid-import-mapping-shell'>\n <div className=\"solid-import-mapping-intro\">\n <div>\n <h5 className='solid-primary-black-text solid-import-section-title'>Map file columns</h5>\n <p className='solid-import-section-copy m-0'>Match each incoming column to the correct SolidX field before the import runs.</p>\n </div>\n <div className=\"solid-import-mapping-count\">\n {visibleSampleRecords.length} column{visibleSampleRecords.length > 1 ? 's' : ''}\n </div>\n </div>\n <div className='solid-import-mapping-table'>\n <div className={`solid-import-mapping-head ${styles.ImportTableHeader}`}>\n <div className=\"solid-import-mapping-head-cell\">File Column</div>\n <div className=\"solid-import-mapping-head-cell\">SolidX Field</div>\n </div>\n <div className=\"solid-import-mapping-body\">\n {visibleSampleRecords.map((sample: any) => {\n const fieldMeta = mappingInfo.data.importableFields.find(\n (f: any) => f.name === fieldMapping[sample.cellHeader]\n );\n const isRequired = fieldMeta?.required;\n\n return (\n <div key={sample.cellHeader} className=\"solid-import-mapping-row\">\n <div className=\"solid-import-mapping-source\">\n <div className=\"solid-import-mapping-source-title\">{sample.cellHeader}</div>\n <div className=\"solid-import-mapping-source-value\">{sample.cellValue || \"No sample value\"}</div>\n </div>\n <div className=\"solid-import-mapping-target\">\n <div className=\"solid-import-mapping-target-controls\">\n <SolidSelect\n value={fieldMapping[sample.cellHeader]}\n options={dropdownOptions}\n onChange={(e) => handleChange(sample.cellHeader, e.value)}\n className=\"w-full\"\n placeholder=\"Select field\"\n />\n {!isRequired ? (\n <button\n type=\"button\"\n className=\"solid-import-mapping-remove\"\n onClick={() => handleRemoveRow(sample.cellHeader)}\n title=\"Remove this row\"\n >\n <CircleX size={16} />\n </button>\n ) : (\n <span className=\"solid-import-mapping-remove-placeholder\" />\n )}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n ) : (\n <div className='solid-import-empty-state'>\n <h4 className='text-center px-2'>No sample import records found</h4>\n <p>Upload a file first and then continue to mapping.</p>\n </div>\n )}\n </div>\n <div className='solid-import-actions'>\n <p className=\"solid-import-actions-copy\">Confirm the mapping and start the import.</p>\n <SolidButton\n type=\"button\"\n size='small'\n onClick={handleImportTransaction}\n loading={isImporting}\n disabled={isImporting || mappingInfo?.data?.sampleImportedRecordInfo?.length === 0}\n rightIcon={<MoveRight size={14} />}\n >\n Import\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidImportTransaction.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportTransaction.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AlertTriangle, CircleX, MoveRight } from 'lucide-react'\nimport styles from './SolidImport.module.css'\nimport { useCreateImportSyncMutation, useLazyGetImportMappingInfoQuery, usePatchUpdateImportTransactionMutation } from '../../../../redux/api/importTransactionApi';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { SolidButton, SolidSelect, SolidSpinner } from '../../../shad-cn-ui';\n\n\nconst getImportMessage = (value: unknown, fallback: string): string => {\n if (Array.isArray(value)) {\n const normalized: string[] = value.map((item) => getImportMessage(item, \"\")).filter((item) => item.trim() !== \"\");\n return normalized.length > 0 ? normalized.join(\", \") : fallback;\n }\n\n if (value && typeof value === \"object\") {\n const errorValue = (value as any).error ?? (value as any).message ?? (value as any).detail;\n if (errorValue !== undefined) {\n return getImportMessage(errorValue, fallback);\n }\n\n try {\n return JSON.stringify(value);\n } catch {\n return fallback;\n }\n }\n\n if (value === undefined || value === null || value === \"\") {\n return fallback;\n }\n\n return String(value);\n};\n\nconst getSampleCellPreview = (value: unknown): string => {\n if (value === undefined || value === null || value === \"\") {\n return ERROR_MESSAGES.IMPORT_NO_SAMPLE_VALUE;\n }\n\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\" || typeof value === \"bigint\") {\n return String(value);\n }\n\n if (Array.isArray(value)) {\n const normalized: string[] = value\n .map((item) => getSampleCellPreview(item))\n .filter((item) => item !== ERROR_MESSAGES.IMPORT_NO_SAMPLE_VALUE);\n return normalized.length > 0 ? normalized.join(\", \") : ERROR_MESSAGES.IMPORT_NO_SAMPLE_VALUE;\n }\n\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n if (typeof value === \"object\") {\n if (\"result\" in (value as any) && (value as any).result !== undefined && (value as any).result !== null) {\n return getSampleCellPreview((value as any).result);\n }\n\n if (\"value\" in (value as any) && (value as any).value !== undefined && (value as any).value !== null) {\n return getSampleCellPreview((value as any).value);\n }\n\n if (\"label\" in (value as any) && typeof (value as any).label === \"string\") {\n return (value as any).label;\n }\n\n if (\"formula\" in (value as any) && typeof (value as any).formula === \"string\") {\n return (value as any).formula;\n }\n\n try {\n return JSON.stringify(value);\n } catch {\n return ERROR_MESSAGES.IMPORT_UNSUPPORTED_SAMPLE_VALUE;\n }\n }\n\n return String(value);\n};\n\nexport const SolidImportTransaction = ({ setImportStatusResult, transactionId, setImportStep }: any) => {\n const dispatch = useDispatch();\n const [trigger, { data: mappingInfo, isLoading, isError: isMappingInfoError, error: mappingInfoError }] = useLazyGetImportMappingInfoQuery();\n const [patchUpdateImportTransaction] = usePatchUpdateImportTransactionMutation();\n const [createImportSync, { isLoading: isImporting }] = useCreateImportSyncMutation();\n const [fieldMapping, setFieldMapping] = useState<Record<string, string>>({});\n const [visibleHeaders, setVisibleHeaders] = useState<string[]>([]);\n\n useEffect(() => {\n if (transactionId) {\n trigger({ id: transactionId });\n }\n }, [transactionId]);\n\n useEffect(() => {\n const defaultMapping: Record<string, string> = {};\n const headers: string[] = [];\n mappingInfo?.data?.sampleImportedRecordInfo?.forEach((sample: any) => {\n defaultMapping[sample.cellHeader] = sample.defaultMappedFieldName || \"\";\n headers.push(sample.cellHeader);\n });\n setFieldMapping(defaultMapping);\n setVisibleHeaders(headers);\n }, [mappingInfo?.data]);\n\n const importableFields = mappingInfo?.data?.importableFields ?? [];\n const dropdownOptions = importableFields.map((field: any) => ({\n label: field.displayName,\n value: field.name,\n }));\n\n const handleChange = (cellHeader: string, selectedField: string) => {\n setFieldMapping((prev) => ({\n ...prev,\n [cellHeader]: selectedField,\n }));\n };\n\n const handleRemoveRow = (cellHeader: string) => {\n setVisibleHeaders((prev) => prev.filter(header => header !== cellHeader));\n setFieldMapping((prev) => {\n const updated = { ...prev };\n delete updated[cellHeader];\n return updated;\n });\n };\n\n const visibleMappingEntries = Object.entries(fieldMapping).filter(([header]) => visibleHeaders.includes(header));\n const mappedEntries = visibleMappingEntries.filter(([, fieldName]) => typeof fieldName === \"string\" && fieldName.trim() !== \"\");\n const mappedFieldCounts = mappedEntries.reduce<Record<string, number>>((acc, [, fieldName]) => {\n const normalizedFieldName = fieldName.trim();\n acc[normalizedFieldName] = (acc[normalizedFieldName] ?? 0) + 1;\n return acc;\n }, {});\n const duplicateMappedFieldNames = Object.entries(mappedFieldCounts)\n .filter(([, count]) => count > 1)\n .map(([fieldName]) => fieldName);\n const requiredImportableFields = importableFields.filter((field: any) => field.required);\n const missingRequiredFields = requiredImportableFields.filter(\n (field: any) => !mappedFieldCounts[field.name]\n );\n const totalImportableFieldCount = importableFields.length;\n const mappedImportableFieldCount = Object.keys(mappedFieldCounts).length;\n const unmappedImportableFieldCount = Math.max(totalImportableFieldCount - mappedImportableFieldCount, 0);\n\n const handleImportTransaction = async () => {\n if (mappedEntries.length === 0) {\n dispatch(showToast({\n severity: \"error\",\n summary: ERROR_MESSAGES.IMPORT_ERROR,\n detail: ERROR_MESSAGES.IMPORT_NO_MATCHED_COLUMNS,\n }));\n return;\n }\n\n if (duplicateMappedFieldNames.length > 0) {\n dispatch(showToast({\n severity: \"error\",\n summary: ERROR_MESSAGES.IMPORT_ERROR,\n detail: ERROR_MESSAGES.IMPORT_DUPLICATE_FIELD_MAPPING,\n }));\n return;\n }\n\n if (missingRequiredFields.length > 0) {\n dispatch(showToast({\n severity: \"error\",\n summary: ERROR_MESSAGES.IMPORT_ERROR,\n detail: ERROR_MESSAGES.IMPORT_REQUIRED_FIELD_MAPPING_MESSAGE(missingRequiredFields.length),\n }));\n return;\n }\n\n try {\n const mappingArray = mappedEntries.map(([header, fieldName]) => ({\n header,\n fieldName,\n }));\n\n const patchData = {\n status: \"mapping_created\",\n mapping: JSON.stringify(mappingArray),\n };\n const patchResult = await patchUpdateImportTransaction({\n id: transactionId,\n data: patchData,\n }).unwrap();\n if (patchResult?.statusCode === 200) {\n\n // Sync\n try {\n const importResult = await createImportSync({ id: transactionId }).unwrap();\n\n if (importResult?.data?.status === \"import_succeeded\") {\n setImportStatusResult(importResult)\n setImportStep(4);\n }\n if (importResult?.data?.status === \"import_failed\") {\n setImportStatusResult(importResult);\n setImportStep(4);\n }\n } catch (importError: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.IMPORT_ERROR, detail: importError?.data?.error }));\n }\n\n // Async\n }\n } catch (error: any) {\n const errorMessage = error?.data?.error || ERROR_MESSAGES.SOMETHING_WRONG;\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: errorMessage }));\n }\n };\n\n const sampleRecords = mappingInfo?.data?.sampleImportedRecordInfo ?? [];\n const visibleSampleRecords = sampleRecords?.filter((sample: any) => visibleHeaders.includes(sample.cellHeader));\n const autoMappedCount = sampleRecords.filter((sample: any) =>\n typeof sample?.defaultMappedFieldName === \"string\" && sample.defaultMappedFieldName.trim() !== \"\"\n ).length;\n\n let mappingWarningMessage: string | null = null;\n let mappingWarningTitle: string | null = null;\n\n if (visibleSampleRecords.length > 0) {\n if (duplicateMappedFieldNames.length > 0) {\n mappingWarningTitle = ERROR_MESSAGES.IMPORT_MAPPING_INCOMPLETE_TITLE;\n mappingWarningMessage = ERROR_MESSAGES.IMPORT_DUPLICATE_FIELD_MAPPING;\n } else if (missingRequiredFields.length > 0) {\n mappingWarningTitle = ERROR_MESSAGES.IMPORT_REQUIRED_FIELD_MAPPING_TITLE;\n mappingWarningMessage = ERROR_MESSAGES.IMPORT_REQUIRED_FIELD_MAPPING_MESSAGE(missingRequiredFields.length);\n } else if (autoMappedCount === 0 && mappedImportableFieldCount === 0) {\n mappingWarningTitle = ERROR_MESSAGES.IMPORT_TEMPLATE_MISMATCH_TITLE;\n mappingWarningMessage = ERROR_MESSAGES.IMPORT_TEMPLATE_MISMATCH_MESSAGE;\n } else if (unmappedImportableFieldCount > 0) {\n mappingWarningTitle = ERROR_MESSAGES.IMPORT_MAPPING_INCOMPLETE_TITLE;\n mappingWarningMessage = ERROR_MESSAGES.IMPORT_MAPPING_INCOMPLETE_MESSAGE(unmappedImportableFieldCount);\n }\n }\n\n const mappingErrorMessage = getImportMessage(\n (mappingInfoError as any)?.data?.error ?? (mappingInfoError as any)?.data?.message,\n ERROR_MESSAGES.IMPORT_FILE_READ_FAILED\n );\n return (\n <div>\n <div className={styles.SolidImportContextWrapper}>\n {isLoading ? (\n <div className=\"solid-import-loading-state\">\n <SolidSpinner size={22} label=\"Loading mapping info\" />\n </div>\n ) : isMappingInfoError ? (\n <div className='solid-import-empty-state solid-import-empty-state-danger'>\n <h4 className='text-center px-2'>{ERROR_MESSAGES.IMPORT_UNABLE_TO_READ_FILE}</h4>\n <p>{mappingErrorMessage}</p>\n </div>\n ) : visibleSampleRecords.length > 0 ? (\n <div className='solid-import-mapping-shell'>\n <div className=\"solid-import-mapping-intro\">\n <div>\n <h5 className='solid-primary-black-text solid-import-section-title'>Map file columns</h5>\n <p className='solid-import-section-copy m-0'>Match each incoming column to the correct SolidX field before the import runs.</p>\n </div>\n <div className=\"solid-import-mapping-count\">\n {totalImportableFieldCount} importable field{totalImportableFieldCount > 1 ? 's' : ''}\n </div>\n </div>\n {mappingWarningMessage ? (\n <div className=\"solid-import-mapping-alert\" role=\"alert\">\n <div className=\"solid-import-mapping-alert-icon\">\n <AlertTriangle size={16} />\n </div>\n <div className=\"solid-import-mapping-alert-copy\">\n {mappingWarningTitle ? (\n <p className=\"solid-import-mapping-alert-title\">{mappingWarningTitle}</p>\n ) : null}\n <p className=\"solid-import-mapping-alert-text\">{mappingWarningMessage}</p>\n </div>\n </div>\n ) : null}\n <div className='solid-import-mapping-table'>\n <div className={`solid-import-mapping-head ${styles.ImportTableHeader}`}>\n <div className=\"solid-import-mapping-head-cell\">File Column</div>\n <div className=\"solid-import-mapping-head-cell\">SolidX Field</div>\n </div>\n <div className=\"solid-import-mapping-body\">\n {visibleSampleRecords.map((sample: any) => {\n const fieldMeta = importableFields.find(\n (f: any) => f.name === fieldMapping[sample.cellHeader]\n );\n const isRequired = fieldMeta?.required;\n const samplePreview = getSampleCellPreview(sample.cellValue);\n\n return (\n <div key={sample.cellHeader} className=\"solid-import-mapping-row\">\n <div className=\"solid-import-mapping-source\">\n <div className=\"solid-import-mapping-source-title\">{sample.cellHeader}</div>\n <div className=\"solid-import-mapping-source-value\" title={samplePreview}>{samplePreview}</div>\n </div>\n <div className=\"solid-import-mapping-target\">\n <div className=\"solid-import-mapping-target-controls\">\n <SolidSelect\n value={fieldMapping[sample.cellHeader]}\n options={dropdownOptions}\n onChange={(e) => handleChange(sample.cellHeader, e.value)}\n className=\"w-full\"\n placeholder=\"Select field\"\n />\n {!isRequired ? (\n <button\n type=\"button\"\n className=\"solid-import-mapping-remove\"\n onClick={() => handleRemoveRow(sample.cellHeader)}\n title=\"Remove this row\"\n >\n <CircleX size={16} />\n </button>\n ) : (\n <span className=\"solid-import-mapping-remove-placeholder\" />\n )}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n ) : (\n <div className='solid-import-empty-state'>\n <h4 className='text-center px-2'>No sample import records found</h4>\n <p>Upload a file first and then continue to mapping.</p>\n </div>\n )}\n </div>\n <div className='solid-import-actions'>\n <p className=\"solid-import-actions-copy\">Confirm the mapping and start the import.</p>\n <SolidButton\n type=\"button\"\n size='small'\n onClick={handleImportTransaction}\n loading={isImporting}\n disabled={isImporting || isMappingInfoError || mappingInfo?.data?.sampleImportedRecordInfo?.length === 0}\n rightIcon={<MoveRight size={14} />}\n >\n Import\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}