@solidxai/core-ui 0.1.9-beta.20 → 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 (470) hide show
  1. package/README.md +1 -1
  2. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  3. package/dist/components/auth/AuthLayout.js +23 -19
  4. package/dist/components/auth/AuthLayout.js.map +1 -1
  5. package/dist/components/auth/AuthLayout.tsx +62 -52
  6. package/dist/components/auth/ForgotPasswordThankYou.js +1 -1
  7. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  8. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -2
  9. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.d.ts +2 -0
  10. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.d.ts.map +1 -0
  11. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.js +112 -0
  12. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.js.map +1 -0
  13. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.tsx +78 -0
  14. package/dist/components/auth/SolidChangeForcePassword.js +2 -2
  15. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  16. package/dist/components/auth/SolidChangeForcePassword.tsx +13 -13
  17. package/dist/components/auth/SolidForgotPassword.js +1 -1
  18. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  19. package/dist/components/auth/SolidForgotPassword.tsx +3 -3
  20. package/dist/components/auth/SolidInitialLoginOtp.js +1 -1
  21. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  22. package/dist/components/auth/SolidInitialLoginOtp.tsx +2 -2
  23. package/dist/components/auth/SolidInitiateRegisterOtp.js +1 -1
  24. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  25. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +2 -2
  26. package/dist/components/auth/SolidLogin.js +4 -4
  27. package/dist/components/auth/SolidLogin.js.map +1 -1
  28. package/dist/components/auth/SolidLogin.tsx +11 -11
  29. package/dist/components/auth/SolidRegister.js +6 -6
  30. package/dist/components/auth/SolidRegister.js.map +1 -1
  31. package/dist/components/auth/SolidRegister.tsx +14 -14
  32. package/dist/components/auth/SolidResetPassword.js +2 -2
  33. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  34. package/dist/components/auth/SolidResetPassword.tsx +8 -8
  35. package/dist/components/common/BackButton.js +1 -1
  36. package/dist/components/common/BackButton.js.map +1 -1
  37. package/dist/components/common/BackButton.tsx +1 -1
  38. package/dist/components/common/CancelButton.js +2 -2
  39. package/dist/components/common/CancelButton.js.map +1 -1
  40. package/dist/components/common/CancelButton.tsx +3 -3
  41. package/dist/components/common/GeneralSettings.js +18 -18
  42. package/dist/components/common/GeneralSettings.js.map +1 -1
  43. package/dist/components/common/GeneralSettings.tsx +136 -136
  44. package/dist/components/common/SolidExport.d.ts +1 -1
  45. package/dist/components/common/SolidExport.d.ts.map +1 -1
  46. package/dist/components/common/SolidExport.js +10 -3
  47. package/dist/components/common/SolidExport.js.map +1 -1
  48. package/dist/components/common/SolidExport.tsx +10 -2
  49. package/dist/components/common/SolidFormHeader.js +1 -1
  50. package/dist/components/common/SolidFormHeader.js.map +1 -1
  51. package/dist/components/common/SolidFormHeader.tsx +1 -1
  52. package/dist/components/common/SolidModuleHome.js +2 -2
  53. package/dist/components/common/SolidModuleHome.js.map +1 -1
  54. package/dist/components/common/SolidModuleHome.tsx +7 -7
  55. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +3 -3
  56. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  57. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +6 -6
  58. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +1 -1
  59. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  60. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +4 -4
  61. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +1 -1
  62. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  63. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +4 -4
  64. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +1 -1
  65. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  66. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +1 -1
  67. package/dist/components/core/card/SolidCardView.js +1 -1
  68. package/dist/components/core/card/SolidCardView.js.map +1 -1
  69. package/dist/components/core/card/SolidCardView.tsx +5 -5
  70. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  71. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  72. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  73. package/dist/components/core/card/SolidCardViewConfigure.tsx +5 -1
  74. package/dist/components/core/chatter/SolidChatter.js +5 -5
  75. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  76. package/dist/components/core/chatter/SolidChatter.tsx +8 -8
  77. package/dist/components/core/chatter/SolidChatterAuditMessage.js +1 -1
  78. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  79. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +2 -2
  80. package/dist/components/core/chatter/SolidChatterHeader.js +2 -2
  81. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  82. package/dist/components/core/chatter/SolidChatterHeader.tsx +6 -6
  83. package/dist/components/core/chatter/SolidChatterMessageBox.js +4 -4
  84. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  85. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +12 -12
  86. package/dist/components/core/chatter/SolidMessageComposer.js +1 -1
  87. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  88. package/dist/components/core/chatter/SolidMessageComposer.tsx +7 -7
  89. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  90. package/dist/components/core/common/SolidCreateButton.js +16 -1
  91. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  92. package/dist/components/core/common/SolidCreateButton.tsx +18 -1
  93. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +60 -0
  94. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +1 -1
  95. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  96. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +2 -2
  97. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
  98. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +19 -1
  99. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
  100. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +16 -3
  101. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  102. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +168 -26
  103. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  104. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +174 -10
  105. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  106. package/dist/components/core/common/SolidGlobalSearchElement.js +46 -36
  107. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  108. package/dist/components/core/common/SolidGlobalSearchElement.tsx +77 -40
  109. package/dist/components/core/common/SolidLayoutViews.js +2 -2
  110. package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
  111. package/dist/components/core/common/SolidLayoutViews.tsx +4 -4
  112. package/dist/components/core/common/SolidListViewOptions.js +1 -1
  113. package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
  114. package/dist/components/core/common/SolidListViewOptions.tsx +1 -1
  115. package/dist/components/core/common/SolidPasswordHelperText.js +2 -2
  116. package/dist/components/core/common/SolidPasswordHelperText.js.map +1 -1
  117. package/dist/components/core/common/SolidPasswordHelperText.tsx +4 -4
  118. package/dist/components/core/common/SolidSearchBox.js +1 -1
  119. package/dist/components/core/common/SolidSearchBox.js.map +1 -1
  120. package/dist/components/core/common/SolidSearchBox.tsx +1 -1
  121. package/dist/components/core/common/SolidXAiIframe.js +1 -1
  122. package/dist/components/core/common/SolidXAiIframe.js.map +1 -1
  123. package/dist/components/core/common/SolidXAiIframe.tsx +1 -1
  124. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js +1 -1
  125. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js.map +1 -1
  126. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.tsx +2 -2
  127. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +2 -2
  128. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  129. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +4 -4
  130. package/dist/components/core/field/FieldListViewData.js +2 -2
  131. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  132. package/dist/components/core/field/FieldListViewData.tsx +5 -5
  133. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  134. package/dist/components/core/filter/fields/SolidBooleanField.js +2 -2
  135. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  136. package/dist/components/core/filter/fields/SolidBooleanField.tsx +3 -12
  137. package/dist/components/core/filter/fields/SolidDateField.js +2 -2
  138. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  139. package/dist/components/core/filter/fields/SolidDateField.tsx +3 -3
  140. package/dist/components/core/filter/fields/SolidDatetimeField.js +2 -2
  141. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  142. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +3 -3
  143. package/dist/components/core/filter/fields/SolidExternalIdField.js +2 -2
  144. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  145. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +3 -3
  146. package/dist/components/core/filter/fields/SolidIdField.js +2 -2
  147. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  148. package/dist/components/core/filter/fields/SolidIdField.tsx +2 -2
  149. package/dist/components/core/filter/fields/SolidIntField.js +2 -2
  150. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  151. package/dist/components/core/filter/fields/SolidIntField.tsx +3 -3
  152. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
  153. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  154. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +3 -3
  155. package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
  156. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  157. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +3 -3
  158. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +2 -2
  159. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  160. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +3 -3
  161. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +2 -2
  162. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  163. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +3 -3
  164. package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
  165. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  166. package/dist/components/core/filter/fields/SolidShortTextField.tsx +3 -3
  167. package/dist/components/core/filter/fields/SolidTimeField.js +2 -2
  168. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  169. package/dist/components/core/filter/fields/SolidTimeField.tsx +3 -3
  170. package/dist/components/core/filter/fields/SolidUuidField.js +2 -2
  171. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  172. package/dist/components/core/filter/fields/SolidUuidField.tsx +4 -4
  173. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +2 -2
  174. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  175. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +3 -3
  176. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +2 -2
  177. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  178. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +3 -3
  179. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +2 -2
  180. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  181. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +3 -3
  182. package/dist/components/core/form/SolidFormActionHeader.js +8 -8
  183. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  184. package/dist/components/core/form/SolidFormActionHeader.tsx +13 -13
  185. package/dist/components/core/form/SolidFormFieldRender.js +1 -1
  186. package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
  187. package/dist/components/core/form/SolidFormFieldRender.tsx +1 -1
  188. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  189. package/dist/components/core/form/SolidFormFooter.js +12 -5
  190. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  191. package/dist/components/core/form/SolidFormFooter.tsx +14 -5
  192. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  193. package/dist/components/core/form/SolidFormView.js +200 -65
  194. package/dist/components/core/form/SolidFormView.js.map +1 -1
  195. package/dist/components/core/form/SolidFormView.tsx +188 -41
  196. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  197. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +5 -1
  198. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  199. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +5 -1
  200. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  201. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +5 -1
  202. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  203. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +5 -1
  204. package/dist/components/core/form/SolidFormViewShimmerLoading.js +1 -1
  205. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  206. package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +46 -46
  207. package/dist/components/core/form/fields/SolidBooleanField.js +3 -3
  208. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  209. package/dist/components/core/form/fields/SolidBooleanField.tsx +3 -3
  210. package/dist/components/core/form/fields/SolidComputedField.js +1 -1
  211. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -1
  212. package/dist/components/core/form/fields/SolidComputedField.tsx +1 -1
  213. package/dist/components/core/form/fields/SolidDateField.js +2 -2
  214. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  215. package/dist/components/core/form/fields/SolidDateField.tsx +2 -2
  216. package/dist/components/core/form/fields/SolidDateTimeField.js +2 -2
  217. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  218. package/dist/components/core/form/fields/SolidDateTimeField.tsx +2 -2
  219. package/dist/components/core/form/fields/SolidDecimalField.js +1 -1
  220. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  221. package/dist/components/core/form/fields/SolidDecimalField.tsx +1 -1
  222. package/dist/components/core/form/fields/SolidEmailField.js +1 -1
  223. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  224. package/dist/components/core/form/fields/SolidEmailField.tsx +1 -1
  225. package/dist/components/core/form/fields/SolidIntegerField.js +3 -3
  226. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  227. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -3
  228. package/dist/components/core/form/fields/SolidJsonField.js +3 -3
  229. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  230. package/dist/components/core/form/fields/SolidJsonField.tsx +3 -3
  231. package/dist/components/core/form/fields/SolidLongTextField.js +6 -6
  232. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  233. package/dist/components/core/form/fields/SolidLongTextField.tsx +12 -12
  234. package/dist/components/core/form/fields/SolidMediaMultipleField.js +11 -11
  235. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  236. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +28 -28
  237. package/dist/components/core/form/fields/SolidMediaSingleField.js +5 -5
  238. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  239. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +9 -9
  240. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  241. package/dist/components/core/form/fields/SolidPasswordField.js +12 -6
  242. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  243. package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -6
  244. package/dist/components/core/form/fields/SolidRichTextField.js +2 -2
  245. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  246. package/dist/components/core/form/fields/SolidRichTextField.tsx +2 -2
  247. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +2 -2
  248. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  249. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +2 -2
  250. package/dist/components/core/form/fields/SolidSelectionStaticField.js +1 -1
  251. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  252. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +1 -1
  253. package/dist/components/core/form/fields/SolidShortTextField.js +1 -1
  254. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  255. package/dist/components/core/form/fields/SolidShortTextField.tsx +1 -1
  256. package/dist/components/core/form/fields/SolidTimeField.js +2 -2
  257. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  258. package/dist/components/core/form/fields/SolidTimeField.tsx +2 -2
  259. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +7 -11
  260. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
  261. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +18 -63
  262. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
  263. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +63 -164
  264. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  265. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +6 -6
  266. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  267. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +38 -36
  268. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +6 -6
  269. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  270. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +6 -6
  271. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  272. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +10 -10
  273. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  274. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +20 -25
  275. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js +1 -1
  276. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js.map +1 -1
  277. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.tsx +1 -1
  278. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +1 -1
  279. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  280. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +1 -1
  281. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +5 -5
  282. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  283. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +17 -17
  284. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js +1 -1
  285. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
  286. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +1 -1
  287. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js +1 -1
  288. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
  289. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +1 -1
  290. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  291. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  292. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  293. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  294. package/dist/components/core/kanban/KanbanBoard.tsx +2 -1
  295. package/dist/components/core/kanban/KanbanCard.d.ts +1 -0
  296. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  297. package/dist/components/core/kanban/KanbanCard.js +15 -4
  298. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  299. package/dist/components/core/kanban/KanbanCard.tsx +27 -4
  300. package/dist/components/core/kanban/KanbanColumn.d.ts +2 -1
  301. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  302. package/dist/components/core/kanban/KanbanColumn.js +4 -4
  303. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  304. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  305. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  306. package/dist/components/core/kanban/SolidKanbanView.js +44 -39
  307. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  308. package/dist/components/core/kanban/SolidKanbanView.tsx +22 -10
  309. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  310. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  311. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  312. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +5 -1
  313. package/dist/components/core/list/ListViewRowActionPopup.js +1 -1
  314. package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
  315. package/dist/components/core/list/ListViewRowActionPopup.tsx +1 -2
  316. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +1 -1
  317. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  318. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +3 -3
  319. package/dist/components/core/list/SolidDataTable.js +1 -1
  320. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  321. package/dist/components/core/list/SolidDataTable.tsx +1 -1
  322. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  323. package/dist/components/core/list/SolidListView.js +14 -6
  324. package/dist/components/core/list/SolidListView.js.map +1 -1
  325. package/dist/components/core/list/SolidListView.tsx +21 -13
  326. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  327. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  328. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  329. package/dist/components/core/list/SolidListViewConfigure.tsx +5 -1
  330. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  331. package/dist/components/core/list/SolidListViewHeaderButton.js +5 -1
  332. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  333. package/dist/components/core/list/SolidListViewHeaderButton.tsx +5 -1
  334. package/dist/components/core/list/SolidListingHeader.js +1 -1
  335. package/dist/components/core/list/SolidListingHeader.js.map +1 -1
  336. package/dist/components/core/list/SolidListingHeader.tsx +4 -4
  337. package/dist/components/core/list/SolidTableRowCell.js +1 -1
  338. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  339. package/dist/components/core/list/SolidTableRowCell.tsx +1 -1
  340. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +5 -5
  341. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  342. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +8 -8
  343. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -3
  344. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  345. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +3 -3
  346. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js +1 -1
  347. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js.map +1 -1
  348. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.tsx +1 -1
  349. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +1 -1
  350. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
  351. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +1 -2
  352. package/dist/components/core/locales/SolidLocale.js +3 -3
  353. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  354. package/dist/components/core/locales/SolidLocale.tsx +7 -7
  355. package/dist/components/core/locales/solid-locale.css +5 -4
  356. package/dist/components/core/model/FieldMetaData.js +2 -2
  357. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  358. package/dist/components/core/model/FieldMetaData.tsx +2 -2
  359. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  360. package/dist/components/core/model/FieldMetaDataForm.js +50 -50
  361. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  362. package/dist/components/core/model/FieldMetaDataForm.tsx +74 -229
  363. package/dist/components/core/model/ModelListViewData.js +4 -4
  364. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  365. package/dist/components/core/model/ModelListViewData.tsx +7 -7
  366. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  367. package/dist/components/core/model/ModelMetaData.js +2 -2
  368. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  369. package/dist/components/core/model/ModelMetaData.tsx +3 -58
  370. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  371. package/dist/components/core/module/CreateModule.js +3 -17
  372. package/dist/components/core/module/CreateModule.js.map +1 -1
  373. package/dist/components/core/module/CreateModule.tsx +18 -32
  374. package/dist/components/core/module/ModuleListViewData.js +5 -5
  375. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  376. package/dist/components/core/module/ModuleListViewData.tsx +8 -8
  377. package/dist/components/core/module/ModuleMetadataExplorer.js +1 -1
  378. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -1
  379. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1 -1
  380. package/dist/components/core/solid-ai/SolidAiChat.module.css +2 -2
  381. package/dist/components/core/tree/SolidTreeTable.js +1 -1
  382. package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
  383. package/dist/components/core/tree/SolidTreeTable.tsx +1 -1
  384. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  385. package/dist/components/core/tree/SolidTreeView.js +3 -3
  386. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  387. package/dist/components/core/tree/SolidTreeView.tsx +14 -10
  388. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  389. package/dist/components/core/users/CreateUser.js +8 -10
  390. package/dist/components/core/users/CreateUser.js.map +1 -1
  391. package/dist/components/core/users/CreateUser.tsx +18 -36
  392. package/dist/components/core/users/CreateUserRole.js +2 -2
  393. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  394. package/dist/components/core/users/CreateUserRole.tsx +9 -9
  395. package/dist/components/core/users/UserListView.js +4 -4
  396. package/dist/components/core/users/UserListView.js.map +1 -1
  397. package/dist/components/core/users/UserListView.tsx +6 -6
  398. package/dist/components/layout/AdminHeaderActions.d.ts +1 -0
  399. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
  400. package/dist/components/layout/AdminHeaderActions.js +1 -1
  401. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  402. package/dist/components/layout/AdminHeaderActions.tsx +1 -1
  403. package/dist/components/layout/AdminSidebar.js +1 -1
  404. package/dist/components/layout/AdminSidebar.js.map +1 -1
  405. package/dist/components/layout/AdminSidebar.tsx +1 -1
  406. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  407. package/dist/components/layout/AdminTopHeader.js +21 -3
  408. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  409. package/dist/components/layout/AdminTopHeader.tsx +64 -2
  410. package/dist/components/layout/CustomPagination.js +0 -1
  411. package/dist/components/layout/CustomPagination.js.map +1 -1
  412. package/dist/components/layout/CustomPagination.tsx +0 -1
  413. package/dist/components/layout/FilterMenu.js +1 -1
  414. package/dist/components/layout/FilterMenu.js.map +1 -1
  415. package/dist/components/layout/FilterMenu.tsx +4 -4
  416. package/dist/components/layout/Footer.js +1 -1
  417. package/dist/components/layout/Footer.js.map +1 -1
  418. package/dist/components/layout/Footer.tsx +1 -1
  419. package/dist/components/layout/GlobalSearch.js +1 -1
  420. package/dist/components/layout/GlobalSearch.js.map +1 -1
  421. package/dist/components/layout/GlobalSearch.tsx +1 -1
  422. package/dist/components/layout/ListingHeader.js +3 -3
  423. package/dist/components/layout/ListingHeader.js.map +1 -1
  424. package/dist/components/layout/ListingHeader.tsx +4 -4
  425. package/dist/components/layout/Loader.js +1 -1
  426. package/dist/components/layout/Loader.js.map +1 -1
  427. package/dist/components/layout/Loader.tsx +1 -1
  428. package/dist/components/layout/UserSidebar.js +1 -1
  429. package/dist/components/layout/UserSidebar.js.map +1 -1
  430. package/dist/components/layout/UserSidebar.tsx +1 -1
  431. package/dist/components/layout/navbar-one.js +2 -2
  432. package/dist/components/layout/navbar-one.js.map +1 -1
  433. package/dist/components/layout/navbar-one.tsx +8 -8
  434. package/dist/components/layout/navbar-two-menu.js +2 -2
  435. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  436. package/dist/components/layout/navbar-two-menu.tsx +7 -7
  437. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
  438. package/dist/components/shad-cn-ui/SolidCodeEditor.js +3 -1
  439. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
  440. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +3 -0
  441. package/dist/components/shad-cn-ui/SolidPopover.d.ts +1 -0
  442. package/dist/components/shad-cn-ui/SolidPopover.d.ts.map +1 -1
  443. package/dist/components/shad-cn-ui/SolidPopover.js +124 -5
  444. package/dist/components/shad-cn-ui/SolidPopover.js.map +1 -1
  445. package/dist/components/shad-cn-ui/SolidPopover.tsx +173 -10
  446. package/dist/constants/error-messages.d.ts +13 -0
  447. package/dist/constants/error-messages.d.ts.map +1 -1
  448. package/dist/constants/error-messages.js +17 -0
  449. package/dist/constants/error-messages.js.map +1 -1
  450. package/dist/constants/error-messages.ts +15 -0
  451. package/dist/resources/globals.css +32 -1
  452. package/dist/resources/solid-custom.css +6565 -0
  453. package/dist/resources/solid-primereact.css +14 -12
  454. package/dist/resources/solid-responsive.css +25 -2
  455. package/dist/resources/solid-tailwind-generated.css +1 -0
  456. package/dist/resources/solid-tailwind.css +3 -0
  457. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts +2 -0
  458. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts.map +1 -0
  459. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js +6 -0
  460. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js.map +1 -0
  461. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.tsx +5 -0
  462. package/dist/routes/pages/auth/SsoPage.js +1 -1
  463. package/dist/routes/pages/auth/SsoPage.js.map +1 -1
  464. package/dist/routes/pages/auth/SsoPage.tsx +1 -1
  465. package/dist/styles.d.ts +2 -1
  466. package/dist/styles.d.ts.map +1 -1
  467. package/dist/styles.js +2 -1
  468. package/dist/styles.js.map +1 -1
  469. package/dist/styles.ts +2 -1
  470. package/package.json +6 -3
@@ -122,7 +122,7 @@ export var SolidImportDropzone = function (_a) {
122
122
  var i = Math.floor(Math.log(bytes) / Math.log(1024));
123
123
  return "".concat((bytes / Math.pow(1024, i)).toFixed(2), " ").concat(sizes[i]);
124
124
  };
125
- return (_jsxs("div", { children: [_jsx("div", { className: styles.SolidImportContextWrapper, children: _jsxs("div", __assign({}, rootProps, { children: [_jsx("input", __assign({}, getInputProps())), _jsxs("div", { className: "solid-import-dropzone-copy", children: [_jsx("div", { className: 'flex justify-content-center', children: _jsx(DocumentSvg, {}) }), _jsx("div", { className: "solid-import-dropzone-kicker", children: "Accepted formats" }), _jsx("h5", { className: 'text-center solid-primary-black-text solid-import-section-title solid-import-dropzone-title', children: "Drop or upload a file to import" }), _jsxs("p", { className: 'text-center m-0 solid-import-section-copy', children: ["Excel files are recommended as formatting is automatic. You can also import plain ", _jsx("code", { children: ".csv" }), " files."] }), _jsxs("div", { className: "solid-import-dropzone-format-list", "aria-hidden": "true", children: [_jsxs("span", { className: "solid-import-dropzone-format-pill", children: [_jsx(FileSpreadsheet, { size: 13 }), "Excel"] }), _jsxs("span", { className: "solid-import-dropzone-format-pill", children: [_jsx(FileText, { size: 13 }), "CSV"] })] }), _jsx("div", { className: 'flex justify-content-center mt-3', children: _jsx(SolidButton, { type: "button", variant: "outline", size: "small", leftIcon: _jsx(Upload, { size: 14 }), onClick: function (event) {
125
+ return (_jsxs("div", { children: [_jsx("div", { className: styles.SolidImportContextWrapper, children: _jsxs("div", __assign({}, rootProps, { children: [_jsx("input", __assign({}, getInputProps())), _jsxs("div", { className: "solid-import-dropzone-copy", children: [_jsx("div", { className: 'flex justify-center', children: _jsx(DocumentSvg, {}) }), _jsx("div", { className: "solid-import-dropzone-kicker", children: "Accepted formats" }), _jsx("h5", { className: 'text-center solid-primary-black-text solid-import-section-title solid-import-dropzone-title', children: "Drop or upload a file to import" }), _jsxs("p", { className: 'text-center m-0 solid-import-section-copy', children: ["Excel files are recommended as formatting is automatic. You can also import plain ", _jsx("code", { children: ".csv" }), " files."] }), _jsxs("div", { className: "solid-import-dropzone-format-list", "aria-hidden": "true", children: [_jsxs("span", { className: "solid-import-dropzone-format-pill", children: [_jsx(FileSpreadsheet, { size: 13 }), "Excel"] }), _jsxs("span", { className: "solid-import-dropzone-format-pill", children: [_jsx(FileText, { size: 13 }), "CSV"] })] }), _jsx("div", { className: 'mt-4 flex justify-center', children: _jsx(SolidButton, { type: "button", variant: "outline", size: "small", leftIcon: _jsx(Upload, { size: 14 }), onClick: function (event) {
126
126
  event.stopPropagation();
127
127
  open();
128
128
  }, children: "Browse Files" }) })] }), file &&
@@ -1 +1 @@
1
- {"version":3,"file":"SolidImportDropzone.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useCallback, useState } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport { FileSpreadsheet, FileText, Trash2, Upload } from 'lucide-react';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport styles from './SolidImport.module.css'\nimport { DocumentSvg } from './DocumentSvg';\nimport { useCreateImportTransactionMutation } from '../../../../redux/api/importTransactionApi';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { SolidButton } from '../../../shad-cn-ui';\nexport const SolidImportDropzone = ({ setImportStep, setTransactionId, modelMetadataId }: any) => {\n const dispatch = useDispatch();\n\n const [file, setFile] = useState<File | null>(null);\n const [createImportTransaction, { isLoading }] = useCreateImportTransactionMutation();\n\n\n const uploadFile = async (uploadFile: File) => {\n const formData = new FormData();\n formData.append('fileLocation', uploadFile);\n formData.append('modelMetadataId', modelMetadataId);\n\n try {\n const response = await createImportTransaction(formData).unwrap();\n console.log('Upload success:', response);\n if (response?.statusCode === 200) {\n setFile(uploadFile);\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.FILE_UPLOAD, detail: ERROR_MESSAGES.FILE_UPLOAD_SUCCESSFULLY }));\n setTransactionId?.(response?.data?.id);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }))\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.FAILED_UPLOAD_FILE, error);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }))\n }\n };\n\n const onDrop = useCallback((acceptedFiles: File[]) => {\n if (acceptedFiles.length > 0) {\n const selectedFile = acceptedFiles[0];\n uploadFile(selectedFile); // 👈 Auto upload on drop\n }\n }, []);\n\n const { getRootProps, getInputProps, open } = useDropzone({\n onDrop,\n accept: {\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['.xlsx'],\n 'text/csv': ['.csv']\n },\n multiple: false,\n noClick: true,\n noKeyboard: true,\n });\n\n const rootProps = getRootProps({ className: 'solid-import-dropzone-shell' });\n\n const removeFile = () => {\n setFile(null);\n };\n\n const formatBytes = (bytes: number) => {\n const sizes = ['Bytes', 'KB', 'MB', 'GB'];\n if (bytes === 0) return '0 Byte';\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, i)).toFixed(2)} ${sizes[i]}`;\n };\n\n return (\n <div>\n <div className={styles.SolidImportContextWrapper}>\n <div {...rootProps}>\n <input {...getInputProps()} />\n <div className=\"solid-import-dropzone-copy\">\n <div className='flex justify-content-center'>\n <DocumentSvg />\n </div>\n <div className=\"solid-import-dropzone-kicker\">Accepted formats</div>\n <h5 className='text-center solid-primary-black-text solid-import-section-title solid-import-dropzone-title'>Drop or upload a file to import</h5>\n <p className='text-center m-0 solid-import-section-copy'>Excel files are recommended as formatting is automatic. You can also import plain <code>.csv</code> files.</p>\n <div className=\"solid-import-dropzone-format-list\" aria-hidden=\"true\">\n <span className=\"solid-import-dropzone-format-pill\">\n <FileSpreadsheet size={13} />\n Excel\n </span>\n <span className=\"solid-import-dropzone-format-pill\">\n <FileText size={13} />\n CSV\n </span>\n </div>\n <div className='flex justify-content-center mt-3'>\n <SolidButton type=\"button\" variant=\"outline\" size=\"small\" leftIcon={<Upload size={14} />} onClick={(event) => {\n event.stopPropagation();\n open();\n }}>\n Browse Files\n </SolidButton>\n </div>\n </div>\n {file &&\n <div className=\"solid-import-file-card\" onClick={(e) => e.stopPropagation()}>\n <div className=\"solid-import-file-card-main\">\n <div className=\"solid-import-file-icon\">\n <FileSpreadsheet size={18} />\n </div>\n <div className=\"solid-import-file-meta\">\n <p className='m-0 solid-import-file-name'>{file.name}</p>\n <p className='m-0 solid-import-file-caption'>{file.type || 'Unknown type'}</p>\n <p className='m-0 solid-import-file-caption'>{formatBytes(file.size)}</p>\n </div>\n </div>\n <SolidButton type=\"button\" variant=\"ghost\" size=\"small\" className=\"solid-import-file-remove\" leftIcon={<Trash2 size={14} />} onClick={removeFile} />\n </div>\n }\n </div>\n </div>\n <div className='solid-import-actions'>\n <p className=\"solid-import-actions-copy\">Upload one source file and continue to field mapping.</p>\n <SolidButton\n type=\"button\"\n size='small'\n onClick={() => {\n if (!file) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.MISSING_FILE, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }));\n return;\n }\n setImportStep(3);\n }}\n disabled={!file || isLoading}\n loading={isLoading}\n >\n Continue\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidImportDropzone.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useCallback, useState } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport { FileSpreadsheet, FileText, Trash2, Upload } from 'lucide-react';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport styles from './SolidImport.module.css'\nimport { DocumentSvg } from './DocumentSvg';\nimport { useCreateImportTransactionMutation } from '../../../../redux/api/importTransactionApi';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { SolidButton } from '../../../shad-cn-ui';\nexport const SolidImportDropzone = ({ setImportStep, setTransactionId, modelMetadataId }: any) => {\n const dispatch = useDispatch();\n\n const [file, setFile] = useState<File | null>(null);\n const [createImportTransaction, { isLoading }] = useCreateImportTransactionMutation();\n\n\n const uploadFile = async (uploadFile: File) => {\n const formData = new FormData();\n formData.append('fileLocation', uploadFile);\n formData.append('modelMetadataId', modelMetadataId);\n\n try {\n const response = await createImportTransaction(formData).unwrap();\n console.log('Upload success:', response);\n if (response?.statusCode === 200) {\n setFile(uploadFile);\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.FILE_UPLOAD, detail: ERROR_MESSAGES.FILE_UPLOAD_SUCCESSFULLY }));\n setTransactionId?.(response?.data?.id);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }))\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.FAILED_UPLOAD_FILE, error);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }))\n }\n };\n\n const onDrop = useCallback((acceptedFiles: File[]) => {\n if (acceptedFiles.length > 0) {\n const selectedFile = acceptedFiles[0];\n uploadFile(selectedFile); // 👈 Auto upload on drop\n }\n }, []);\n\n const { getRootProps, getInputProps, open } = useDropzone({\n onDrop,\n accept: {\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['.xlsx'],\n 'text/csv': ['.csv']\n },\n multiple: false,\n noClick: true,\n noKeyboard: true,\n });\n\n const rootProps = getRootProps({ className: 'solid-import-dropzone-shell' });\n\n const removeFile = () => {\n setFile(null);\n };\n\n const formatBytes = (bytes: number) => {\n const sizes = ['Bytes', 'KB', 'MB', 'GB'];\n if (bytes === 0) return '0 Byte';\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n return `${(bytes / Math.pow(1024, i)).toFixed(2)} ${sizes[i]}`;\n };\n\n return (\n <div>\n <div className={styles.SolidImportContextWrapper}>\n <div {...rootProps}>\n <input {...getInputProps()} />\n <div className=\"solid-import-dropzone-copy\">\n <div className='flex justify-center'>\n <DocumentSvg />\n </div>\n <div className=\"solid-import-dropzone-kicker\">Accepted formats</div>\n <h5 className='text-center solid-primary-black-text solid-import-section-title solid-import-dropzone-title'>Drop or upload a file to import</h5>\n <p className='text-center m-0 solid-import-section-copy'>Excel files are recommended as formatting is automatic. You can also import plain <code>.csv</code> files.</p>\n <div className=\"solid-import-dropzone-format-list\" aria-hidden=\"true\">\n <span className=\"solid-import-dropzone-format-pill\">\n <FileSpreadsheet size={13} />\n Excel\n </span>\n <span className=\"solid-import-dropzone-format-pill\">\n <FileText size={13} />\n CSV\n </span>\n </div>\n <div className='mt-4 flex justify-center'>\n <SolidButton type=\"button\" variant=\"outline\" size=\"small\" leftIcon={<Upload size={14} />} onClick={(event) => {\n event.stopPropagation();\n open();\n }}>\n Browse Files\n </SolidButton>\n </div>\n </div>\n {file &&\n <div className=\"solid-import-file-card\" onClick={(e) => e.stopPropagation()}>\n <div className=\"solid-import-file-card-main\">\n <div className=\"solid-import-file-icon\">\n <FileSpreadsheet size={18} />\n </div>\n <div className=\"solid-import-file-meta\">\n <p className='m-0 solid-import-file-name'>{file.name}</p>\n <p className='m-0 solid-import-file-caption'>{file.type || 'Unknown type'}</p>\n <p className='m-0 solid-import-file-caption'>{formatBytes(file.size)}</p>\n </div>\n </div>\n <SolidButton type=\"button\" variant=\"ghost\" size=\"small\" className=\"solid-import-file-remove\" leftIcon={<Trash2 size={14} />} onClick={removeFile} />\n </div>\n }\n </div>\n </div>\n <div className='solid-import-actions'>\n <p className=\"solid-import-actions-copy\">Upload one source file and continue to field mapping.</p>\n <SolidButton\n type=\"button\"\n size='small'\n onClick={() => {\n if (!file) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.MISSING_FILE, detail: ERROR_MESSAGES.FAILED_UPLOAD_FILE }));\n return;\n }\n setImportStep(3);\n }}\n disabled={!file || isLoading}\n loading={isLoading}\n >\n Continue\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
@@ -74,7 +74,7 @@ export const SolidImportDropzone = ({ setImportStep, setTransactionId, modelMeta
74
74
  <div {...rootProps}>
75
75
  <input {...getInputProps()} />
76
76
  <div className="solid-import-dropzone-copy">
77
- <div className='flex justify-content-center'>
77
+ <div className='flex justify-center'>
78
78
  <DocumentSvg />
79
79
  </div>
80
80
  <div className="solid-import-dropzone-kicker">Accepted formats</div>
@@ -90,7 +90,7 @@ export const SolidImportDropzone = ({ setImportStep, setTransactionId, modelMeta
90
90
  CSV
91
91
  </span>
92
92
  </div>
93
- <div className='flex justify-content-center mt-3'>
93
+ <div className='mt-4 flex justify-center'>
94
94
  <SolidButton type="button" variant="outline" size="small" leftIcon={<Upload size={14} />} onClick={(event) => {
95
95
  event.stopPropagation();
96
96
  open();
@@ -1 +1 @@
1
- {"version":3,"file":"SolidImportInstructions.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportInstructions.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,uBAAuB,wCAAyC,GAAG,4CAwI/E,CAAA"}
1
+ {"version":3,"file":"SolidImportInstructions.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportInstructions.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,uBAAuB,wCAAyC,GAAG,4CAqJ/E,CAAA"}
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAC7C,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,EAAwC;;QAAtC,aAAa,mBAAA,EAAE,gBAAgB,sBAAA;IAC/D,IAAA,KACF,iCAAiC,EAAE,EADhC,qBAAqB,QAAA,EAAE,UAAoD,EAA5C,sBAAsB,UAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aACzC,CAAC;IAExC,SAAS,CAAC;;QACN,IAAI,gBAAgB,KAAI,MAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,0CAAE,SAAS,0CAAE,KAAK,0CAAE,EAAE,CAAA,EAAE;YAClE,qBAAqB,CAAC,EAAE,EAAE,EAAE,MAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,0CAAE,SAAS,0CAAE,KAAK,0CAAE,EAAE,EAAE,CAAC,CAAC;SAC/E;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE9C,IAAM,sBAAsB,GAAG,UAAO,MAAuB;;;;;;oBACnD,OAAO,GAAG,MAAA,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,0CAAE,SAAS,0CAAE,KAAK,0CAAE,EAAE,CAAC;oBAC7D,IAAI,CAAC,OAAO;wBAAE,sBAAO;;;;oBAEI,qBAAM,UAAU,EAAE,EAAA;;oBAAjC,OAAO,GAAQ,SAAkB;oBACjC,KAAK,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,KAAI,EAAE,CAAC;oBAC/C,IAAI,CAAC,KAAK,EAAE;wBACR,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;qBACvD;oBACgB,qBAAM,KAAK,CACxB,UAAG,GAAG,CAAC,SAAS,CAAC,qDAA2C,OAAO,cAAI,MAAM,CAAE,EAC/E;4BACI,MAAM,EAAE,KAAK;4BACb,OAAO,EAAE;gCACL,aAAa,EAAE,iBAAU,KAAK,CAAE;6BACnC;yBACJ,CACJ,EAAA;;oBARK,QAAQ,GAAG,SAQhB;oBAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;wBACd,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;qBACxD;oBAEY,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;oBAA5B,IAAI,GAAG,SAAqB;oBAC5B,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAEvC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;oBAChB,IAAI,CAAC,QAAQ,GAAG,0BAAmB,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;oBACvE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;;;;oBAEhC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,OAAK,CAAC,CAAC;;;;;SAE5D,CAAC;IAEF,IAAM,kBAAkB,GAAG,MAAA,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC;IACtE,IAAM,oBAAoB,GAAG,MAAA,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,IAAI,0CAAE,QAAQ,mCAAI,EAAE,CAAC;IAE1E,OAAO,CACH,0BACI,cAAK,SAAS,EAAE,MAAM,CAAC,yBAAyB,YAC3C,SAAS,CAAC,CAAC,CAAC,CACT,cAAK,SAAS,EAAC,4BAA4B,YACvC,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,6BAA6B,GAAG,GAC5D,CACT,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACV,eAAK,SAAS,EAAC,0BAA0B,aACrC,aAAI,SAAS,EAAC,kBAAkB,mDAAwC,EACxE,yFAAqE,IACnE,CACT,CAAC,CAAC,CAAC,CACA,eAAK,SAAS,EAAE,kCAA2B,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAE,aAClG,eAAK,SAAS,EAAE,qDAA8C,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAE,aAC1H,aAAI,SAAS,EAAC,4BAA4B,sCAA2B,EACrE,cAAI,SAAS,EAAC,+BAA+B,aACzC,yBACI,YAAG,SAAS,EAAC,gCAAgC,4CAAgC,EAC7E,eAAK,SAAS,EAAC,+BAA+B,aAC1C,KAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAE,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,OAAO,EAAE,cAAM,OAAA,sBAAsB,CAAC,KAAK,CAAC,EAA7B,CAA6B,6BAEvH,EACd,KAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAE,KAAC,eAAe,IAAC,IAAI,EAAE,EAAE,GAAI,EAAE,OAAO,EAAE,cAAM,OAAA,sBAAsB,CAAC,OAAO,CAAC,EAA/B,CAA+B,+BAEhI,IACZ,IACL,EACJ,CAAC;4CACE,OAAO,CACH,MAAM,CAAC,OAAO,CAAC,oBAAgD,CAAC;iDAC3D,GAAG,CAAC,UAAC,EAAa;oDAAZ,GAAG,QAAA,EAAE,MAAM,QAAA;gDACd,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;oDAAE,OAAO,IAAI,CAAC;gDAEjC,IAAM,YAAY,GAAG,GAAG;qDACnB,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;qDAC1B,OAAO,CAAC,IAAI,EAAE,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,WAAW,EAAE,EAAjB,CAAiB,CAAC,CAAC;gDAE7C,IAAM,QAAQ,GAAG,CACb,cAAc,SAAS,EAAC,+BAA+B,aACnD,YAAG,SAAS,EAAC,gCAAgC,YACxC,YAAY,GACb,EACJ,cAAK,SAAS,EAAC,8DAA8D,YACxE,MAAM,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,CAAC,IAAK,OAAA,CAC1B,eAAc,SAAS,EAAC,2BAA2B,YAC9C,OAAO,IAAI,KAAK,QAAQ;oEACrB,CAAC,CAAC,IAAI;oEACN,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS;wEACb,CAAC,CAAC,UAAG,IAAI,CAAC,SAAS,sBAAY,IAAI,CAAC,YAAY,MAAG;wEACnD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IALvB,CAAC,CAML,CACV,EAR6B,CAQ7B,CAAC,GACA,KAdD,GAAG,CAeP,CACR,CAAC;gDACF,OAAO,QAAQ,CAAC;4CACpB,CAAC,CAAC,CACT,CAAC;wCACN,CAAC,CAAC,EAAE,IACH,IACP,EACL,kBAAkB,CAAC,MAAM,GAAG,CAAC;4BAC1B,eAAK,SAAS,EAAC,4CAA4C,aACvD,aAAI,SAAS,EAAC,qDAAqD,oCAAyB,EAC5F,cAAK,SAAS,EAAC,+BAA+B,YACzC,kBAAkB,CAAC,GAAG,CAAC,UAAC,WAAgB,EAAE,KAAa,IAAK,OAAA,CACzD,YAAe,SAAS,EAAC,iCAAiC,YACrD,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IADxE,KAAK,CAET,CACP,EAJ4D,CAI5D,CAAC,GACA,IACJ,IAER,CACT,GACC,EACN,eAAK,SAAS,EAAC,sBAAsB,aACjC,YAAG,SAAS,EAAC,2BAA2B,yEAA6D,EACrG,KAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,cAAM,OAAA,aAAa,CAAC,CAAC,CAAC,EAAhB,CAAgB,EAAE,SAAS,EAAE,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,yBAE1F,IACZ,IACJ,CACT,CAAA;AACL,CAAC,CAAA","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