@solidxai/core-ui 0.1.7-beta.1 → 0.1.7-beta.3

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 (1128) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +41 -26
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +87 -88
  5. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  6. package/dist/components/auth/ForgotPasswordThankYou.js +4 -2
  7. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  8. package/dist/components/auth/ForgotPasswordThankYou.tsx +14 -11
  9. package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
  10. package/dist/components/auth/GoogleAuthChecking.js +17 -12
  11. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  12. package/dist/components/auth/GoogleAuthChecking.tsx +8 -5
  13. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  14. package/dist/components/auth/SolidChangeForcePassword.js +3 -5
  15. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  16. package/dist/components/auth/SolidChangeForcePassword.tsx +41 -34
  17. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  18. package/dist/components/auth/SolidForgotPassword.js +5 -10
  19. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  20. package/dist/components/auth/SolidForgotPassword.tsx +26 -27
  21. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  22. package/dist/components/auth/SolidInitialLoginOtp.js +25 -25
  23. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  24. package/dist/components/auth/SolidInitialLoginOtp.tsx +55 -43
  25. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  26. package/dist/components/auth/SolidInitiateRegisterOtp.js +11 -16
  27. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  28. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +48 -42
  29. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  30. package/dist/components/auth/SolidLogin.js +34 -35
  31. package/dist/components/auth/SolidLogin.js.map +1 -1
  32. package/dist/components/auth/SolidLogin.tsx +90 -115
  33. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  34. package/dist/components/auth/SolidRegister.js +23 -25
  35. package/dist/components/auth/SolidRegister.js.map +1 -1
  36. package/dist/components/auth/SolidRegister.tsx +53 -71
  37. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  38. package/dist/components/auth/SolidResetPassword.js +5 -15
  39. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  40. package/dist/components/auth/SolidResetPassword.tsx +15 -37
  41. package/dist/components/common/AutoCompleteField.d.ts.map +1 -1
  42. package/dist/components/common/AutoCompleteField.js +2 -2
  43. package/dist/components/common/AutoCompleteField.js.map +1 -1
  44. package/dist/components/common/AutoCompleteField.tsx +4 -6
  45. package/dist/components/common/BackButton.js +4 -3
  46. package/dist/components/common/BackButton.js.map +1 -1
  47. package/dist/components/common/BackButton.tsx +6 -6
  48. package/dist/components/common/CancelButton.d.ts.map +1 -1
  49. package/dist/components/common/CancelButton.js +5 -4
  50. package/dist/components/common/CancelButton.js.map +1 -1
  51. package/dist/components/common/CancelButton.tsx +10 -6
  52. package/dist/components/common/CreateButton.d.ts.map +1 -1
  53. package/dist/components/common/CreateButton.js +2 -2
  54. package/dist/components/common/CreateButton.js.map +1 -1
  55. package/dist/components/common/CreateButton.tsx +8 -2
  56. package/dist/components/common/DownloadProgressToast.d.ts.map +1 -1
  57. package/dist/components/common/DownloadProgressToast.js +3 -3
  58. package/dist/components/common/DownloadProgressToast.js.map +1 -1
  59. package/dist/components/common/DownloadProgressToast.tsx +21 -18
  60. package/dist/components/common/DropzonePlaceholder.js +2 -2
  61. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  62. package/dist/components/common/DropzonePlaceholder.tsx +3 -3
  63. package/dist/components/common/DropzoneUpload.js +2 -2
  64. package/dist/components/common/DropzoneUpload.js.map +1 -1
  65. package/dist/components/common/DropzoneUpload.tsx +3 -3
  66. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  67. package/dist/components/common/GeneralSettings.js +70 -106
  68. package/dist/components/common/GeneralSettings.js.map +1 -1
  69. package/dist/components/common/GeneralSettings.tsx +168 -327
  70. package/dist/components/common/GlobalToast.d.ts +1 -1
  71. package/dist/components/common/GlobalToast.d.ts.map +1 -1
  72. package/dist/components/common/GlobalToast.js +1 -24
  73. package/dist/components/common/GlobalToast.js.map +1 -1
  74. package/dist/components/common/GlobalToast.tsx +1 -25
  75. package/dist/components/common/MultipleSelectAutoCompleteField.d.ts.map +1 -1
  76. package/dist/components/common/MultipleSelectAutoCompleteField.js +2 -2
  77. package/dist/components/common/MultipleSelectAutoCompleteField.js.map +1 -1
  78. package/dist/components/common/MultipleSelectAutoCompleteField.tsx +3 -5
  79. package/dist/components/common/NotFound.d.ts.map +1 -1
  80. package/dist/components/common/NotFound.js +3 -3
  81. package/dist/components/common/NotFound.js.map +1 -1
  82. package/dist/components/common/NotFound.tsx +8 -15
  83. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  84. package/dist/components/common/SocialMediaLogin.js +13 -4
  85. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  86. package/dist/components/common/SocialMediaLogin.tsx +58 -45
  87. package/dist/components/common/SolidAdmin.d.ts.map +1 -1
  88. package/dist/components/common/SolidAdmin.js +10 -2
  89. package/dist/components/common/SolidAdmin.js.map +1 -1
  90. package/dist/components/common/SolidAdmin.tsx +116 -131
  91. package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
  92. package/dist/components/common/SolidBreadcrumb.js +10 -25
  93. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  94. package/dist/components/common/SolidBreadcrumb.tsx +32 -26
  95. package/dist/components/common/SolidErrorPage.d.ts.map +1 -1
  96. package/dist/components/common/SolidErrorPage.js +4 -6
  97. package/dist/components/common/SolidErrorPage.js.map +1 -1
  98. package/dist/components/common/SolidErrorPage.tsx +11 -37
  99. package/dist/components/common/SolidExport.d.ts +1 -1
  100. package/dist/components/common/SolidExport.d.ts.map +1 -1
  101. package/dist/components/common/SolidExport.js +182 -221
  102. package/dist/components/common/SolidExport.js.map +1 -1
  103. package/dist/components/common/SolidExport.tsx +401 -453
  104. package/dist/components/common/SolidFieldTooltip.d.ts +1 -1
  105. package/dist/components/common/SolidFieldTooltip.d.ts.map +1 -1
  106. package/dist/components/common/SolidFieldTooltip.js +8 -7
  107. package/dist/components/common/SolidFieldTooltip.js.map +1 -1
  108. package/dist/components/common/SolidFieldTooltip.tsx +29 -16
  109. package/dist/components/common/SolidFormHeader.d.ts +1 -1
  110. package/dist/components/common/SolidFormHeader.d.ts.map +1 -1
  111. package/dist/components/common/SolidFormHeader.js +7 -5
  112. package/dist/components/common/SolidFormHeader.js.map +1 -1
  113. package/dist/components/common/SolidFormHeader.tsx +11 -6
  114. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  115. package/dist/components/common/SolidFormStepper.js +7 -22
  116. package/dist/components/common/SolidFormStepper.js.map +1 -1
  117. package/dist/components/common/SolidFormStepper.tsx +31 -50
  118. package/dist/components/common/SolidHeaderRequestStatus.d.ts +6 -0
  119. package/dist/components/common/SolidHeaderRequestStatus.d.ts.map +1 -0
  120. package/dist/components/common/SolidHeaderRequestStatus.js +9 -0
  121. package/dist/components/common/SolidHeaderRequestStatus.js.map +1 -0
  122. package/dist/components/common/SolidHeaderRequestStatus.tsx +16 -0
  123. package/dist/components/common/SolidModuleHome.d.ts.map +1 -1
  124. package/dist/components/common/SolidModuleHome.js +3 -3
  125. package/dist/components/common/SolidModuleHome.js.map +1 -1
  126. package/dist/components/common/SolidModuleHome.tsx +13 -5
  127. package/dist/components/common/SolidNotFoundPage.d.ts.map +1 -1
  128. package/dist/components/common/SolidNotFoundPage.js +4 -5
  129. package/dist/components/common/SolidNotFoundPage.js.map +1 -1
  130. package/dist/components/common/SolidNotFoundPage.tsx +11 -29
  131. package/dist/components/common/SolidPopupContainer.d.ts.map +1 -1
  132. package/dist/components/common/SolidPopupContainer.js +11 -6
  133. package/dist/components/common/SolidPopupContainer.js.map +1 -1
  134. package/dist/components/common/SolidPopupContainer.tsx +28 -29
  135. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts +11 -0
  136. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -0
  137. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +60 -0
  138. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -0
  139. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +76 -0
  140. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.d.ts.map +1 -1
  141. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +2 -3
  142. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  143. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +28 -38
  144. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.d.ts.map +1 -1
  145. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +2 -3
  146. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  147. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +28 -38
  148. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +2 -2
  149. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  150. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +3 -3
  151. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js +2 -2
  152. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js.map +1 -1
  153. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.tsx +3 -3
  154. package/dist/components/common/SolidToastProvider.d.ts +2 -0
  155. package/dist/components/common/SolidToastProvider.d.ts.map +1 -0
  156. package/dist/components/common/SolidToastProvider.js +45 -0
  157. package/dist/components/common/SolidToastProvider.js.map +1 -0
  158. package/dist/components/common/SolidToastProvider.tsx +39 -0
  159. package/dist/components/common/error.d.ts.map +1 -1
  160. package/dist/components/common/error.js +4 -2
  161. package/dist/components/common/error.js.map +1 -1
  162. package/dist/components/common/error.tsx +9 -15
  163. package/dist/components/common/solid-export.css +454 -59
  164. package/dist/components/core/card/CardGrid.d.ts +3 -0
  165. package/dist/components/core/card/CardGrid.d.ts.map +1 -0
  166. package/dist/components/core/card/CardGrid.js +42 -0
  167. package/dist/components/core/card/CardGrid.js.map +1 -0
  168. package/dist/components/core/card/CardGrid.tsx +83 -0
  169. package/dist/components/core/card/CardItem.d.ts +13 -0
  170. package/dist/components/core/card/CardItem.d.ts.map +1 -0
  171. package/dist/components/core/card/CardItem.js +21 -0
  172. package/dist/components/core/card/CardItem.js.map +1 -0
  173. package/dist/components/core/card/CardItem.tsx +91 -0
  174. package/dist/components/core/card/CardUserViewLayout.d.ts +2 -0
  175. package/dist/components/core/card/CardUserViewLayout.d.ts.map +1 -0
  176. package/dist/components/core/card/CardUserViewLayout.js +94 -0
  177. package/dist/components/core/card/CardUserViewLayout.js.map +1 -0
  178. package/dist/components/core/card/CardUserViewLayout.tsx +68 -0
  179. package/dist/components/core/card/SolidCardView.d.ts +8 -0
  180. package/dist/components/core/card/SolidCardView.d.ts.map +1 -0
  181. package/dist/components/core/card/SolidCardView.js +365 -0
  182. package/dist/components/core/card/SolidCardView.js.map +1 -0
  183. package/dist/components/core/card/SolidCardView.tsx +528 -0
  184. package/dist/components/core/card/SolidCardViewConfigure.d.ts +2 -0
  185. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -0
  186. package/dist/components/core/card/SolidCardViewConfigure.js +122 -0
  187. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -0
  188. package/dist/components/core/card/SolidCardViewConfigure.tsx +268 -0
  189. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  190. package/dist/components/core/chatter/SolidChatter.js +25 -21
  191. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  192. package/dist/components/core/chatter/SolidChatter.tsx +85 -67
  193. package/dist/components/core/chatter/SolidChatterAuditMessage.js +1 -1
  194. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  195. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +3 -3
  196. package/dist/components/core/chatter/SolidChatterCustomMessage.d.ts.map +1 -1
  197. package/dist/components/core/chatter/SolidChatterCustomMessage.js +2 -1
  198. package/dist/components/core/chatter/SolidChatterCustomMessage.js.map +1 -1
  199. package/dist/components/core/chatter/SolidChatterCustomMessage.tsx +3 -6
  200. package/dist/components/core/chatter/SolidChatterDateDivider.js.map +1 -1
  201. package/dist/components/core/chatter/SolidChatterDateDivider.tsx +1 -1
  202. package/dist/components/core/chatter/SolidChatterHeader.d.ts +1 -0
  203. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  204. package/dist/components/core/chatter/SolidChatterHeader.js +40 -30
  205. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  206. package/dist/components/core/chatter/SolidChatterHeader.tsx +137 -101
  207. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  208. package/dist/components/core/chatter/SolidChatterMessageBox.js +55 -21
  209. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  210. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +124 -91
  211. package/dist/components/core/chatter/SolidMessageComposer.d.ts +6 -3
  212. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  213. package/dist/components/core/chatter/SolidMessageComposer.js +15 -7
  214. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  215. package/dist/components/core/chatter/SolidMessageComposer.tsx +90 -49
  216. package/dist/components/core/chatter/chatter.module.css +197 -7
  217. package/dist/components/core/common/FilterComponent.d.ts +2 -8
  218. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  219. package/dist/components/core/common/FilterComponent.js +27 -49
  220. package/dist/components/core/common/FilterComponent.js.map +1 -1
  221. package/dist/components/core/common/FilterComponent.tsx +69 -127
  222. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  223. package/dist/components/core/common/GroupingComponent.js +40 -70
  224. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  225. package/dist/components/core/common/GroupingComponent.tsx +174 -251
  226. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts +1 -1
  227. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  228. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +12 -32
  229. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  230. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +530 -42
  231. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +71 -86
  232. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  233. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +75 -48
  234. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  235. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +242 -172
  236. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  237. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +44 -55
  238. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  239. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +108 -125
  240. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  241. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +106 -87
  242. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  243. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +332 -285
  244. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -1
  245. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +12 -13
  246. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -1
  247. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +48 -65
  248. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  249. package/dist/components/core/common/SolidCreateButton.js +5 -3
  250. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  251. package/dist/components/core/common/SolidCreateButton.tsx +20 -14
  252. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.d.ts.map +1 -1
  253. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js +30 -11
  254. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js.map +1 -1
  255. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.tsx +91 -43
  256. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +574 -27
  257. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  258. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +14 -9
  259. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  260. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +46 -24
  261. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
  262. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +24 -25
  263. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
  264. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +78 -54
  265. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.d.ts +1 -1
  266. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.d.ts.map +1 -1
  267. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js +15 -125
  268. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js.map +1 -1
  269. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.tsx +35 -213
  270. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  271. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +16 -31
  272. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  273. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +77 -84
  274. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.d.ts.map +1 -1
  275. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.js +11 -13
  276. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.js.map +1 -1
  277. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.tsx +87 -52
  278. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  279. package/dist/components/core/common/SolidGlobalSearchElement.js +319 -161
  280. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  281. package/dist/components/core/common/SolidGlobalSearchElement.tsx +654 -287
  282. package/dist/components/core/common/SolidLayoutViews.d.ts.map +1 -1
  283. package/dist/components/core/common/SolidLayoutViews.js +5 -8
  284. package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
  285. package/dist/components/core/common/SolidLayoutViews.tsx +49 -63
  286. package/dist/components/core/common/SolidListViewOptions.d.ts.map +1 -1
  287. package/dist/components/core/common/SolidListViewOptions.js +3 -3
  288. package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
  289. package/dist/components/core/common/SolidListViewOptions.tsx +7 -6
  290. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  291. package/dist/components/core/common/SolidSaveCustomFilterForm.js +3 -3
  292. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  293. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +31 -28
  294. package/dist/components/core/common/SolidSearchBox.d.ts.map +1 -1
  295. package/dist/components/core/common/SolidSearchBox.js +2 -2
  296. package/dist/components/core/common/SolidSearchBox.js.map +1 -1
  297. package/dist/components/core/common/SolidSearchBox.tsx +3 -4
  298. package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -1
  299. package/dist/components/core/dashboard/DashboardFilter.js +8 -14
  300. package/dist/components/core/dashboard/DashboardFilter.js.map +1 -1
  301. package/dist/components/core/dashboard/DashboardFilter.tsx +26 -34
  302. package/dist/components/core/dashboard/PrimeDataTableWrapper.js +2 -2
  303. package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -1
  304. package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +3 -3
  305. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -1
  306. package/dist/components/core/dashboard/SolidDashboard.js +13 -125
  307. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -1
  308. package/dist/components/core/dashboard/SolidDashboard.module.css +3 -3
  309. package/dist/components/core/dashboard/SolidDashboard.tsx +41 -187
  310. package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -1
  311. package/dist/components/core/dashboard/SolidDashboardBody.js +14 -14
  312. package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -1
  313. package/dist/components/core/dashboard/SolidDashboardBody.tsx +6 -7
  314. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -1
  315. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  316. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +3 -3
  317. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -1
  318. package/dist/components/core/dashboard/SolidDashboardLoading.js +5 -2
  319. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -1
  320. package/dist/components/core/dashboard/SolidDashboardLoading.tsx +20 -14
  321. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -1
  322. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  323. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +3 -3
  324. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -1
  325. package/dist/components/core/dashboard/SolidDashboardRenderError.js +2 -1
  326. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -1
  327. package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +3 -4
  328. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -1
  329. package/dist/components/core/dashboard/SolidDashboardVariable.js +9 -18
  330. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -1
  331. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +40 -37
  332. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -1
  333. package/dist/components/core/dashboard/SolidQuestionRenderer.js +16 -11
  334. package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -1
  335. package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +30 -11
  336. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -1
  337. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +4 -14
  338. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -1
  339. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +24 -27
  340. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.d.ts +1 -2
  341. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.d.ts.map +1 -1
  342. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js +2 -2
  343. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js.map +1 -1
  344. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.tsx +10 -12
  345. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +2 -2
  346. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -1
  347. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +3 -3
  348. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.d.ts +3 -0
  349. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.d.ts.map +1 -0
  350. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.js +69 -0
  351. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.js.map +1 -0
  352. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.tsx +139 -0
  353. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  354. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +3 -6
  355. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  356. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +54 -38
  357. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  358. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +74 -97
  359. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  360. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +178 -188
  361. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
  362. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +33 -35
  363. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
  364. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +123 -110
  365. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  366. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +70 -106
  367. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  368. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +175 -182
  369. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.d.ts +3 -0
  370. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.d.ts.map +1 -0
  371. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.js +128 -0
  372. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.js.map +1 -0
  373. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.tsx +193 -0
  374. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  375. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +10 -18
  376. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  377. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +32 -53
  378. package/dist/components/core/field/FieldListViewData.d.ts.map +1 -1
  379. package/dist/components/core/field/FieldListViewData.js +83 -74
  380. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  381. package/dist/components/core/field/FieldListViewData.tsx +120 -168
  382. package/dist/components/core/filter/SEARCH_FILTER_HIERARCHY.md +582 -0
  383. package/dist/components/core/filter/SolidBooleanFilterElement.d.ts +1 -1
  384. package/dist/components/core/filter/SolidBooleanFilterElement.d.ts.map +1 -1
  385. package/dist/components/core/filter/SolidBooleanFilterElement.js +4 -4
  386. package/dist/components/core/filter/SolidBooleanFilterElement.js.map +1 -1
  387. package/dist/components/core/filter/SolidBooleanFilterElement.tsx +7 -6
  388. package/dist/components/core/filter/SolidManyToManyFilterElement.d.ts +1 -1
  389. package/dist/components/core/filter/SolidManyToManyFilterElement.d.ts.map +1 -1
  390. package/dist/components/core/filter/SolidManyToManyFilterElement.js +5 -9
  391. package/dist/components/core/filter/SolidManyToManyFilterElement.js.map +1 -1
  392. package/dist/components/core/filter/SolidManyToManyFilterElement.tsx +8 -7
  393. package/dist/components/core/filter/SolidManyToOneFilterElement.d.ts +1 -1
  394. package/dist/components/core/filter/SolidManyToOneFilterElement.d.ts.map +1 -1
  395. package/dist/components/core/filter/SolidManyToOneFilterElement.js +4 -4
  396. package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
  397. package/dist/components/core/filter/SolidManyToOneFilterElement.tsx +7 -6
  398. package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts +1 -1
  399. package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts.map +1 -1
  400. package/dist/components/core/filter/SolidOneToManyFilterElement.js +5 -9
  401. package/dist/components/core/filter/SolidOneToManyFilterElement.js.map +1 -1
  402. package/dist/components/core/filter/SolidOneToManyFilterElement.tsx +8 -7
  403. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.d.ts +1 -1
  404. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.d.ts.map +1 -1
  405. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js +4 -4
  406. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js.map +1 -1
  407. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.tsx +7 -6
  408. package/dist/components/core/filter/SolidSelectionStaticFilterElement.d.ts +1 -1
  409. package/dist/components/core/filter/SolidSelectionStaticFilterElement.d.ts.map +1 -1
  410. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js +4 -4
  411. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js.map +1 -1
  412. package/dist/components/core/filter/SolidSelectionStaticFilterElement.tsx +7 -6
  413. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts +1 -1
  414. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts.map +1 -1
  415. package/dist/components/core/filter/SolidVarInputsFilterElement.js +109 -38
  416. package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
  417. package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +215 -155
  418. package/dist/components/core/filter/fields/SolidBooleanField.js +3 -3
  419. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  420. package/dist/components/core/filter/fields/SolidBooleanField.tsx +6 -6
  421. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  422. package/dist/components/core/filter/fields/SolidDateField.js +3 -5
  423. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  424. package/dist/components/core/filter/fields/SolidDateField.tsx +6 -8
  425. package/dist/components/core/filter/fields/SolidDatetimeField.js +3 -3
  426. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  427. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +5 -5
  428. package/dist/components/core/filter/fields/SolidExternalIdField.js +5 -5
  429. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  430. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +8 -8
  431. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  432. package/dist/components/core/filter/fields/SolidIdField.js +11 -4
  433. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  434. package/dist/components/core/filter/fields/SolidIdField.tsx +12 -5
  435. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  436. package/dist/components/core/filter/fields/SolidIntField.js +3 -5
  437. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  438. package/dist/components/core/filter/fields/SolidIntField.tsx +6 -8
  439. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  440. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +3 -5
  441. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  442. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +6 -8
  443. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  444. package/dist/components/core/filter/fields/SolidMediaSingleField.js +3 -5
  445. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  446. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +6 -8
  447. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +3 -3
  448. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  449. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +5 -5
  450. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +3 -3
  451. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  452. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +5 -5
  453. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  454. package/dist/components/core/filter/fields/SolidShortTextField.js +3 -5
  455. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  456. package/dist/components/core/filter/fields/SolidShortTextField.tsx +6 -8
  457. package/dist/components/core/filter/fields/SolidTimeField.js +3 -3
  458. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  459. package/dist/components/core/filter/fields/SolidTimeField.tsx +5 -5
  460. package/dist/components/core/filter/fields/SolidUuidField.js +5 -5
  461. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  462. package/dist/components/core/filter/fields/SolidUuidField.tsx +8 -8
  463. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +2 -2
  464. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  465. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +4 -4
  466. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +3 -3
  467. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  468. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +5 -5
  469. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +2 -2
  470. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  471. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +4 -4
  472. package/dist/components/core/filter/filterMatchMode.d.ts +17 -0
  473. package/dist/components/core/filter/filterMatchMode.d.ts.map +1 -0
  474. package/dist/components/core/filter/filterMatchMode.js +16 -0
  475. package/dist/components/core/filter/filterMatchMode.js.map +1 -0
  476. package/dist/components/core/filter/filterMatchMode.ts +18 -0
  477. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  478. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  479. package/dist/components/core/form/SolidFormActionHeader.js +60 -54
  480. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  481. package/dist/components/core/form/SolidFormActionHeader.tsx +356 -331
  482. package/dist/components/core/form/SolidFormFieldRender.js +2 -2
  483. package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
  484. package/dist/components/core/form/SolidFormFieldRender.tsx +2 -2
  485. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  486. package/dist/components/core/form/SolidFormFooter.js +2 -2
  487. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  488. package/dist/components/core/form/SolidFormFooter.tsx +26 -18
  489. package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
  490. package/dist/components/core/form/SolidFormUserViewLayout.js +3 -6
  491. package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
  492. package/dist/components/core/form/SolidFormUserViewLayout.tsx +8 -12
  493. package/dist/components/core/form/SolidFormView.d.ts +0 -3
  494. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  495. package/dist/components/core/form/SolidFormView.js +62 -100
  496. package/dist/components/core/form/SolidFormView.js.map +1 -1
  497. package/dist/components/core/form/SolidFormView.tsx +140 -163
  498. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts +3 -1
  499. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  500. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +22 -16
  501. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  502. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +46 -17
  503. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts +3 -1
  504. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  505. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +21 -15
  506. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  507. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +39 -17
  508. package/dist/components/core/form/SolidFormViewShimmerLoading.d.ts.map +1 -1
  509. package/dist/components/core/form/SolidFormViewShimmerLoading.js +5 -2
  510. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  511. package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +40 -37
  512. package/dist/components/core/form/fields/SolidBooleanField.d.ts +1 -1
  513. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  514. package/dist/components/core/form/fields/SolidBooleanField.js +80 -69
  515. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  516. package/dist/components/core/form/fields/SolidBooleanField.tsx +116 -145
  517. package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
  518. package/dist/components/core/form/fields/SolidDateField.js +22 -49
  519. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  520. package/dist/components/core/form/fields/SolidDateField.tsx +30 -72
  521. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  522. package/dist/components/core/form/fields/SolidDateTimeField.js +22 -48
  523. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  524. package/dist/components/core/form/fields/SolidDateTimeField.tsx +33 -69
  525. package/dist/components/core/form/fields/SolidDecimalField.d.ts +1 -1
  526. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  527. package/dist/components/core/form/fields/SolidDecimalField.js +17 -17
  528. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  529. package/dist/components/core/form/fields/SolidDecimalField.tsx +21 -24
  530. package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
  531. package/dist/components/core/form/fields/SolidEmailField.js +11 -15
  532. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  533. package/dist/components/core/form/fields/SolidEmailField.tsx +27 -33
  534. package/dist/components/core/form/fields/SolidIntegerField.d.ts +1 -1
  535. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  536. package/dist/components/core/form/fields/SolidIntegerField.js +12 -9
  537. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  538. package/dist/components/core/form/fields/SolidIntegerField.tsx +23 -24
  539. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  540. package/dist/components/core/form/fields/SolidJsonField.js +15 -10
  541. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  542. package/dist/components/core/form/fields/SolidJsonField.tsx +21 -20
  543. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  544. package/dist/components/core/form/fields/SolidLongTextField.js +28 -44
  545. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  546. package/dist/components/core/form/fields/SolidLongTextField.tsx +90 -119
  547. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  548. package/dist/components/core/form/fields/SolidMediaMultipleField.js +33 -41
  549. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  550. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +96 -94
  551. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  552. package/dist/components/core/form/fields/SolidMediaSingleField.js +10 -23
  553. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  554. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +94 -91
  555. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  556. package/dist/components/core/form/fields/SolidPasswordField.js +29 -32
  557. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  558. package/dist/components/core/form/fields/SolidPasswordField.tsx +89 -88
  559. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  560. package/dist/components/core/form/fields/SolidRichTextField.js +6 -8
  561. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  562. package/dist/components/core/form/fields/SolidRichTextField.tsx +31 -46
  563. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  564. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +36 -24
  565. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  566. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +56 -61
  567. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  568. package/dist/components/core/form/fields/SolidSelectionStaticField.js +60 -74
  569. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  570. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +99 -167
  571. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  572. package/dist/components/core/form/fields/SolidShortTextField.js +23 -36
  573. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  574. package/dist/components/core/form/fields/SolidShortTextField.tsx +54 -119
  575. package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
  576. package/dist/components/core/form/fields/SolidTimeField.js +14 -14
  577. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  578. package/dist/components/core/form/fields/SolidTimeField.tsx +23 -26
  579. package/dist/components/core/form/fields/fieldEventUtils.d.ts +10 -0
  580. package/dist/components/core/form/fields/fieldEventUtils.d.ts.map +1 -0
  581. package/dist/components/core/form/fields/fieldEventUtils.js +11 -0
  582. package/dist/components/core/form/fields/fieldEventUtils.js.map +1 -0
  583. package/dist/components/core/form/fields/fieldEventUtils.ts +24 -0
  584. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  585. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +19 -12
  586. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  587. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +57 -53
  588. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  589. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +37 -25
  590. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  591. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +52 -34
  592. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  593. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +9 -8
  594. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  595. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +15 -18
  596. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  597. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +5 -8
  598. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  599. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +20 -13
  600. package/dist/components/core/form/fields/solidFields.module.css +192 -1
  601. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.d.ts.map +1 -1
  602. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +76 -56
  603. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  604. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +106 -120
  605. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +8 -8
  606. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  607. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +16 -16
  608. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.d.ts.map +1 -1
  609. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
  610. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +0 -5
  611. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts.map +1 -1
  612. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +9 -8
  613. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  614. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +38 -29
  615. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.d.ts.map +1 -1
  616. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
  617. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +1 -6
  618. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  619. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  620. package/dist/components/core/kanban/KanbanBoard.js +38 -8
  621. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  622. package/dist/components/core/kanban/KanbanBoard.tsx +55 -9
  623. package/dist/components/core/kanban/KanbanCard.d.ts +7 -0
  624. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  625. package/dist/components/core/kanban/KanbanCard.js +22 -162
  626. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  627. package/dist/components/core/kanban/KanbanCard.tsx +64 -222
  628. package/dist/components/core/kanban/KanbanColumn.d.ts +3 -2
  629. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  630. package/dist/components/core/kanban/KanbanColumn.js +8 -14
  631. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  632. package/dist/components/core/kanban/KanbanColumn.tsx +59 -80
  633. package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
  634. package/dist/components/core/kanban/KanbanUserViewLayout.js +4 -7
  635. package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
  636. package/dist/components/core/kanban/KanbanUserViewLayout.tsx +15 -16
  637. package/dist/components/core/kanban/SolidKanbanView.d.ts +0 -2
  638. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  639. package/dist/components/core/kanban/SolidKanbanView.js +121 -74
  640. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  641. package/dist/components/core/kanban/SolidKanbanView.tsx +221 -139
  642. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
  643. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  644. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +111 -52
  645. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  646. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +239 -122
  647. package/dist/components/core/list/ListViewRowActionPopup.d.ts.map +1 -1
  648. package/dist/components/core/list/ListViewRowActionPopup.js +3 -2
  649. package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
  650. package/dist/components/core/list/ListViewRowActionPopup.tsx +8 -5
  651. package/dist/components/core/list/PLAN.md +22 -2
  652. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts +1 -1
  653. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  654. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +3 -8
  655. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  656. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +19 -24
  657. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  658. package/dist/components/core/list/SolidDataTable.js +7 -4
  659. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  660. package/dist/components/core/list/SolidDataTable.tsx +8 -5
  661. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts +1 -1
  662. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  663. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +51 -30
  664. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  665. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +122 -90
  666. package/dist/components/core/list/SolidListView.d.ts +5 -12
  667. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  668. package/dist/components/core/list/SolidListView.js +363 -426
  669. package/dist/components/core/list/SolidListView.js.map +1 -1
  670. package/dist/components/core/list/SolidListView.tsx +713 -899
  671. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  672. package/dist/components/core/list/SolidListViewConfigure.js +50 -61
  673. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  674. package/dist/components/core/list/SolidListViewConfigure.tsx +237 -215
  675. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  676. package/dist/components/core/list/SolidListViewHeaderButton.js +6 -5
  677. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  678. package/dist/components/core/list/SolidListViewHeaderButton.tsx +9 -7
  679. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts +1 -1
  680. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  681. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +12 -7
  682. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  683. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +15 -13
  684. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts +2 -0
  685. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -0
  686. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +42 -0
  687. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -0
  688. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +43 -0
  689. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts +2 -0
  690. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -0
  691. package/dist/components/core/list/SolidListViewRowActionsMenu.js +32 -0
  692. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -0
  693. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +106 -0
  694. package/dist/components/core/list/SolidListViewShimmerLoading.d.ts.map +1 -1
  695. package/dist/components/core/list/SolidListViewShimmerLoading.js +3 -4
  696. package/dist/components/core/list/SolidListViewShimmerLoading.js.map +1 -1
  697. package/dist/components/core/list/SolidListViewShimmerLoading.tsx +4 -72
  698. package/dist/components/core/list/SolidListViewWrapper.module.css +82 -41
  699. package/dist/components/core/list/SolidManyToOneFilterElement.d.ts.map +1 -1
  700. package/dist/components/core/list/SolidManyToOneFilterElement.js +2 -2
  701. package/dist/components/core/list/SolidManyToOneFilterElement.js.map +1 -1
  702. package/dist/components/core/list/SolidManyToOneFilterElement.tsx +5 -5
  703. package/dist/components/core/list/SolidSelectionDynamicFilterElement.d.ts.map +1 -1
  704. package/dist/components/core/list/SolidSelectionDynamicFilterElement.js +2 -2
  705. package/dist/components/core/list/SolidSelectionDynamicFilterElement.js.map +1 -1
  706. package/dist/components/core/list/SolidSelectionDynamicFilterElement.tsx +5 -4
  707. package/dist/components/core/list/SolidSelectionStaticFilterElement.d.ts.map +1 -1
  708. package/dist/components/core/list/SolidSelectionStaticFilterElement.js +2 -2
  709. package/dist/components/core/list/SolidSelectionStaticFilterElement.js.map +1 -1
  710. package/dist/components/core/list/SolidSelectionStaticFilterElement.tsx +5 -4
  711. package/dist/components/core/list/SolidTableRowCell.d.ts.map +1 -1
  712. package/dist/components/core/list/SolidTableRowCell.js +4 -3
  713. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  714. package/dist/components/core/list/SolidTableRowCell.tsx +11 -8
  715. package/dist/components/core/list/columns/SolidBooleanColumn.js +2 -2
  716. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  717. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +2 -2
  718. package/dist/components/core/list/columns/SolidDateColumn.js +1 -1
  719. package/dist/components/core/list/columns/SolidDateColumn.js.map +1 -1
  720. package/dist/components/core/list/columns/SolidDateColumn.tsx +1 -1
  721. package/dist/components/core/list/columns/SolidDatetimeColumn.js +1 -1
  722. package/dist/components/core/list/columns/SolidDatetimeColumn.js.map +1 -1
  723. package/dist/components/core/list/columns/SolidDatetimeColumn.tsx +1 -1
  724. package/dist/components/core/list/columns/SolidExternalIdColumn.js +1 -1
  725. package/dist/components/core/list/columns/SolidExternalIdColumn.js.map +1 -1
  726. package/dist/components/core/list/columns/SolidExternalIdColumn.tsx +1 -1
  727. package/dist/components/core/list/columns/SolidIdColumn.js +2 -2
  728. package/dist/components/core/list/columns/SolidIdColumn.js.map +1 -1
  729. package/dist/components/core/list/columns/SolidIdColumn.tsx +3 -3
  730. package/dist/components/core/list/columns/SolidIntColumn.d.ts.map +1 -1
  731. package/dist/components/core/list/columns/SolidIntColumn.js +2 -2
  732. package/dist/components/core/list/columns/SolidIntColumn.js.map +1 -1
  733. package/dist/components/core/list/columns/SolidIntColumn.tsx +4 -2
  734. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  735. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +7 -10
  736. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  737. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +13 -18
  738. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  739. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +4 -4
  740. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  741. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +4 -4
  742. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js +1 -1
  743. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js.map +1 -1
  744. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.tsx +1 -1
  745. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js +1 -1
  746. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js.map +1 -1
  747. package/dist/components/core/list/columns/SolidSelectionStaticColumn.tsx +1 -1
  748. package/dist/components/core/list/columns/SolidShortTextColumn.js +1 -1
  749. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  750. package/dist/components/core/list/columns/SolidShortTextColumn.tsx +1 -1
  751. package/dist/components/core/list/columns/SolidTimeColumn.js +1 -1
  752. package/dist/components/core/list/columns/SolidTimeColumn.js.map +1 -1
  753. package/dist/components/core/list/columns/SolidTimeColumn.tsx +1 -1
  754. package/dist/components/core/list/columns/SolidUuidColumn.js +1 -1
  755. package/dist/components/core/list/columns/SolidUuidColumn.js.map +1 -1
  756. package/dist/components/core/list/columns/SolidUuidColumn.tsx +1 -1
  757. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js +1 -1
  758. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
  759. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +1 -1
  760. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  761. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +5 -7
  762. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  763. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +9 -11
  764. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js +1 -1
  765. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
  766. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +1 -1
  767. package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
  768. package/dist/components/core/locales/SolidChatterLocaleTabView.js +50 -6
  769. package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
  770. package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +78 -43
  771. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  772. package/dist/components/core/locales/SolidLocale.js +4 -8
  773. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  774. package/dist/components/core/locales/SolidLocale.tsx +5 -11
  775. package/dist/components/core/locales/solid-locale.css +44 -23
  776. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  777. package/dist/components/core/model/CreateModel.js +58 -63
  778. package/dist/components/core/model/CreateModel.js.map +1 -1
  779. package/dist/components/core/model/CreateModel.tsx +178 -212
  780. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  781. package/dist/components/core/model/FieldMetaData.js +29 -40
  782. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  783. package/dist/components/core/model/FieldMetaData.tsx +128 -100
  784. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  785. package/dist/components/core/model/FieldMetaDataForm.js +521 -270
  786. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  787. package/dist/components/core/model/FieldMetaDataForm.tsx +1142 -956
  788. package/dist/components/core/model/FieldSelector.d.ts +5 -1
  789. package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
  790. package/dist/components/core/model/FieldSelector.js +52 -30
  791. package/dist/components/core/model/FieldSelector.js.map +1 -1
  792. package/dist/components/core/model/FieldSelector.tsx +119 -57
  793. package/dist/components/core/model/ModelListViewData.d.ts.map +1 -1
  794. package/dist/components/core/model/ModelListViewData.js +110 -91
  795. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  796. package/dist/components/core/model/ModelListViewData.tsx +172 -220
  797. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  798. package/dist/components/core/model/ModelMetaData.js +105 -61
  799. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  800. package/dist/components/core/model/ModelMetaData.tsx +277 -457
  801. package/dist/components/core/module/CreateModule.d.ts +1 -1
  802. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  803. package/dist/components/core/module/CreateModule.js +33 -54
  804. package/dist/components/core/module/CreateModule.js.map +1 -1
  805. package/dist/components/core/module/CreateModule.tsx +273 -299
  806. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  807. package/dist/components/core/module/ModuleListViewData.js +104 -135
  808. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  809. package/dist/components/core/module/ModuleListViewData.tsx +172 -278
  810. package/dist/components/core/solid-ai/SolidAiChat.d.ts.map +1 -1
  811. package/dist/components/core/solid-ai/SolidAiChat.js +25 -20
  812. package/dist/components/core/solid-ai/SolidAiChat.js.map +1 -1
  813. package/dist/components/core/solid-ai/SolidAiChat.tsx +80 -31
  814. package/dist/components/core/solid-ai/SolidAiMainWrapper.d.ts.map +1 -1
  815. package/dist/components/core/solid-ai/SolidAiMainWrapper.js +5 -2
  816. package/dist/components/core/solid-ai/SolidAiMainWrapper.js.map +1 -1
  817. package/dist/components/core/solid-ai/SolidAiMainWrapper.tsx +7 -2
  818. package/dist/components/core/tree/SolidTreeTable.d.ts +73 -0
  819. package/dist/components/core/tree/SolidTreeTable.d.ts.map +1 -0
  820. package/dist/components/core/tree/SolidTreeTable.js +275 -0
  821. package/dist/components/core/tree/SolidTreeTable.js.map +1 -0
  822. package/dist/components/core/tree/SolidTreeTable.tsx +522 -0
  823. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  824. package/dist/components/core/tree/SolidTreeView.js +266 -244
  825. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  826. package/dist/components/core/tree/SolidTreeView.tsx +606 -625
  827. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  828. package/dist/components/core/users/CreateUser.js +81 -143
  829. package/dist/components/core/users/CreateUser.js.map +1 -1
  830. package/dist/components/core/users/CreateUser.tsx +217 -317
  831. package/dist/components/core/users/CreateUserRole.d.ts.map +1 -1
  832. package/dist/components/core/users/CreateUserRole.js +14 -21
  833. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  834. package/dist/components/core/users/CreateUserRole.tsx +16 -33
  835. package/dist/components/core/users/UserListView.d.ts.map +1 -1
  836. package/dist/components/core/users/UserListView.js +95 -92
  837. package/dist/components/core/users/UserListView.js.map +1 -1
  838. package/dist/components/core/users/UserListView.tsx +286 -330
  839. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  840. package/dist/components/layout/AdminLayout.js +4 -12
  841. package/dist/components/layout/AdminLayout.js.map +1 -1
  842. package/dist/components/layout/AdminLayout.tsx +22 -31
  843. package/dist/components/layout/AppConfig.d.ts +2 -2
  844. package/dist/components/layout/AppConfig.d.ts.map +1 -1
  845. package/dist/components/layout/AppConfig.js +9 -47
  846. package/dist/components/layout/AppConfig.js.map +1 -1
  847. package/dist/components/layout/AppConfig.tsx +10 -98
  848. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  849. package/dist/components/layout/AppSidebar.js +149 -86
  850. package/dist/components/layout/AppSidebar.js.map +1 -1
  851. package/dist/components/layout/AppSidebar.tsx +281 -164
  852. package/dist/components/layout/DashboardHeader.d.ts.map +1 -1
  853. package/dist/components/layout/DashboardHeader.js +11 -17
  854. package/dist/components/layout/DashboardHeader.js.map +1 -1
  855. package/dist/components/layout/DashboardHeader.tsx +40 -35
  856. package/dist/components/layout/FilterMenu.d.ts.map +1 -1
  857. package/dist/components/layout/FilterMenu.js +4 -6
  858. package/dist/components/layout/FilterMenu.js.map +1 -1
  859. package/dist/components/layout/FilterMenu.tsx +21 -19
  860. package/dist/components/layout/GlobalSearch.d.ts.map +1 -1
  861. package/dist/components/layout/GlobalSearch.js +2 -6
  862. package/dist/components/layout/GlobalSearch.js.map +1 -1
  863. package/dist/components/layout/GlobalSearch.tsx +7 -13
  864. package/dist/components/layout/Layout.d.ts.map +1 -1
  865. package/dist/components/layout/Layout.js +11 -130
  866. package/dist/components/layout/Layout.js.map +1 -1
  867. package/dist/components/layout/Layout.tsx +18 -161
  868. package/dist/components/layout/ListingHeader.d.ts.map +1 -1
  869. package/dist/components/layout/ListingHeader.js +4 -8
  870. package/dist/components/layout/ListingHeader.js.map +1 -1
  871. package/dist/components/layout/ListingHeader.tsx +3 -9
  872. package/dist/components/layout/SolidAiStudioLayout.d.ts.map +1 -1
  873. package/dist/components/layout/SolidAiStudioLayout.js +14 -63
  874. package/dist/components/layout/SolidAiStudioLayout.js.map +1 -1
  875. package/dist/components/layout/SolidAiStudioLayout.tsx +75 -187
  876. package/dist/components/layout/UserSidebar.d.ts.map +1 -1
  877. package/dist/components/layout/UserSidebar.js +5 -4
  878. package/dist/components/layout/UserSidebar.js.map +1 -1
  879. package/dist/components/layout/UserSidebar.tsx +6 -5
  880. package/dist/components/layout/context/layoutcontext.d.ts.map +1 -1
  881. package/dist/components/layout/context/layoutcontext.js +31 -6
  882. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  883. package/dist/components/layout/context/layoutcontext.tsx +31 -2
  884. package/dist/components/layout/navbar-one.d.ts.map +1 -1
  885. package/dist/components/layout/navbar-one.js +3 -8
  886. package/dist/components/layout/navbar-one.js.map +1 -1
  887. package/dist/components/layout/navbar-one.tsx +24 -15
  888. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  889. package/dist/components/layout/navbar-two-menu.js +16 -2
  890. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  891. package/dist/components/layout/navbar-two-menu.tsx +50 -13
  892. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  893. package/dist/components/layout/user-profile-menu.js +74 -59
  894. package/dist/components/layout/user-profile-menu.js.map +1 -1
  895. package/dist/components/layout/user-profile-menu.tsx +206 -143
  896. package/dist/components/shad-cn-ui/SolidAccordion.d.ts +7 -0
  897. package/dist/components/shad-cn-ui/SolidAccordion.d.ts.map +1 -0
  898. package/dist/components/shad-cn-ui/SolidAccordion.js +47 -0
  899. package/dist/components/shad-cn-ui/SolidAccordion.js.map +1 -0
  900. package/dist/components/shad-cn-ui/SolidAccordion.tsx +41 -0
  901. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +12 -1
  902. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  903. package/dist/components/shad-cn-ui/SolidAutocomplete.js +31 -15
  904. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  905. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +60 -24
  906. package/dist/components/shad-cn-ui/SolidButton.d.ts +10 -2
  907. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  908. package/dist/components/shad-cn-ui/SolidButton.js +18 -2
  909. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  910. package/dist/components/shad-cn-ui/SolidButton.tsx +54 -8
  911. package/dist/components/shad-cn-ui/SolidCheckbox.d.ts +7 -0
  912. package/dist/components/shad-cn-ui/SolidCheckbox.d.ts.map +1 -0
  913. package/dist/components/shad-cn-ui/SolidCheckbox.js +35 -0
  914. package/dist/components/shad-cn-ui/SolidCheckbox.js.map +1 -0
  915. package/dist/components/shad-cn-ui/SolidCheckbox.tsx +19 -0
  916. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts +12 -0
  917. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -0
  918. package/dist/components/shad-cn-ui/SolidCodeEditor.js +13 -0
  919. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -0
  920. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +38 -0
  921. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +14 -0
  922. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -0
  923. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +8 -0
  924. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -0
  925. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +50 -0
  926. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +10 -0
  927. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -0
  928. package/dist/components/shad-cn-ui/SolidDatePicker.js +65 -0
  929. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -0
  930. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +72 -0
  931. package/dist/components/shad-cn-ui/SolidDialog.d.ts +40 -0
  932. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -0
  933. package/dist/components/shad-cn-ui/SolidDialog.js +61 -0
  934. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -0
  935. package/dist/components/shad-cn-ui/SolidDialog.tsx +138 -0
  936. package/dist/components/shad-cn-ui/SolidDivider.d.ts +4 -0
  937. package/dist/components/shad-cn-ui/SolidDivider.d.ts.map +1 -0
  938. package/dist/components/shad-cn-ui/SolidDivider.js +6 -0
  939. package/dist/components/shad-cn-ui/SolidDivider.js.map +1 -0
  940. package/dist/components/shad-cn-ui/SolidDivider.tsx +5 -0
  941. package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts +15 -0
  942. package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts.map +1 -0
  943. package/dist/components/shad-cn-ui/SolidDropdownMenu.js +70 -0
  944. package/dist/components/shad-cn-ui/SolidDropdownMenu.js.map +1 -0
  945. package/dist/components/shad-cn-ui/SolidDropdownMenu.tsx +124 -0
  946. package/dist/components/shad-cn-ui/SolidIcon.d.ts +92 -0
  947. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -0
  948. package/dist/components/shad-cn-ui/SolidIcon.js +148 -0
  949. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -0
  950. package/dist/components/shad-cn-ui/SolidIcon.tsx +220 -0
  951. package/dist/components/shad-cn-ui/SolidInput.d.ts +1 -1
  952. package/dist/components/shad-cn-ui/SolidInput.d.ts.map +1 -1
  953. package/dist/components/shad-cn-ui/SolidInput.js +4 -3
  954. package/dist/components/shad-cn-ui/SolidInput.js.map +1 -1
  955. package/dist/components/shad-cn-ui/SolidInput.tsx +6 -4
  956. package/dist/components/shad-cn-ui/SolidLightbox.d.ts +19 -0
  957. package/dist/components/shad-cn-ui/SolidLightbox.d.ts.map +1 -0
  958. package/dist/components/shad-cn-ui/SolidLightbox.js +160 -0
  959. package/dist/components/shad-cn-ui/SolidLightbox.js.map +1 -0
  960. package/dist/components/shad-cn-ui/SolidLightbox.tsx +281 -0
  961. package/dist/components/shad-cn-ui/SolidMessage.d.ts +10 -0
  962. package/dist/components/shad-cn-ui/SolidMessage.d.ts.map +1 -0
  963. package/dist/components/shad-cn-ui/SolidMessage.js +13 -0
  964. package/dist/components/shad-cn-ui/SolidMessage.js.map +1 -0
  965. package/dist/components/shad-cn-ui/SolidMessage.tsx +20 -0
  966. package/dist/components/shad-cn-ui/SolidOtpInput.d.ts +12 -0
  967. package/dist/components/shad-cn-ui/SolidOtpInput.d.ts.map +1 -0
  968. package/dist/components/shad-cn-ui/SolidOtpInput.js +143 -0
  969. package/dist/components/shad-cn-ui/SolidOtpInput.js.map +1 -0
  970. package/dist/components/shad-cn-ui/SolidOtpInput.tsx +149 -0
  971. package/dist/components/shad-cn-ui/SolidPanel.d.ts +11 -0
  972. package/dist/components/shad-cn-ui/SolidPanel.d.ts.map +1 -0
  973. package/dist/components/shad-cn-ui/SolidPanel.js +17 -0
  974. package/dist/components/shad-cn-ui/SolidPanel.js.map +1 -0
  975. package/dist/components/shad-cn-ui/SolidPanel.tsx +36 -0
  976. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts +7 -0
  977. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -0
  978. package/dist/components/shad-cn-ui/SolidPasswordInput.js +39 -0
  979. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -0
  980. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +31 -0
  981. package/dist/components/shad-cn-ui/SolidPopover.d.ts +19 -0
  982. package/dist/components/shad-cn-ui/SolidPopover.d.ts.map +1 -0
  983. package/dist/components/shad-cn-ui/SolidPopover.js +110 -0
  984. package/dist/components/shad-cn-ui/SolidPopover.js.map +1 -0
  985. package/dist/components/shad-cn-ui/SolidPopover.tsx +149 -0
  986. package/dist/components/shad-cn-ui/SolidProgressBar.d.ts +10 -0
  987. package/dist/components/shad-cn-ui/SolidProgressBar.d.ts.map +1 -0
  988. package/dist/components/shad-cn-ui/SolidProgressBar.js +14 -0
  989. package/dist/components/shad-cn-ui/SolidProgressBar.js.map +1 -0
  990. package/dist/components/shad-cn-ui/SolidProgressBar.tsx +29 -0
  991. package/dist/components/shad-cn-ui/SolidRadioGroup.d.ts +17 -0
  992. package/dist/components/shad-cn-ui/SolidRadioGroup.d.ts.map +1 -0
  993. package/dist/components/shad-cn-ui/SolidRadioGroup.js +13 -0
  994. package/dist/components/shad-cn-ui/SolidRadioGroup.js.map +1 -0
  995. package/dist/components/shad-cn-ui/SolidRadioGroup.tsx +50 -0
  996. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts +17 -0
  997. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -0
  998. package/dist/components/shad-cn-ui/SolidRichTextEditor.js +109 -0
  999. package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -0
  1000. package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +146 -0
  1001. package/dist/components/shad-cn-ui/SolidSegmentedControl.d.ts +17 -0
  1002. package/dist/components/shad-cn-ui/SolidSegmentedControl.d.ts.map +1 -0
  1003. package/dist/components/shad-cn-ui/SolidSegmentedControl.js +34 -0
  1004. package/dist/components/shad-cn-ui/SolidSegmentedControl.js.map +1 -0
  1005. package/dist/components/shad-cn-ui/SolidSegmentedControl.tsx +60 -0
  1006. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  1007. package/dist/components/shad-cn-ui/SolidSelect.js +2 -1
  1008. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  1009. package/dist/components/shad-cn-ui/SolidSelect.tsx +2 -2
  1010. package/dist/components/shad-cn-ui/SolidSlider.d.ts +12 -0
  1011. package/dist/components/shad-cn-ui/SolidSlider.d.ts.map +1 -0
  1012. package/dist/components/shad-cn-ui/SolidSlider.js +13 -0
  1013. package/dist/components/shad-cn-ui/SolidSlider.js.map +1 -0
  1014. package/dist/components/shad-cn-ui/SolidSlider.tsx +30 -0
  1015. package/dist/components/shad-cn-ui/SolidSpinner.d.ts +8 -0
  1016. package/dist/components/shad-cn-ui/SolidSpinner.d.ts.map +1 -0
  1017. package/dist/components/shad-cn-ui/SolidSpinner.js +14 -0
  1018. package/dist/components/shad-cn-ui/SolidSpinner.js.map +1 -0
  1019. package/dist/components/shad-cn-ui/SolidSpinner.tsx +21 -0
  1020. package/dist/components/shad-cn-ui/SolidSwitch.d.ts +10 -0
  1021. package/dist/components/shad-cn-ui/SolidSwitch.d.ts.map +1 -0
  1022. package/dist/components/shad-cn-ui/SolidSwitch.js +18 -0
  1023. package/dist/components/shad-cn-ui/SolidSwitch.js.map +1 -0
  1024. package/dist/components/shad-cn-ui/SolidSwitch.tsx +34 -0
  1025. package/dist/components/shad-cn-ui/SolidTabs.d.ts +3 -1
  1026. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  1027. package/dist/components/shad-cn-ui/SolidTabs.js +4 -4
  1028. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  1029. package/dist/components/shad-cn-ui/SolidTabs.tsx +16 -4
  1030. package/dist/components/shad-cn-ui/SolidTag.d.ts +9 -0
  1031. package/dist/components/shad-cn-ui/SolidTag.d.ts.map +1 -0
  1032. package/dist/components/shad-cn-ui/SolidTag.js +13 -0
  1033. package/dist/components/shad-cn-ui/SolidTag.js.map +1 -0
  1034. package/dist/components/shad-cn-ui/SolidTag.tsx +15 -0
  1035. package/dist/components/shad-cn-ui/SolidTextarea.d.ts +5 -0
  1036. package/dist/components/shad-cn-ui/SolidTextarea.d.ts.map +1 -0
  1037. package/dist/components/shad-cn-ui/SolidTextarea.js +35 -0
  1038. package/dist/components/shad-cn-ui/SolidTextarea.js.map +1 -0
  1039. package/dist/components/shad-cn-ui/SolidTextarea.tsx +11 -0
  1040. package/dist/components/shad-cn-ui/SolidToast.d.ts +13 -0
  1041. package/dist/components/shad-cn-ui/SolidToast.d.ts.map +1 -0
  1042. package/dist/components/shad-cn-ui/SolidToast.js +34 -0
  1043. package/dist/components/shad-cn-ui/SolidToast.js.map +1 -0
  1044. package/dist/components/shad-cn-ui/SolidToast.tsx +55 -0
  1045. package/dist/components/shad-cn-ui/SolidTooltip.d.ts +22 -0
  1046. package/dist/components/shad-cn-ui/SolidTooltip.d.ts.map +1 -0
  1047. package/dist/components/shad-cn-ui/SolidTooltip.js +22 -0
  1048. package/dist/components/shad-cn-ui/SolidTooltip.js.map +1 -0
  1049. package/dist/components/shad-cn-ui/SolidTooltip.tsx +65 -0
  1050. package/dist/components/shad-cn-ui/index.d.ts +26 -0
  1051. package/dist/components/shad-cn-ui/index.d.ts.map +1 -1
  1052. package/dist/components/shad-cn-ui/index.js +26 -0
  1053. package/dist/components/shad-cn-ui/index.js.map +1 -1
  1054. package/dist/components/shad-cn-ui/index.ts +48 -0
  1055. package/dist/helpers/mediaType.d.ts +3 -0
  1056. package/dist/helpers/mediaType.d.ts.map +1 -0
  1057. package/dist/helpers/mediaType.js +19 -0
  1058. package/dist/helpers/mediaType.js.map +1 -0
  1059. package/dist/helpers/mediaType.ts +23 -0
  1060. package/dist/helpers/registry.d.ts +3 -4
  1061. package/dist/helpers/registry.d.ts.map +1 -1
  1062. package/dist/helpers/registry.js +97 -90
  1063. package/dist/helpers/registry.js.map +1 -1
  1064. package/dist/helpers/registry.ts +107 -92
  1065. package/dist/helpers/routePaths.js +1 -1
  1066. package/dist/helpers/routePaths.js.map +1 -1
  1067. package/dist/helpers/routePaths.ts +1 -1
  1068. package/dist/hooks/useSolidAutocompleteField.d.ts +31 -0
  1069. package/dist/hooks/useSolidAutocompleteField.d.ts.map +1 -0
  1070. package/dist/hooks/useSolidAutocompleteField.js +116 -0
  1071. package/dist/hooks/useSolidAutocompleteField.js.map +1 -0
  1072. package/dist/hooks/useSolidAutocompleteField.ts +90 -0
  1073. package/dist/index.d.ts +12 -4
  1074. package/dist/index.d.ts.map +1 -1
  1075. package/dist/index.js +9 -4
  1076. package/dist/index.js.map +1 -1
  1077. package/dist/index.ts +13 -5
  1078. package/dist/redux/store/defaultStoreConfig.d.ts +35 -34
  1079. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  1080. package/dist/redux/store/defaultStoreConfig.js +29 -2
  1081. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  1082. package/dist/redux/store/defaultStoreConfig.ts +30 -32
  1083. package/dist/resources/globals.css +2400 -538
  1084. package/dist/resources/images/SolidXLogo-dark.svg +29 -0
  1085. package/dist/resources/images/SolidXLogo-light.svg +29 -0
  1086. package/dist/resources/shadcn-base.css +2688 -839
  1087. package/dist/resources/solid-responsive.css +36 -80
  1088. package/dist/resources/themes/solid-dark-purple/theme.css +14 -19
  1089. package/dist/resources/themes/solid-light-purple/theme.css +14 -19
  1090. package/dist/routes/AppEventListener.d.ts +1 -1
  1091. package/dist/routes/AppEventListener.d.ts.map +1 -1
  1092. package/dist/routes/AppEventListener.js +3 -1
  1093. package/dist/routes/AppEventListener.js.map +1 -1
  1094. package/dist/routes/AppEventListener.tsx +7 -1
  1095. package/dist/routes/pages/admin/core/CardPage.d.ts +2 -0
  1096. package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -0
  1097. package/dist/routes/pages/admin/core/CardPage.js +22 -0
  1098. package/dist/routes/pages/admin/core/CardPage.js.map +1 -0
  1099. package/dist/routes/pages/admin/core/CardPage.tsx +10 -0
  1100. package/dist/routes/pages/auth/SsoPage.d.ts.map +1 -1
  1101. package/dist/routes/pages/auth/SsoPage.js +4 -5
  1102. package/dist/routes/pages/auth/SsoPage.js.map +1 -1
  1103. package/dist/routes/pages/auth/SsoPage.tsx +7 -15
  1104. package/dist/routes/pages/studio/StudioLandingPage.js +3 -3
  1105. package/dist/routes/pages/studio/StudioLandingPage.js.map +1 -1
  1106. package/dist/routes/pages/studio/StudioLandingPage.tsx +4 -4
  1107. package/dist/routes/solidRoutes.d.ts.map +1 -1
  1108. package/dist/routes/solidRoutes.js +16 -0
  1109. package/dist/routes/solidRoutes.js.map +1 -1
  1110. package/dist/routes/solidRoutes.tsx +17 -0
  1111. package/dist/routes/types.d.ts +1 -1
  1112. package/dist/routes/types.d.ts.map +1 -1
  1113. package/dist/routes/types.js.map +1 -1
  1114. package/dist/routes/types.ts +5 -1
  1115. package/dist/styles.d.ts +1 -0
  1116. package/dist/styles.d.ts.map +1 -1
  1117. package/dist/styles.js +1 -0
  1118. package/dist/styles.js.map +1 -1
  1119. package/dist/styles.ts +1 -0
  1120. package/dist/types/extension-registry.d.ts +28 -0
  1121. package/dist/types/extension-registry.d.ts.map +1 -0
  1122. package/dist/types/extension-registry.js +26 -0
  1123. package/dist/types/extension-registry.js.map +1 -0
  1124. package/dist/types/extension-registry.ts +32 -0
  1125. package/dist/types/external.d.ts +11 -0
  1126. package/dist/types/layout.d.ts +4 -2
  1127. package/dist/types/solid-core.d.ts +29 -27
  1128. package/package.json +9 -4
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationManyToOneField.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { createSolidEntityApi } from \"../../../../../redux/api/solidEntityApi\";\nimport { AutoComplete, AutoCompleteCompleteEvent } from \"primereact/autocomplete\";\nimport { Message } from \"primereact/message\";\nimport qs from \"qs\";\nimport { useEffect, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"../ISolidField\";\nimport { camelCase } from \"lodash\";\nimport { Button } from \"primereact/button\";\nimport { Dialog } from \"primereact/dialog\";\nimport SolidFormView from '../../../../../components/core/form/SolidFormView';\nimport { getExtensionComponent } from \"../../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../../types/solid-core\";\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../../redux/features/toastSlice';\n// import Handlebars from \"handlebars/dist/handlebars\";\nimport * as Handlebars from \"handlebars\";\nimport { SolidFieldTooltip } from \"../../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../../constants/error-messages\";\nimport { getVirtualScrollerOptions } from \"../../../../../helpers/autoCompleteVirtualScroll\";\n\n\nexport type FormViewParams = {\n moduleName: any;\n modelName: any;\n id: any;\n embeded: any;\n inlineCreateAutoSave: any;\n layout: any;\n}\n\nexport class SolidRelationManyToOneField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n initialValue(): any {\n\n const manyToOneFieldData = this.fieldContext?.data[this.fieldContext?.field?.attrs?.name];\n const fieldMetadata = this.fieldContext?.fieldMetadata;\n const userKeyField = fieldMetadata?.relationModel?.userKeyField?.name;\n const manyToOneColVal = manyToOneFieldData ? manyToOneFieldData[userKeyField] : '';\n if (manyToOneColVal) {\n return { solidManyToOneLabel: manyToOneColVal || '', solidManyToOneValue: manyToOneFieldData?.id || '', ...manyToOneFieldData };\n }\n if (this.fieldContext.parentData) {\n const parentDataForKey = this.fieldContext.parentData[userKeyField];\n if (parentDataForKey && typeof parentDataForKey === 'object') {\n const [key, value]: any = Object.entries(this.fieldContext.parentData)[0] || [];\n if (key && value !== undefined) {\n return { solidManyToOneLabel: value.solidManyToOneLabel, solidManyToOneValue: value.solidManyToOneValue };\n }\n }\n }\n return {}\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value?.solidManyToOneValue) {\n formData.append(`${fieldLayoutInfo.attrs.name}Id`, value.solidManyToOneValue);\n }\n }\n\n validationSchema(): Yup.Schema {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n let schema = Yup.mixed();\n // Custom validation for relation field\n if (fieldMetadata.required) {\n schema = schema.test(\n ERROR_MESSAGES.REQUIRED_REALTION,\n ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel),\n function (value: any) {\n // Handle empty values\n if (!value) return false;\n\n // If it's an object with solidManyToOneValue, check if it's valid\n if (typeof value === 'object' && value !== null && (value as any).solidManyToOneValue) {\n return true;\n }\n\n // If it's a string (user typed but didn't select), it's invalid for required field\n if (typeof value === 'string') {\n return false;\n }\n\n return false;\n }\n );\n }\n\n // Add validation to ensure valid selection\n schema = schema.test(\n ERROR_MESSAGES.VALIDATE_SELECTION,\n ERROR_MESSAGES.SELECT_VALID_FROM_DROPDOWN(fieldLabel),\n function (value: any) {\n // If not required and empty, it's valid\n if (!fieldMetadata.required && (!value || value === '')) {\n return true;\n }\n\n // If it's an object with solidManyToOneValue, it's a valid selection\n if (typeof value === 'object' && value !== null && (value as any).solidManyToOneValue) {\n return true;\n }\n\n // If it's a string (user typed but didn't select), it's invalid\n if (typeof value === 'string' && value.trim() !== '') {\n return false;\n }\n\n // Empty value for non-required field\n return !fieldMetadata.required;\n }\n );\n\n return schema;\n }\n\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n let isVisible = fieldLayoutInfo.attrs?.visible || true;\n if (this.fieldContext.parentData && this.fieldContext.parentFieldName === fieldLayoutInfo.attrs.name) {\n isVisible = false;\n }\n\n // const isVisible = this.fieldContext.parentData ? fieldLayoutInfo.attrs?.visible === true : fieldLayoutInfo.attrs?.visible !== false;\n\n if (!isVisible) {\n return null;\n }\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultRelationManyToOneFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultRelationManyToOneFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" && this.renderExtensionRenderMode(viewWidget, formik)}\n {viewMode === \"edit\" && (<>{editWidget && this.renderExtensionRenderMode(editWidget, formik)}</>)}\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\nexport const DefaultRelationManyToOneFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const dispatch = useDispatch();\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n const [formViewParams, setformViewParams] = useState<FormViewParams>()\n // auto complete specific code. \n const entityApi = createSolidEntityApi(fieldMetadata.relationCoModelSingularName);\n const { useLazyGetSolidEntitiesQuery } = entityApi;\n const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const whereClause = fieldLayoutInfo.attrs.whereClause;\n\n const [autoCompleteItems, setAutoCompleteItems] = useState<any[]>([]);\n const [offset, setOffset] = useState(0);\n const [hasMore, setHasMore] = useState(true);\n const [currentQuery, setCurrentQuery] = useState(\"\");\n const LIMIT = 50;\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n id: \"new\",\n embeded: true,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n layout: fieldLayoutInfo?.attrs?.inlineCreateLayout\n }\n setformViewParams(formviewparams);\n }, [])\n\n const autoCompleteSearch = async (event: AutoCompleteCompleteEvent) => {\n setOffset(0);\n setCurrentQuery(event.query || \"\");\n setHasMore(true);\n // Get the list view layout & metadata first. \n const queryData = {\n offset: 0,\n limit: LIMIT,\n filters: {\n $and: [\n {\n [fieldMetadata?.relationModel?.userKeyField?.name]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']: event.query\n }\n }\n ]\n }\n };\n let fixedFilterToBeApplied = false;\n let fixedFilterParsed = false;\n if (solidFormViewMetaData?.data?.solidView?.model?.singularName === \"listOfValues\" && fieldContext.fieldMetadata.relationCoModelSingularName !== \"moduleMetadata\") {\n fixedFilterToBeApplied = true;\n }\n if (fieldMetadata?.relationFieldFixedFilter || fieldLayoutInfo?.attrs?.whereClause) {\n const convertedFixedFilter = fieldLayoutInfo?.attrs?.whereClause ? fieldLayoutInfo?.attrs?.whereClause : fieldMetadata?.relationFieldFixedFilter;\n fixedFilterToBeApplied = true;\n const fixedFilterTemplate = Handlebars.compile(convertedFixedFilter);\n const renderedFilter = fixedFilterTemplate(formik.values);\n\n // Parse the result into a JS object\n let parsedFilter;\n try {\n parsedFilter = JSON.parse(renderedFilter);\n const isValid = (obj: any): boolean => {\n if (!obj || typeof obj !== 'object') return false;\n\n // Recursively check all nested values\n const hasValidValue = (val: any): boolean => {\n if (val === null || val === undefined || val === '') return false;\n if (typeof val === 'object') {\n return Object.values(val).some(hasValidValue);\n }\n return true;\n };\n\n return hasValidValue(obj);\n };\n\n if (isValid(parsedFilter)) {\n queryData.filters.$and.push(parsedFilter);\n fixedFilterParsed = true;\n } else {\n console.warn(ERROR_MESSAGES.SKIPPING_EMPTY_FIXED_FILTER, parsedFilter);\n }\n } catch (e) {\n console.error(ERROR_MESSAGES.INVALID_JSON_WHERECLAUSE, renderedFilter);\n parsedFilter = {}; // fallback or throw error as needed\n }\n\n }\n\n let autocompleteQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n // if (whereClause) {\n // autocompleteQs = `${autocompleteQs}&${whereClause}`;\n // }\n\n\n if (fixedFilterToBeApplied && !fixedFilterParsed) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SELECT_RELEVANT_FIELD, detail: ERROR_MESSAGES.FIELD_NOT_SELECT }));\n\n } else {\n try {\n setLoading(true);\n // TODO: do error handling here, possible errors like modelname is incorrect etc...\n const autocompleteResponse = await triggerGetSolidEntities(autocompleteQs);\n\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n const autocompleteData = autocompleteResponse.data;\n\n if (autocompleteData) {\n const autoCompleteItems = autocompleteData.records.map((item: any) => {\n return {\n solidManyToOneLabel: item[fieldMetadata?.relationModel?.userKeyField?.name],\n solidManyToOneValue: item['id'],\n ...item,\n }\n });\n setAutoCompleteItems(autoCompleteItems);\n setOffset(autocompleteData.records.length);\n setHasMore(autocompleteData.records.length === LIMIT);\n }\n }\n finally {\n setLoading(false);\n }\n }\n\n\n }\n\n const onLazyLoad = async (event: { first: number; last: number }) => {\n if (!hasMore || loading) return;\n if (event.last < autoCompleteItems.length - 1) return; // Only load if user reaches bottom\n\n const queryData = {\n offset: offset,\n limit: LIMIT,\n filters: {\n $and: [\n {\n [fieldMetadata?.relationModel?.userKeyField?.name]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']: currentQuery\n }\n }\n ]\n }\n };\n\n let fixedFilterToBeApplied = false;\n let fixedFilterParsed = false;\n if (solidFormViewMetaData?.data?.solidView?.model?.singularName === \"listOfValues\" && fieldContext.fieldMetadata.relationCoModelSingularName !== \"moduleMetadata\") {\n fixedFilterToBeApplied = true;\n }\n if (fieldMetadata?.relationFieldFixedFilter || fieldLayoutInfo?.attrs?.whereClause) {\n const convertedFixedFilter = fieldLayoutInfo?.attrs?.whereClause ? fieldLayoutInfo?.attrs?.whereClause : fieldMetadata?.relationFieldFixedFilter;\n fixedFilterToBeApplied = true;\n const fixedFilterTemplate = Handlebars.compile(convertedFixedFilter);\n const renderedFilter = fixedFilterTemplate(formik.values);\n\n // Parse the result into a JS object\n let parsedFilter;\n try {\n parsedFilter = JSON.parse(renderedFilter);\n const isValid = (obj: any): boolean => {\n if (!obj || typeof obj !== 'object') return false;\n\n // Recursively check all nested values\n const hasValidValue = (val: any): boolean => {\n if (val === null || val === undefined || val === '') return false;\n if (typeof val === 'object') {\n return Object.values(val).some(hasValidValue);\n }\n return true;\n };\n\n return hasValidValue(obj);\n };\n\n if (isValid(parsedFilter)) {\n queryData.filters.$and.push(parsedFilter);\n fixedFilterParsed = true;\n } else {\n console.warn(ERROR_MESSAGES.SKIPPING_EMPTY_FIXED_FILTER, parsedFilter);\n }\n } catch (e) {\n console.error(ERROR_MESSAGES.INVALID_JSON_WHERECLAUSE, renderedFilter);\n parsedFilter = {}; // fallback or throw error as needed\n }\n\n }\n\n const autocompleteQs = qs.stringify(queryData, { encodeValuesOnly: true });\n if (fixedFilterToBeApplied && !fixedFilterParsed) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SELECT_RELEVANT_FIELD, detail: ERROR_MESSAGES.FIELD_NOT_SELECT }));\n\n } else {\n try {\n setLoading(true);\n const response = await triggerGetSolidEntities(autocompleteQs);\n const records = response.data?.records || [];\n if (records.length < LIMIT) setHasMore(false);\n setAutoCompleteItems(prev => [...prev, ...records.map((item: any) => ({\n solidManyToOneLabel: item[fieldMetadata?.relationModel?.userKeyField?.name],\n solidManyToOneValue: item.id,\n ...item\n }))]);\n setOffset(prev => prev + records.length);\n } finally {\n setLoading(false);\n }\n }\n };\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const customCreateHandler = (values: any) => {\n const currentRelationData = formik.values[fieldLayoutInfo.attrs.name] || [];\n const jsonValues = Object.fromEntries(values.entries());\n const updatedRelationData = [\n ...currentRelationData,\n {\n solidManyToOneLabel: jsonValues[fieldMetadata?.relationModel?.userKeyField?.name],\n solidManyToOneValue: \"new\",\n original: jsonValues,\n },\n ];\n\n formik.setFieldValue(fieldLayoutInfo.attrs.name, updatedRelationData);\n\n }\n return (\n <div className=\"relative\">\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className=\"form-field-label\">\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <div className=\"flex align-items-center gap-3\">\n <AutoComplete\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n {...formik.getFieldProps(fieldLayoutInfo.attrs.name)}\n id={fieldLayoutInfo.attrs.name}\n field=\"solidManyToOneLabel\"\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n dropdown={!readOnlyPermission}\n suggestions={autoCompleteItems}\n completeMethod={autoCompleteSearch}\n onChange={(e) => fieldContext.onChange(e, 'onFieldChange')}\n onFocus={(e) => e.target.select()}\n className=\"w-full solid-standard-autocomplete\"\n // virtualScrollerOptions={{\n // itemSize: 38,\n // lazy: true,\n // onLazyLoad\n // }}\n virtualScrollerOptions={getVirtualScrollerOptions({\n itemsLength: autoCompleteItems.length,\n lazy: true,\n onLazyLoad,\n })}\n />\n {fieldLayoutInfo.attrs.inlineCreate === \"true\" && readOnlyPermission === false && formViewParams &&\n <RenderSolidFormEmbededView formik={formik} fieldContext={fieldContext} customCreateHandler={customCreateHandler} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams}></RenderSolidFormEmbededView>\n }\n </div>\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <Message severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\nexport const RenderSolidFormEmbededView = ({ formik, fieldContext, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity, formViewParams }: any) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-6 flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const parentModelName = fieldLayoutInfo?.attrs?.parentModelName;\n const childModelName = fieldLayoutInfo?.attrs?.childModelName;\n const parentFieldName = fieldLayoutInfo?.attrs?.parentFieldName;\n const childFieldName = fieldLayoutInfo?.attrs?.childFieldName;\n const parentModuleName = fieldLayoutInfo?.attrs?.parentModuleName;\n\n\n const params = {\n moduleName: formViewParams.moduleName,\n modelName: camelCase(formViewParams.modelName),\n id: formViewParams.id,\n embeded: formViewParams.embeded,\n inlineCreateAutoSave: formViewParams.inlineCreateAutoSave,\n layout: formViewParams.layout,\n customCreateHandler: ((values: any) => {\n setvisibleCreateRelationEntity(false);\n customCreateHandler(values)\n }),\n handlePopupClose: (() => {\n setvisibleCreateRelationEntity(false);\n }),\n }\n return (\n <div>\n <div>\n <Button\n icon=\"pi pi-plus\"\n rounded\n outlined\n aria-label=\"Filter\"\n type=\"button\"\n size=\"small\"\n onClick={() => setvisibleCreateRelationEntity(true)}\n className=\"custom-add-button\"\n />\n </div>\n <Dialog\n header=\"\"\n showHeader={false}\n visible={visibleCreateRelationEntity}\n style={{\n width: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? \"60vw\",\n height: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.height ?? \"auto\"\n }}\n onHide={() => {\n if (!visibleCreateRelationEntity) return;\n setvisibleCreateRelationEntity(false);\n }}\n className=\"solid-dialog\"\n breakpoints={{ '1199px': '35rem', \"767px\": '85vw', \"550px\": '90vw' }}\n\n >\n <SolidFormView {...params} />\n\n </Dialog>\n </div>\n )\n}\n\n\nexport const DefaultRelationManyToOneFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const userKeyField = fieldLayoutInfo?.attrs?.coModelFieldToDisplay ? fieldLayoutInfo?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n const displayValue = value?.[userKeyField];\n return (\n <div className=\"mt-2 flex-column gap-2\">\n {showFieldLabel !== false && (\n <p className=\"m-0 form-field-label font-medium\">{fieldLabel}</p>\n )}\n <p className=\"m-0\">{displayValue}</p>\n </div>\n );\n}\n\n\n\n\n\nexport const PseudoRelationManyToOneFormWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const dispatch = useDispatch();\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly ? fieldContext.readOnly : false;\n\n const parentModelName = fieldLayoutInfo?.attrs?.parentModelName;\n const childModelName = fieldLayoutInfo?.attrs?.childModelName;\n const parentFieldName = fieldLayoutInfo?.attrs?.parentFieldName;\n const childFieldName = fieldLayoutInfo?.attrs?.childFieldName;\n const parentModuleName = fieldLayoutInfo?.attrs?.parentModuleName;\n const parentFieldLabels = fieldLayoutInfo?.attrs?.parentFieldLabels;\n const parentSearchFields = fieldLayoutInfo?.attrs?.parentSearchFields;\n\n const [formViewParams, setformViewParams] = useState<FormViewParams>()\n\n const viewMode: string = fieldContext.viewMode;\n\n useEffect(() => {\n const formviewparams: FormViewParams = {\n moduleName: parentModuleName,\n modelName: camelCase(parentModelName),\n id: \"new\",\n embeded: true,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n layout: fieldLayoutInfo?.attrs?.inlineCreateLayout\n }\n setformViewParams(formviewparams);\n }, [])\n\n\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n // auto complete specific code. \n const entityApi = createSolidEntityApi(parentModelName || \"userViewMetadata\");\n const { useLazyGetSolidEntitiesQuery } = entityApi;\n const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const whereClause = fieldLayoutInfo.attrs.whereClause;\n\n const [autoCompleteItems, setAutoCompleteItems] = useState<any[]>([]);\n const [offset, setOffset] = useState(0);\n const [hasMore, setHasMore] = useState(true);\n const [currentQuery, setCurrentQuery] = useState(\"\");\n const LIMIT = 50;\n const [loading, setLoading] = useState(false);\n const [viewDisplayValue, setViewDisplayValue] = useState<any>(null);\n\n\n useEffect(() => {\n const fn = async () => {\n if (fieldContext.data[fieldLayoutInfo.attrs.name]) {\n const queryData = {\n offset: 0,\n limit: LIMIT,\n filters: {\n $and: [\n {\n [parentFieldName]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$eqi']: fieldContext.data[fieldLayoutInfo.attrs.name] ?? formik.values[fieldLayoutInfo.attrs.name]\n }\n }\n ]\n }\n };\n let autocompleteQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n const autocompleteResponse = await triggerGetSolidEntities(autocompleteQs);\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n const autocompleteData = autocompleteResponse.data;\n if (autocompleteData) {\n const formattedRecords = autocompleteData.records.map((item: any) => {\n const label = parentFieldLabels && parentFieldLabels.length > 0 ? parentFieldLabels.map((label: any) => item[label]).join(\" - \") : item[parentFieldName];\n return {\n solidManyToOneLabel: label,\n solidManyToOneValue: item[parentFieldName],\n ...item,\n }\n });\n if (formattedRecords.length > 0) {\n formik.setFieldValue(fieldLayoutInfo.attrs.name, formattedRecords[0]);\n }\n }\n }\n }\n fn()\n }, [])\n\n // Add this NEW useEffect - only for view mode refresh\n useEffect(() => {\n const fn = async () => {\n if (viewMode !== \"view\") {\n setViewDisplayValue(null);\n return;\n }\n\n const rawValue =\n fieldContext.data[fieldLayoutInfo.attrs.name] ??\n formik.values[fieldLayoutInfo.attrs.name];\n\n if (!rawValue) return;\n\n const searchValue =\n typeof rawValue === \"object\"\n ? rawValue[parentFieldName]\n : rawValue;\n\n const queryData = {\n offset: 0,\n limit: 1,\n filters: {\n $and: [\n {\n [parentFieldName]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || \"$eqi\"]:\n searchValue,\n },\n },\n ],\n },\n };\n\n const qsStr = qs.stringify(queryData, { encodeValuesOnly: true });\n const res = await triggerGetSolidEntities(qsStr);\n const record = res.data?.records?.[0];\n if (!record) return;\n\n const label =\n parentFieldLabels?.length > 0\n ? parentFieldLabels.map((l: string) => record[l]).join(\" - \")\n : record[parentFieldName];\n console.log(\"Final View Label\", label, record[parentFieldName])\n setViewDisplayValue({\n solidManyToOneLabel: label,\n solidManyToOneValue: record[parentFieldName],\n ...record,\n });\n };\n\n fn();\n }, [viewMode, formik.values[fieldLayoutInfo.attrs.name]]);\n\n\n const resolvedValue = viewMode === \"view\" ? viewDisplayValue : formik.values[fieldLayoutInfo.attrs.name];\n\n const autoCompleteSearch = async (event: AutoCompleteCompleteEvent) => {\n setOffset(0);\n setCurrentQuery(event.query || \"\");\n setHasMore(true);\n // Get the list view layout & metadata first. \n const queryData = {\n offset: 0,\n limit: LIMIT,\n filters: {\n $and: [\n ...(parentSearchFields?.length > 0\n ? [\n {\n $or: parentSearchFields.map((field: any) => ({\n [field]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']:\n event.query\n }\n }))\n }\n ]\n : [\n {\n [parentFieldName]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']:\n event.query\n }\n }\n ])\n\n ]\n }\n };\n let fixedFilterToBeApplied = false;\n let fixedFilterParsed = false;\n if (solidFormViewMetaData?.data?.solidView?.model?.singularName === \"listOfValues\" && fieldContext.fieldMetadata.relationCoModelSingularName !== \"moduleMetadata\") {\n fixedFilterToBeApplied = true;\n }\n if (fieldMetadata?.relationFieldFixedFilter || fieldLayoutInfo?.attrs?.whereClause) {\n const convertedFixedFilter = fieldLayoutInfo?.attrs?.whereClause ? fieldLayoutInfo?.attrs?.whereClause : fieldMetadata?.relationFieldFixedFilter;\n fixedFilterToBeApplied = true;\n const fixedFilterTemplate = Handlebars.compile(convertedFixedFilter);\n const renderedFilter = fixedFilterTemplate(formik.values);\n\n // Parse the result into a JS object\n let parsedFilter;\n try {\n parsedFilter = JSON.parse(renderedFilter);\n const isValid = (obj: any): boolean => {\n if (!obj || typeof obj !== 'object') return false;\n\n // Recursively check all nested values\n const hasValidValue = (val: any): boolean => {\n if (val === null || val === undefined || val === '') return false;\n if (typeof val === 'object') {\n return Object.values(val).some(hasValidValue);\n }\n return true;\n };\n\n return hasValidValue(obj);\n };\n\n if (isValid(parsedFilter)) {\n queryData.filters.$and.push(parsedFilter);\n fixedFilterParsed = true;\n } else {\n console.warn(ERROR_MESSAGES.SKIPPING_EMPTY_FIXED_FILTER, parsedFilter);\n }\n } catch (e) {\n console.error(ERROR_MESSAGES.INVALID_JSON_WHERECLAUSE, renderedFilter);\n parsedFilter = {}; // fallback or throw error as needed\n }\n\n }\n\n let autocompleteQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n // if (whereClause) {\n // autocompleteQs = `${autocompleteQs}&${whereClause}`;\n // }\n\n\n if (fixedFilterToBeApplied && !fixedFilterParsed) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SELECT_RELEVANT_FIELD, detail: ERROR_MESSAGES.FIELD_NOT_SELECT }));\n\n } else {\n try {\n setLoading(true);\n // TODO: do error handling here, possible errors like modelname is incorrect etc...\n const autocompleteResponse = await triggerGetSolidEntities(autocompleteQs);\n\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n const autocompleteData = autocompleteResponse.data;\n\n if (autocompleteData) {\n const autoCompleteItems = autocompleteData.records.map((item: any) => {\n const label = parentFieldLabels && parentFieldLabels.length > 0 ? parentFieldLabels.map((label: any) => item[label]).join(\" - \") : item[parentFieldName];\n return {\n solidManyToOneLabel: label,\n solidManyToOneValue: item[parentFieldName],\n ...item,\n }\n });\n // const autoCompleteItems = autocompleteData.records.map((item: any) => {label: item[parentFieldName],value});\n\n setAutoCompleteItems(autoCompleteItems);\n setOffset(autocompleteData.records.length);\n setHasMore(autocompleteData.records.length === LIMIT);\n }\n }\n finally {\n setLoading(false);\n }\n }\n }\n\n const onLazyLoad = async (event: { first: number; last: number }) => {\n if (!hasMore || loading) return;\n if (event.last < autoCompleteItems.length - 1) return; // Only load if user reaches bottom\n\n const queryData = {\n offset: offset,\n limit: LIMIT,\n filters: {\n $and: [\n ...(parentSearchFields?.length > 0\n ? [\n {\n $or: parentSearchFields.map((field: any) => ({\n [field]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']:\n currentQuery\n }\n }))\n }\n ]\n : [\n {\n [parentFieldName]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']:\n currentQuery\n }\n }\n ])\n\n ]\n }\n };\n\n let fixedFilterToBeApplied = false;\n let fixedFilterParsed = false;\n if (solidFormViewMetaData?.data?.solidView?.model?.singularName === \"listOfValues\" && fieldContext.fieldMetadata.relationCoModelSingularName !== \"moduleMetadata\") {\n fixedFilterToBeApplied = true;\n }\n if (fieldMetadata?.relationFieldFixedFilter || fieldLayoutInfo?.attrs?.whereClause) {\n const convertedFixedFilter = fieldLayoutInfo?.attrs?.whereClause ? fieldLayoutInfo?.attrs?.whereClause : fieldMetadata?.relationFieldFixedFilter;\n fixedFilterToBeApplied = true;\n const fixedFilterTemplate = Handlebars.compile(convertedFixedFilter);\n const renderedFilter = fixedFilterTemplate(formik.values);\n\n // Parse the result into a JS object\n let parsedFilter;\n try {\n parsedFilter = JSON.parse(renderedFilter);\n const isValid = (obj: any): boolean => {\n if (!obj || typeof obj !== 'object') return false;\n\n // Recursively check all nested values\n const hasValidValue = (val: any): boolean => {\n if (val === null || val === undefined || val === '') return false;\n if (typeof val === 'object') {\n return Object.values(val).some(hasValidValue);\n }\n return true;\n };\n\n return hasValidValue(obj);\n };\n\n if (isValid(parsedFilter)) {\n queryData.filters.$and.push(parsedFilter);\n fixedFilterParsed = true;\n } else {\n console.warn(ERROR_MESSAGES.SKIPPING_EMPTY_FIXED_FILTER, parsedFilter);\n }\n } catch (e) {\n console.error(ERROR_MESSAGES.INVALID_JSON_WHERECLAUSE, renderedFilter);\n parsedFilter = {}; // fallback or throw error as needed\n }\n\n }\n\n const autocompleteQs = qs.stringify(queryData, { encodeValuesOnly: true });\n if (fixedFilterToBeApplied && !fixedFilterParsed) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SELECT_RELEVANT_FIELD, detail: ERROR_MESSAGES.FIELD_NOT_SELECT }));\n\n } else {\n try {\n setLoading(true);\n const response = await triggerGetSolidEntities(autocompleteQs);\n const records = response.data?.records || [];\n if (records.length < LIMIT) setHasMore(false);\n setAutoCompleteItems((prev: any) => [...prev, ...records.map((item: any) => {\n const label = parentFieldLabels && parentFieldLabels.length > 0 ? parentFieldLabels.map((label: any) => item[label]).join(\" - \") : item[parentFieldName];\n return {\n solidManyToOneLabel: label,\n solidManyToOneValue: item[parentFieldName],\n ...item\n }\n }\n )]);\n setOffset((prev: any) => prev + records.length);\n } finally {\n setLoading(false);\n }\n }\n };\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const customCreateHandler = (values: any) => {\n const currentRelationData = formik.values[fieldLayoutInfo.attrs.name] || [];\n const jsonValues = Object.fromEntries(values.entries());\n console.log(\"jsonValues\", jsonValues);\n const label = parentFieldLabels && parentFieldLabels.length > 0 ? parentFieldLabels.map((label: any) => jsonValues[label]).join(\" - \") : jsonValues[parentFieldName];\n\n const updatedRelationData = [\n ...currentRelationData,\n // jsonValues[parentFieldName]\n {\n solidManyToOneLabel: label,\n solidManyToOneValue: \"new\",\n original: jsonValues,\n },\n ];\n\n formik.setFieldValue(fieldLayoutInfo.attrs.name, updatedRelationData);\n\n }\n return (\n <div className=\"relative\" >\n < div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\" >\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className=\"form-field-label\" >\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\" > * </span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <div className=\"flex align-items-center gap-3\" >\n <AutoComplete\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled || readOnlyPermission || viewMode === \"view\"}\n field=\"solidManyToOneLabel\"\n {...formik.getFieldProps(fieldLayoutInfo.attrs.name)}\n id={fieldLayoutInfo.attrs.name}\n value={resolvedValue || null}\n dropdown={!readOnlyPermission}\n suggestions={autoCompleteItems}\n completeMethod={autoCompleteSearch}\n onChange={(e) => fieldContext.onChange(e, 'onFieldChange')}\n onFocus={(e) => e.target.select()}\n className=\"w-full solid-standard-autocomplete\"\n // virtualScrollerOptions={{\n // itemSize: 38,\n // lazy: true,\n // onLazyLoad\n // }}\n virtualScrollerOptions={getVirtualScrollerOptions({\n itemsLength: autoCompleteItems.length,\n lazy: true,\n onLazyLoad,\n })}\n />\n {\n fieldLayoutInfo.attrs.inlineCreate === \"true\" && readOnlyPermission === false && formViewParams && viewMode !== \"view\" &&\n <RenderSolidFormEmbededView formik={formik} fieldContext={fieldContext} customCreateHandler={customCreateHandler} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams} > </RenderSolidFormEmbededView>\n }\n </div>\n </div>\n {\n isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\" >\n <Message severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )\n }\n </div>\n );\n}\n\n"]}
1
+ {"version":3,"file":"SolidRelationManyToOneField.js","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { createSolidEntityApi } from \"../../../../../redux/api/solidEntityApi\";\nimport { SolidAutocomplete } from \"../../../../shad-cn-ui/SolidAutocomplete\";\nimport { SolidButton } from \"../../../../shad-cn-ui/SolidButton\";\nimport { SolidDialog } from \"../../../../shad-cn-ui/SolidDialog\";\nimport { SolidMessage } from \"../../../../shad-cn-ui/SolidMessage\";\nimport qs from \"qs\";\nimport React, { useEffect, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"../ISolidField\";\nimport { camelCase } from \"lodash\";\nimport SolidFormView from '../../../../../components/core/form/SolidFormView';\nimport { getExtensionComponent } from \"../../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../../types/solid-core\";\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../../redux/features/toastSlice';\n// import Handlebars from \"handlebars/dist/handlebars\";\nimport * as Handlebars from \"handlebars\";\nimport { SolidFieldTooltip } from \"../../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../../constants/error-messages\";\nimport { getVirtualScrollerOptions } from \"../../../../../helpers/autoCompleteVirtualScroll\";\nimport { buildSyntheticChangeEvent } from \"../fieldEventUtils\";\nimport styles from \"../solidFields.module.css\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\n\nexport type FormViewParams = {\n moduleName: any;\n modelName: any;\n id: any;\n embeded: any;\n inlineCreateAutoSave: any;\n layout: any;\n}\n\nexport class SolidRelationManyToOneField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n initialValue(): any {\n\n const manyToOneFieldData = this.fieldContext?.data[this.fieldContext?.field?.attrs?.name];\n const fieldMetadata = this.fieldContext?.fieldMetadata;\n const userKeyField = fieldMetadata?.relationModel?.userKeyField?.name;\n const manyToOneColVal = manyToOneFieldData ? manyToOneFieldData[userKeyField] : '';\n if (manyToOneColVal) {\n return { solidManyToOneLabel: manyToOneColVal || '', solidManyToOneValue: manyToOneFieldData?.id || '', ...manyToOneFieldData };\n }\n if (this.fieldContext.parentData) {\n const parentDataForKey = this.fieldContext.parentData[userKeyField];\n if (parentDataForKey && typeof parentDataForKey === 'object') {\n const [key, value]: any = Object.entries(this.fieldContext.parentData)[0] || [];\n if (key && value !== undefined) {\n return { solidManyToOneLabel: value.solidManyToOneLabel, solidManyToOneValue: value.solidManyToOneValue };\n }\n }\n }\n return {}\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value?.solidManyToOneValue) {\n formData.append(`${fieldLayoutInfo.attrs.name}Id`, value.solidManyToOneValue);\n }\n }\n\n validationSchema(): Yup.Schema {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n let schema = Yup.mixed();\n // Custom validation for relation field\n if (fieldMetadata.required) {\n schema = schema.test(\n ERROR_MESSAGES.REQUIRED_REALTION,\n ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel),\n function (value: any) {\n // Handle empty values\n if (!value) return false;\n\n // If it's an object with solidManyToOneValue, check if it's valid\n if (typeof value === 'object' && value !== null && (value as any).solidManyToOneValue) {\n return true;\n }\n\n // If it's a string (user typed but didn't select), it's invalid for required field\n if (typeof value === 'string') {\n return false;\n }\n\n return false;\n }\n );\n }\n\n // Add validation to ensure valid selection\n schema = schema.test(\n ERROR_MESSAGES.VALIDATE_SELECTION,\n ERROR_MESSAGES.SELECT_VALID_FROM_DROPDOWN(fieldLabel),\n function (value: any) {\n // If not required and empty, it's valid\n if (!fieldMetadata.required && (!value || value === '')) {\n return true;\n }\n\n // If it's an object with solidManyToOneValue, it's a valid selection\n if (typeof value === 'object' && value !== null && (value as any).solidManyToOneValue) {\n return true;\n }\n\n // If it's a string (user typed but didn't select), it's invalid\n if (typeof value === 'string' && value.trim() !== '') {\n return false;\n }\n\n // Empty value for non-required field\n return !fieldMetadata.required;\n }\n );\n\n return schema;\n }\n\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n let isVisible = fieldLayoutInfo.attrs?.visible || true;\n if (this.fieldContext.parentData && this.fieldContext.parentFieldName === fieldLayoutInfo.attrs.name) {\n isVisible = false;\n }\n\n // const isVisible = this.fieldContext.parentData ? fieldLayoutInfo.attrs?.visible === true : fieldLayoutInfo.attrs?.visible !== false;\n\n if (!isVisible) {\n return null;\n }\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultRelationManyToOneFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultRelationManyToOneFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" && this.renderExtensionRenderMode(viewWidget, formik)}\n {viewMode === \"edit\" && (<>{editWidget && this.renderExtensionRenderMode(editWidget, formik)}</>)}\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\nexport const DefaultRelationManyToOneFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const dispatch = useDispatch();\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n const [formViewParams, setformViewParams] = useState<FormViewParams>()\n // auto complete specific code. \n const entityApi = createSolidEntityApi(fieldMetadata.relationCoModelSingularName);\n const { useLazyGetSolidEntitiesQuery } = entityApi;\n const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const whereClause = fieldLayoutInfo.attrs.whereClause;\n\n const [autoCompleteItems, setAutoCompleteItems] = useState<any[]>([]);\n const [offset, setOffset] = useState(0);\n const [hasMore, setHasMore] = useState(true);\n const [currentQuery, setCurrentQuery] = useState(\"\");\n const LIMIT = 50;\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n const formviewparams: FormViewParams = {\n moduleName: fieldContext.fieldMetadata.relationModelModuleName,\n modelName: camelCase(fieldContext.fieldMetadata.relationCoModelSingularName),\n id: \"new\",\n embeded: true,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n layout: fieldLayoutInfo?.attrs?.inlineCreateLayout\n }\n setformViewParams(formviewparams);\n }, [])\n\n const autoCompleteSearch = async (event: AutoCompleteCompleteEvent) => {\n setOffset(0);\n setCurrentQuery(event.query || \"\");\n setHasMore(true);\n // Get the list view layout & metadata first. \n const queryData = {\n offset: 0,\n limit: LIMIT,\n filters: {\n $and: [\n {\n [fieldMetadata?.relationModel?.userKeyField?.name]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']: event.query\n }\n }\n ]\n }\n };\n let fixedFilterToBeApplied = false;\n let fixedFilterParsed = false;\n if (solidFormViewMetaData?.data?.solidView?.model?.singularName === \"listOfValues\" && fieldContext.fieldMetadata.relationCoModelSingularName !== \"moduleMetadata\") {\n fixedFilterToBeApplied = true;\n }\n if (fieldMetadata?.relationFieldFixedFilter || fieldLayoutInfo?.attrs?.whereClause) {\n const convertedFixedFilter = fieldLayoutInfo?.attrs?.whereClause ? fieldLayoutInfo?.attrs?.whereClause : fieldMetadata?.relationFieldFixedFilter;\n fixedFilterToBeApplied = true;\n const fixedFilterTemplate = Handlebars.compile(convertedFixedFilter);\n const renderedFilter = fixedFilterTemplate(formik.values);\n\n // Parse the result into a JS object\n let parsedFilter;\n try {\n parsedFilter = JSON.parse(renderedFilter);\n const isValid = (obj: any): boolean => {\n if (!obj || typeof obj !== 'object') return false;\n\n // Recursively check all nested values\n const hasValidValue = (val: any): boolean => {\n if (val === null || val === undefined || val === '') return false;\n if (typeof val === 'object') {\n return Object.values(val).some(hasValidValue);\n }\n return true;\n };\n\n return hasValidValue(obj);\n };\n\n if (isValid(parsedFilter)) {\n queryData.filters.$and.push(parsedFilter);\n fixedFilterParsed = true;\n } else {\n console.warn(ERROR_MESSAGES.SKIPPING_EMPTY_FIXED_FILTER, parsedFilter);\n }\n } catch (e) {\n console.error(ERROR_MESSAGES.INVALID_JSON_WHERECLAUSE, renderedFilter);\n parsedFilter = {}; // fallback or throw error as needed\n }\n\n }\n\n let autocompleteQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n // if (whereClause) {\n // autocompleteQs = `${autocompleteQs}&${whereClause}`;\n // }\n\n\n if (fixedFilterToBeApplied && !fixedFilterParsed) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SELECT_RELEVANT_FIELD, detail: ERROR_MESSAGES.FIELD_NOT_SELECT }));\n\n } else {\n try {\n setLoading(true);\n // TODO: do error handling here, possible errors like modelname is incorrect etc...\n const autocompleteResponse = await triggerGetSolidEntities(autocompleteQs);\n\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n const autocompleteData = autocompleteResponse.data;\n\n if (autocompleteData) {\n const autoCompleteItems = autocompleteData.records.map((item: any) => {\n return {\n solidManyToOneLabel: item[fieldMetadata?.relationModel?.userKeyField?.name],\n solidManyToOneValue: item['id'],\n ...item,\n }\n });\n setAutoCompleteItems(autoCompleteItems);\n setOffset(autocompleteData.records.length);\n setHasMore(autocompleteData.records.length === LIMIT);\n }\n }\n finally {\n setLoading(false);\n }\n }\n\n\n }\n\n const onLazyLoad = async (event: { first: number; last: number }) => {\n if (!hasMore || loading) return;\n if (event.last < autoCompleteItems.length - 1) return; // Only load if user reaches bottom\n\n const queryData = {\n offset: offset,\n limit: LIMIT,\n filters: {\n $and: [\n {\n [fieldMetadata?.relationModel?.userKeyField?.name]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']: currentQuery\n }\n }\n ]\n }\n };\n\n let fixedFilterToBeApplied = false;\n let fixedFilterParsed = false;\n if (solidFormViewMetaData?.data?.solidView?.model?.singularName === \"listOfValues\" && fieldContext.fieldMetadata.relationCoModelSingularName !== \"moduleMetadata\") {\n fixedFilterToBeApplied = true;\n }\n if (fieldMetadata?.relationFieldFixedFilter || fieldLayoutInfo?.attrs?.whereClause) {\n const convertedFixedFilter = fieldLayoutInfo?.attrs?.whereClause ? fieldLayoutInfo?.attrs?.whereClause : fieldMetadata?.relationFieldFixedFilter;\n fixedFilterToBeApplied = true;\n const fixedFilterTemplate = Handlebars.compile(convertedFixedFilter);\n const renderedFilter = fixedFilterTemplate(formik.values);\n\n // Parse the result into a JS object\n let parsedFilter;\n try {\n parsedFilter = JSON.parse(renderedFilter);\n const isValid = (obj: any): boolean => {\n if (!obj || typeof obj !== 'object') return false;\n\n // Recursively check all nested values\n const hasValidValue = (val: any): boolean => {\n if (val === null || val === undefined || val === '') return false;\n if (typeof val === 'object') {\n return Object.values(val).some(hasValidValue);\n }\n return true;\n };\n\n return hasValidValue(obj);\n };\n\n if (isValid(parsedFilter)) {\n queryData.filters.$and.push(parsedFilter);\n fixedFilterParsed = true;\n } else {\n console.warn(ERROR_MESSAGES.SKIPPING_EMPTY_FIXED_FILTER, parsedFilter);\n }\n } catch (e) {\n console.error(ERROR_MESSAGES.INVALID_JSON_WHERECLAUSE, renderedFilter);\n parsedFilter = {}; // fallback or throw error as needed\n }\n\n }\n\n const autocompleteQs = qs.stringify(queryData, { encodeValuesOnly: true });\n if (fixedFilterToBeApplied && !fixedFilterParsed) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SELECT_RELEVANT_FIELD, detail: ERROR_MESSAGES.FIELD_NOT_SELECT }));\n\n } else {\n try {\n setLoading(true);\n const response = await triggerGetSolidEntities(autocompleteQs);\n const records = response.data?.records || [];\n if (records.length < LIMIT) setHasMore(false);\n setAutoCompleteItems(prev => [...prev, ...records.map((item: any) => ({\n solidManyToOneLabel: item[fieldMetadata?.relationModel?.userKeyField?.name],\n solidManyToOneValue: item.id,\n ...item\n }))]);\n setOffset(prev => prev + records.length);\n } finally {\n setLoading(false);\n }\n }\n };\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const customCreateHandler = (values: any) => {\n const currentRelationData = formik.values[fieldLayoutInfo.attrs.name] || [];\n const jsonValues = Object.fromEntries(values.entries());\n const updatedRelationData = [\n ...currentRelationData,\n {\n solidManyToOneLabel: jsonValues[fieldMetadata?.relationModel?.userKeyField?.name],\n solidManyToOneValue: \"new\",\n original: jsonValues,\n },\n ];\n\n formik.setFieldValue(fieldLayoutInfo.attrs.name, updatedRelationData);\n\n }\n return (\n <div className=\"relative\">\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <div className=\"flex align-items-center gap-3\">\n <SolidAutocomplete\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled || readOnlyPermission}\n id={fieldLayoutInfo.attrs.name}\n field=\"solidManyToOneLabel\"\n value={formik.values[fieldLayoutInfo.attrs.name] || ''}\n dropdown={!readOnlyPermission}\n suggestions={autoCompleteItems}\n completeMethod={autoCompleteSearch}\n onChange={({ value }: { value: any }) =>\n fieldContext.onChange(\n buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\"),\n 'onFieldChange'\n )\n }\n onSelect={({ value }: { value: any }) =>\n fieldContext.onChange(\n buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\"),\n 'onFieldChange'\n )\n }\n className=\"w-full solid-standard-autocomplete\"\n // virtualScrollerOptions={{\n // itemSize: 38,\n // lazy: true,\n // onLazyLoad\n // }}\n virtualScrollerOptions={getVirtualScrollerOptions({\n itemsLength: autoCompleteItems.length,\n lazy: true,\n onLazyLoad,\n })}\n />\n {fieldLayoutInfo.attrs.inlineCreate === \"true\" && readOnlyPermission === false && formViewParams &&\n <RenderSolidFormEmbededView formik={formik} fieldContext={fieldContext} customCreateHandler={customCreateHandler} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams}></RenderSolidFormEmbededView>\n }\n </div>\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n );\n}\n\nexport const RenderSolidFormEmbededView = ({ formik, fieldContext, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity, formViewParams }: any) => {\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-6';\n const parentModelName = fieldLayoutInfo?.attrs?.parentModelName;\n const childModelName = fieldLayoutInfo?.attrs?.childModelName;\n const parentFieldName = fieldLayoutInfo?.attrs?.parentFieldName;\n const childFieldName = fieldLayoutInfo?.attrs?.childFieldName;\n const parentModuleName = fieldLayoutInfo?.attrs?.parentModuleName;\n\n\n const params = {\n moduleName: formViewParams.moduleName,\n modelName: camelCase(formViewParams.modelName),\n id: formViewParams.id,\n embeded: formViewParams.embeded,\n inlineCreateAutoSave: formViewParams.inlineCreateAutoSave,\n layout: formViewParams.layout,\n customCreateHandler: ((values: any) => {\n setvisibleCreateRelationEntity(false);\n customCreateHandler(values)\n }),\n handlePopupClose: (() => {\n setvisibleCreateRelationEntity(false);\n }),\n }\n return (\n <div>\n <div>\n <SolidButton\n icon=\"si si-plus\"\n rounded\n variant=\"outline\"\n aria-label=\"Filter\"\n type=\"button\"\n size=\"small\"\n onClick={() => setvisibleCreateRelationEntity(true)}\n className=\"custom-add-button\"\n />\n </div>\n <SolidDialog\n visible={visibleCreateRelationEntity}\n showHeader={false}\n style={{\n width: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? \"60vw\",\n height: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.height ?? \"auto\"\n }}\n onHide={() => {\n if (!visibleCreateRelationEntity) return;\n setvisibleCreateRelationEntity(false);\n }}\n className=\"solid-dialog\"\n breakpoints={{ '1199px': '35rem', \"767px\": '85vw', \"550px\": '90vw' }}\n\n >\n <SolidFormView {...params} />\n\n </SolidDialog>\n </div>\n )\n}\n\n\nexport const DefaultRelationManyToOneFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const userKeyField = fieldLayoutInfo?.attrs?.coModelFieldToDisplay ? fieldLayoutInfo?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n const displayValue = value?.[userKeyField];\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>{displayValue || ''}</p>\n </div>\n );\n}\n\n\n\n\n\nexport const PseudoRelationManyToOneFormWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const dispatch = useDispatch();\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly ? fieldContext.readOnly : false;\n\n const parentModelName = fieldLayoutInfo?.attrs?.parentModelName;\n const childModelName = fieldLayoutInfo?.attrs?.childModelName;\n const parentFieldName = fieldLayoutInfo?.attrs?.parentFieldName;\n const childFieldName = fieldLayoutInfo?.attrs?.childFieldName;\n const parentModuleName = fieldLayoutInfo?.attrs?.parentModuleName;\n const parentFieldLabels = fieldLayoutInfo?.attrs?.parentFieldLabels;\n const parentSearchFields = fieldLayoutInfo?.attrs?.parentSearchFields;\n\n const [formViewParams, setformViewParams] = useState<FormViewParams>()\n\n const viewMode: string = fieldContext.viewMode;\n\n useEffect(() => {\n const formviewparams: FormViewParams = {\n moduleName: parentModuleName,\n modelName: camelCase(parentModelName),\n id: \"new\",\n embeded: true,\n inlineCreateAutoSave: fieldLayoutInfo?.attrs?.inlineCreateAutoSave,\n layout: fieldLayoutInfo?.attrs?.inlineCreateLayout\n }\n setformViewParams(formviewparams);\n }, [])\n\n\n const [visibleCreateRelationEntity, setvisibleCreateRelationEntity] = useState(false);\n // auto complete specific code. \n const entityApi = createSolidEntityApi(parentModelName || \"userViewMetadata\");\n const { useLazyGetSolidEntitiesQuery } = entityApi;\n const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const whereClause = fieldLayoutInfo.attrs.whereClause;\n\n const [autoCompleteItems, setAutoCompleteItems] = useState<any[]>([]);\n const [offset, setOffset] = useState(0);\n const [hasMore, setHasMore] = useState(true);\n const [currentQuery, setCurrentQuery] = useState(\"\");\n const LIMIT = 50;\n const [loading, setLoading] = useState(false);\n const [viewDisplayValue, setViewDisplayValue] = useState<any>(null);\n\n\n useEffect(() => {\n const fn = async () => {\n if (fieldContext.data[fieldLayoutInfo.attrs.name]) {\n const queryData = {\n offset: 0,\n limit: LIMIT,\n filters: {\n $and: [\n {\n [parentFieldName]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$eqi']: fieldContext.data[fieldLayoutInfo.attrs.name] ?? formik.values[fieldLayoutInfo.attrs.name]\n }\n }\n ]\n }\n };\n let autocompleteQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n const autocompleteResponse = await triggerGetSolidEntities(autocompleteQs);\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n const autocompleteData = autocompleteResponse.data;\n if (autocompleteData) {\n const formattedRecords = autocompleteData.records.map((item: any) => {\n const label = parentFieldLabels && parentFieldLabels.length > 0 ? parentFieldLabels.map((label: any) => item[label]).join(\" - \") : item[parentFieldName];\n return {\n solidManyToOneLabel: label,\n solidManyToOneValue: item[parentFieldName],\n ...item,\n }\n });\n if (formattedRecords.length > 0) {\n formik.setFieldValue(fieldLayoutInfo.attrs.name, formattedRecords[0]);\n }\n }\n }\n }\n fn()\n }, [])\n\n // Add this NEW useEffect - only for view mode refresh\n useEffect(() => {\n const fn = async () => {\n if (viewMode !== \"view\") {\n setViewDisplayValue(null);\n return;\n }\n\n const rawValue =\n fieldContext.data[fieldLayoutInfo.attrs.name] ??\n formik.values[fieldLayoutInfo.attrs.name];\n\n if (!rawValue) return;\n\n const searchValue =\n typeof rawValue === \"object\"\n ? rawValue[parentFieldName]\n : rawValue;\n\n const queryData = {\n offset: 0,\n limit: 1,\n filters: {\n $and: [\n {\n [parentFieldName]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || \"$eqi\"]:\n searchValue,\n },\n },\n ],\n },\n };\n\n const qsStr = qs.stringify(queryData, { encodeValuesOnly: true });\n const res = await triggerGetSolidEntities(qsStr);\n const record = res.data?.records?.[0];\n if (!record) return;\n\n const label =\n parentFieldLabels?.length > 0\n ? parentFieldLabels.map((l: string) => record[l]).join(\" - \")\n : record[parentFieldName];\n console.log(\"Final View Label\", label, record[parentFieldName])\n setViewDisplayValue({\n solidManyToOneLabel: label,\n solidManyToOneValue: record[parentFieldName],\n ...record,\n });\n };\n\n fn();\n }, [viewMode, formik.values[fieldLayoutInfo.attrs.name]]);\n\n\n const resolvedValue = viewMode === \"view\" ? viewDisplayValue : formik.values[fieldLayoutInfo.attrs.name];\n\n const autoCompleteSearch = async (event: AutoCompleteCompleteEvent) => {\n setOffset(0);\n setCurrentQuery(event.query || \"\");\n setHasMore(true);\n // Get the list view layout & metadata first. \n const queryData = {\n offset: 0,\n limit: LIMIT,\n filters: {\n $and: [\n ...(parentSearchFields?.length > 0\n ? [\n {\n $or: parentSearchFields.map((field: any) => ({\n [field]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']:\n event.query\n }\n }))\n }\n ]\n : [\n {\n [parentFieldName]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']:\n event.query\n }\n }\n ])\n\n ]\n }\n };\n let fixedFilterToBeApplied = false;\n let fixedFilterParsed = false;\n if (solidFormViewMetaData?.data?.solidView?.model?.singularName === \"listOfValues\" && fieldContext.fieldMetadata.relationCoModelSingularName !== \"moduleMetadata\") {\n fixedFilterToBeApplied = true;\n }\n if (fieldMetadata?.relationFieldFixedFilter || fieldLayoutInfo?.attrs?.whereClause) {\n const convertedFixedFilter = fieldLayoutInfo?.attrs?.whereClause ? fieldLayoutInfo?.attrs?.whereClause : fieldMetadata?.relationFieldFixedFilter;\n fixedFilterToBeApplied = true;\n const fixedFilterTemplate = Handlebars.compile(convertedFixedFilter);\n const renderedFilter = fixedFilterTemplate(formik.values);\n\n // Parse the result into a JS object\n let parsedFilter;\n try {\n parsedFilter = JSON.parse(renderedFilter);\n const isValid = (obj: any): boolean => {\n if (!obj || typeof obj !== 'object') return false;\n\n // Recursively check all nested values\n const hasValidValue = (val: any): boolean => {\n if (val === null || val === undefined || val === '') return false;\n if (typeof val === 'object') {\n return Object.values(val).some(hasValidValue);\n }\n return true;\n };\n\n return hasValidValue(obj);\n };\n\n if (isValid(parsedFilter)) {\n queryData.filters.$and.push(parsedFilter);\n fixedFilterParsed = true;\n } else {\n console.warn(ERROR_MESSAGES.SKIPPING_EMPTY_FIXED_FILTER, parsedFilter);\n }\n } catch (e) {\n console.error(ERROR_MESSAGES.INVALID_JSON_WHERECLAUSE, renderedFilter);\n parsedFilter = {}; // fallback or throw error as needed\n }\n\n }\n\n let autocompleteQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n // if (whereClause) {\n // autocompleteQs = `${autocompleteQs}&${whereClause}`;\n // }\n\n\n if (fixedFilterToBeApplied && !fixedFilterParsed) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SELECT_RELEVANT_FIELD, detail: ERROR_MESSAGES.FIELD_NOT_SELECT }));\n\n } else {\n try {\n setLoading(true);\n // TODO: do error handling here, possible errors like modelname is incorrect etc...\n const autocompleteResponse = await triggerGetSolidEntities(autocompleteQs);\n\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n const autocompleteData = autocompleteResponse.data;\n\n if (autocompleteData) {\n const autoCompleteItems = autocompleteData.records.map((item: any) => {\n const label = parentFieldLabels && parentFieldLabels.length > 0 ? parentFieldLabels.map((label: any) => item[label]).join(\" - \") : item[parentFieldName];\n return {\n solidManyToOneLabel: label,\n solidManyToOneValue: item[parentFieldName],\n ...item,\n }\n });\n // const autoCompleteItems = autocompleteData.records.map((item: any) => {label: item[parentFieldName],value});\n\n setAutoCompleteItems(autoCompleteItems);\n setOffset(autocompleteData.records.length);\n setHasMore(autocompleteData.records.length === LIMIT);\n }\n }\n finally {\n setLoading(false);\n }\n }\n }\n\n const onLazyLoad = async (event: { first: number; last: number }) => {\n if (!hasMore || loading) return;\n if (event.last < autoCompleteItems.length - 1) return; // Only load if user reaches bottom\n\n const queryData = {\n offset: offset,\n limit: LIMIT,\n filters: {\n $and: [\n ...(parentSearchFields?.length > 0\n ? [\n {\n $or: parentSearchFields.map((field: any) => ({\n [field]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']:\n currentQuery\n }\n }))\n }\n ]\n : [\n {\n [parentFieldName]: {\n [fieldLayoutInfo?.attrs?.autocompleteMatchMode || '$containsi']:\n currentQuery\n }\n }\n ])\n\n ]\n }\n };\n\n let fixedFilterToBeApplied = false;\n let fixedFilterParsed = false;\n if (solidFormViewMetaData?.data?.solidView?.model?.singularName === \"listOfValues\" && fieldContext.fieldMetadata.relationCoModelSingularName !== \"moduleMetadata\") {\n fixedFilterToBeApplied = true;\n }\n if (fieldMetadata?.relationFieldFixedFilter || fieldLayoutInfo?.attrs?.whereClause) {\n const convertedFixedFilter = fieldLayoutInfo?.attrs?.whereClause ? fieldLayoutInfo?.attrs?.whereClause : fieldMetadata?.relationFieldFixedFilter;\n fixedFilterToBeApplied = true;\n const fixedFilterTemplate = Handlebars.compile(convertedFixedFilter);\n const renderedFilter = fixedFilterTemplate(formik.values);\n\n // Parse the result into a JS object\n let parsedFilter;\n try {\n parsedFilter = JSON.parse(renderedFilter);\n const isValid = (obj: any): boolean => {\n if (!obj || typeof obj !== 'object') return false;\n\n // Recursively check all nested values\n const hasValidValue = (val: any): boolean => {\n if (val === null || val === undefined || val === '') return false;\n if (typeof val === 'object') {\n return Object.values(val).some(hasValidValue);\n }\n return true;\n };\n\n return hasValidValue(obj);\n };\n\n if (isValid(parsedFilter)) {\n queryData.filters.$and.push(parsedFilter);\n fixedFilterParsed = true;\n } else {\n console.warn(ERROR_MESSAGES.SKIPPING_EMPTY_FIXED_FILTER, parsedFilter);\n }\n } catch (e) {\n console.error(ERROR_MESSAGES.INVALID_JSON_WHERECLAUSE, renderedFilter);\n parsedFilter = {}; // fallback or throw error as needed\n }\n\n }\n\n const autocompleteQs = qs.stringify(queryData, { encodeValuesOnly: true });\n if (fixedFilterToBeApplied && !fixedFilterParsed) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.SELECT_RELEVANT_FIELD, detail: ERROR_MESSAGES.FIELD_NOT_SELECT }));\n\n } else {\n try {\n setLoading(true);\n const response = await triggerGetSolidEntities(autocompleteQs);\n const records = response.data?.records || [];\n if (records.length < LIMIT) setHasMore(false);\n setAutoCompleteItems((prev: any) => [...prev, ...records.map((item: any) => {\n const label = parentFieldLabels && parentFieldLabels.length > 0 ? parentFieldLabels.map((label: any) => item[label]).join(\" - \") : item[parentFieldName];\n return {\n solidManyToOneLabel: label,\n solidManyToOneValue: item[parentFieldName],\n ...item\n }\n }\n )]);\n setOffset((prev: any) => prev + records.length);\n } finally {\n setLoading(false);\n }\n }\n };\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const customCreateHandler = (values: any) => {\n const currentRelationData = formik.values[fieldLayoutInfo.attrs.name] || [];\n const jsonValues = Object.fromEntries(values.entries());\n console.log(\"jsonValues\", jsonValues);\n const label = parentFieldLabels && parentFieldLabels.length > 0 ? parentFieldLabels.map((label: any) => jsonValues[label]).join(\" - \") : jsonValues[parentFieldName];\n\n const updatedRelationData = [\n ...currentRelationData,\n // jsonValues[parentFieldName]\n {\n solidManyToOneLabel: label,\n solidManyToOneValue: \"new\",\n original: jsonValues,\n },\n ];\n\n formik.setFieldValue(fieldLayoutInfo.attrs.name, updatedRelationData);\n\n }\n return (\n <div className=\"relative\" >\n <div className={styles.fieldWrapper}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <div className=\"flex align-items-center gap-3\" >\n <SolidAutocomplete\n readOnly={formReadonly || fieldReadonly || readOnlyPermission}\n disabled={formDisabled || fieldDisabled || readOnlyPermission || viewMode === \"view\"}\n field=\"solidManyToOneLabel\"\n id={fieldLayoutInfo.attrs.name}\n value={resolvedValue || null}\n dropdown={!readOnlyPermission}\n suggestions={autoCompleteItems}\n completeMethod={autoCompleteSearch}\n onChange={({ value }: { value: any }) =>\n fieldContext.onChange(\n buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\"),\n 'onFieldChange'\n )\n }\n onSelect={({ value }: { value: any }) =>\n fieldContext.onChange(\n buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\"),\n 'onFieldChange'\n )\n }\n className=\"w-full solid-standard-autocomplete\"\n // virtualScrollerOptions={{\n // itemSize: 38,\n // lazy: true,\n // onLazyLoad\n // }}\n virtualScrollerOptions={getVirtualScrollerOptions({\n itemsLength: autoCompleteItems.length,\n lazy: true,\n onLazyLoad,\n })}\n />\n {\n fieldLayoutInfo.attrs.inlineCreate === \"true\" && readOnlyPermission === false && formViewParams && viewMode !== \"view\" &&\n <RenderSolidFormEmbededView formik={formik} fieldContext={fieldContext} customCreateHandler={customCreateHandler} visibleCreateRelationEntity={visibleCreateRelationEntity} setvisibleCreateRelationEntity={setvisibleCreateRelationEntity} formViewParams={formViewParams} > </RenderSolidFormEmbededView>\n }\n </div>\n </div>\n {\n isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\" >\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )\n }\n </div>\n );\n}\n"]}
@@ -1,14 +1,14 @@
1
1
 
2
2
  import { createSolidEntityApi } from "../../../../../redux/api/solidEntityApi";
3
- import { AutoComplete, AutoCompleteCompleteEvent } from "primereact/autocomplete";
4
- import { Message } from "primereact/message";
3
+ import { SolidAutocomplete } from "../../../../shad-cn-ui/SolidAutocomplete";
4
+ import { SolidButton } from "../../../../shad-cn-ui/SolidButton";
5
+ import { SolidDialog } from "../../../../shad-cn-ui/SolidDialog";
6
+ import { SolidMessage } from "../../../../shad-cn-ui/SolidMessage";
5
7
  import qs from "qs";
6
- import { useEffect, useState } from "react";
8
+ import React, { useEffect, useState } from "react";
7
9
  import * as Yup from 'yup';
8
10
  import { FormikObject, ISolidField, SolidFieldProps } from "../ISolidField";
9
11
  import { camelCase } from "lodash";
10
- import { Button } from "primereact/button";
11
- import { Dialog } from "primereact/dialog";
12
12
  import SolidFormView from '../../../../../components/core/form/SolidFormView';
13
13
  import { getExtensionComponent } from "../../../../../helpers/registry";
14
14
  import { SolidFormFieldWidgetProps } from "../../../../../types/solid-core";
@@ -19,6 +19,10 @@ import * as Handlebars from "handlebars";
19
19
  import { SolidFieldTooltip } from "../../../../../components/common/SolidFieldTooltip";
20
20
  import { ERROR_MESSAGES } from "../../../../../constants/error-messages";
21
21
  import { getVirtualScrollerOptions } from "../../../../../helpers/autoCompleteVirtualScroll";
22
+ import { buildSyntheticChangeEvent } from "../fieldEventUtils";
23
+ import styles from "../solidFields.module.css";
24
+
25
+ type AutoCompleteCompleteEvent = { query: string };
22
26
 
23
27
 
24
28
  export type FormViewParams = {
@@ -422,27 +426,36 @@ export const DefaultRelationManyToOneFormEditWidget = ({ formik, fieldContext }:
422
426
  }
423
427
  return (
424
428
  <div className="relative">
425
- <div className="flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4">
429
+ <div className={styles.fieldWrapper}>
426
430
  {showFieldLabel != false &&
427
- <label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label">
431
+ <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>
428
432
  {fieldLabel}
429
433
  {fieldMetadata.required && <span className="text-red-500"> *</span>}
430
434
  <SolidFieldTooltip fieldContext={fieldContext} />
431
435
  </label>
432
436
  }
433
437
  <div className="flex align-items-center gap-3">
434
- <AutoComplete
438
+ <SolidAutocomplete
435
439
  readOnly={formReadonly || fieldReadonly || readOnlyPermission}
436
440
  disabled={formDisabled || fieldDisabled || readOnlyPermission}
437
- {...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
438
441
  id={fieldLayoutInfo.attrs.name}
439
442
  field="solidManyToOneLabel"
440
443
  value={formik.values[fieldLayoutInfo.attrs.name] || ''}
441
444
  dropdown={!readOnlyPermission}
442
445
  suggestions={autoCompleteItems}
443
446
  completeMethod={autoCompleteSearch}
444
- onChange={(e) => fieldContext.onChange(e, 'onFieldChange')}
445
- onFocus={(e) => e.target.select()}
447
+ onChange={({ value }: { value: any }) =>
448
+ fieldContext.onChange(
449
+ buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text"),
450
+ 'onFieldChange'
451
+ )
452
+ }
453
+ onSelect={({ value }: { value: any }) =>
454
+ fieldContext.onChange(
455
+ buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text"),
456
+ 'onFieldChange'
457
+ )
458
+ }
446
459
  className="w-full solid-standard-autocomplete"
447
460
  // virtualScrollerOptions={{
448
461
  // itemSize: 38,
@@ -462,7 +475,7 @@ export const DefaultRelationManyToOneFormEditWidget = ({ formik, fieldContext }:
462
475
  </div>
463
476
  {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
464
477
  <div className="absolute mt-1">
465
- <Message severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />
478
+ <SolidMessage severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />
466
479
  </div>
467
480
  )}
468
481
  </div>
@@ -470,10 +483,8 @@ export const DefaultRelationManyToOneFormEditWidget = ({ formik, fieldContext }:
470
483
  }
471
484
 
472
485
  export const RenderSolidFormEmbededView = ({ formik, fieldContext, customCreateHandler, visibleCreateRelationEntity, setvisibleCreateRelationEntity, formViewParams }: any) => {
473
- const fieldMetadata = fieldContext.fieldMetadata;
474
486
  const fieldLayoutInfo = fieldContext.field;
475
- const className = fieldLayoutInfo.attrs?.className || 'field col-6 flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4';
476
- const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
487
+ const className = fieldLayoutInfo.attrs?.className || 'field col-6';
477
488
  const parentModelName = fieldLayoutInfo?.attrs?.parentModelName;
478
489
  const childModelName = fieldLayoutInfo?.attrs?.childModelName;
479
490
  const parentFieldName = fieldLayoutInfo?.attrs?.parentFieldName;
@@ -499,10 +510,10 @@ export const RenderSolidFormEmbededView = ({ formik, fieldContext, customCreateH
499
510
  return (
500
511
  <div>
501
512
  <div>
502
- <Button
503
- icon="pi pi-plus"
513
+ <SolidButton
514
+ icon="si si-plus"
504
515
  rounded
505
- outlined
516
+ variant="outline"
506
517
  aria-label="Filter"
507
518
  type="button"
508
519
  size="small"
@@ -510,10 +521,9 @@ export const RenderSolidFormEmbededView = ({ formik, fieldContext, customCreateH
510
521
  className="custom-add-button"
511
522
  />
512
523
  </div>
513
- <Dialog
514
- header=""
515
- showHeader={false}
524
+ <SolidDialog
516
525
  visible={visibleCreateRelationEntity}
526
+ showHeader={false}
517
527
  style={{
518
528
  width: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.width ?? "60vw",
519
529
  height: fieldLayoutInfo?.attrs?.inlineCreateLayout?.attrs?.height ?? "auto"
@@ -528,7 +538,7 @@ export const RenderSolidFormEmbededView = ({ formik, fieldContext, customCreateH
528
538
  >
529
539
  <SolidFormView {...params} />
530
540
 
531
- </Dialog>
541
+ </SolidDialog>
532
542
  </div>
533
543
  )
534
544
  }
@@ -544,11 +554,11 @@ export const DefaultRelationManyToOneFormViewWidget = ({ formik, fieldContext }:
544
554
  const userKeyField = fieldLayoutInfo?.attrs?.coModelFieldToDisplay ? fieldLayoutInfo?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;
545
555
  const displayValue = value?.[userKeyField];
546
556
  return (
547
- <div className="mt-2 flex-column gap-2">
557
+ <div className={styles.fieldViewWrapper}>
548
558
  {showFieldLabel !== false && (
549
- <p className="m-0 form-field-label font-medium">{fieldLabel}</p>
559
+ <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>
550
560
  )}
551
- <p className="m-0">{displayValue}</p>
561
+ <p className={styles.fieldViewValue}>{displayValue || ''}</p>
552
562
  </div>
553
563
  );
554
564
  }
@@ -955,27 +965,36 @@ export const PseudoRelationManyToOneFormWidget = ({ formik, fieldContext }: Soli
955
965
  }
956
966
  return (
957
967
  <div className="relative" >
958
- < div className="flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4" >
968
+ <div className={styles.fieldWrapper}>
959
969
  {showFieldLabel != false &&
960
- <label htmlFor={fieldLayoutInfo.attrs.name} className="form-field-label" >
970
+ <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>
961
971
  {fieldLabel}
962
- {fieldMetadata.required && <span className="text-red-500" > * </span>}
972
+ {fieldMetadata.required && <span className="text-red-500"> *</span>}
963
973
  <SolidFieldTooltip fieldContext={fieldContext} />
964
974
  </label>
965
975
  }
966
976
  <div className="flex align-items-center gap-3" >
967
- <AutoComplete
977
+ <SolidAutocomplete
968
978
  readOnly={formReadonly || fieldReadonly || readOnlyPermission}
969
979
  disabled={formDisabled || fieldDisabled || readOnlyPermission || viewMode === "view"}
970
980
  field="solidManyToOneLabel"
971
- {...formik.getFieldProps(fieldLayoutInfo.attrs.name)}
972
981
  id={fieldLayoutInfo.attrs.name}
973
982
  value={resolvedValue || null}
974
983
  dropdown={!readOnlyPermission}
975
984
  suggestions={autoCompleteItems}
976
985
  completeMethod={autoCompleteSearch}
977
- onChange={(e) => fieldContext.onChange(e, 'onFieldChange')}
978
- onFocus={(e) => e.target.select()}
986
+ onChange={({ value }: { value: any }) =>
987
+ fieldContext.onChange(
988
+ buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text"),
989
+ 'onFieldChange'
990
+ )
991
+ }
992
+ onSelect={({ value }: { value: any }) =>
993
+ fieldContext.onChange(
994
+ buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, "text"),
995
+ 'onFieldChange'
996
+ )
997
+ }
979
998
  className="w-full solid-standard-autocomplete"
980
999
  // virtualScrollerOptions={{
981
1000
  // itemSize: 38,
@@ -997,11 +1016,10 @@ export const PseudoRelationManyToOneFormWidget = ({ formik, fieldContext }: Soli
997
1016
  {
998
1017
  isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (
999
1018
  <div className="absolute mt-1" >
1000
- <Message severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />
1019
+ <SolidMessage severity="error" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />
1001
1020
  </div>
1002
1021
  )
1003
1022
  }
1004
1023
  </div>
1005
1024
  );
1006
1025
  }
1007
-
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRelationOneToManyField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI5E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AASlG,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,GAAG,CAAC;IAChB,EAAE,EAAE,GAAG,CAAC;IACR,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,GAAG,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,gBAAgB,CAAC,EAAE,GAAG,CAAA;CACzB,CAAA;AAED,qBAAa,2BAA4B,YAAW,WAAW;IAE3D,OAAO,CAAC,YAAY,CAAkB;gBAC1B,YAAY,EAAE,eAAe;IAIzC,YAAY,IAAI,GAAG;IAYnB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAWnD,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAc9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAkD3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AA4CD,eAAO,MAAM,sCAAsC,6BAA8B,yBAAyB,4CAwKzG,CAAA;AAGD,eAAO,MAAM,sCAAsC,6BAA8B,yBAAyB,4CAwHzG,CAAA;AAGD,eAAO,MAAM,0BAA0B,4IAA6I,GAAG,4CAoDtL,CAAA;AAGD,eAAO,MAAM,iCAAiC,oEAAqE,oBAAoB,4CA0JtI,CAAA"}
1
+ {"version":3,"file":"SolidRelationOneToManyField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI5E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAQlG,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,GAAG,CAAC;IAChB,EAAE,EAAE,GAAG,CAAC;IACR,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,GAAG,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,gBAAgB,CAAC,EAAE,GAAG,CAAA;CACzB,CAAA;AAED,qBAAa,2BAA4B,YAAW,WAAW;IAE3D,OAAO,CAAC,YAAY,CAAkB;gBAC1B,YAAY,EAAE,eAAe;IAIzC,YAAY,IAAI,GAAG;IAYnB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAWnD,gBAAgB,IAAI,GAAG,CAAC,MAAM;IAc9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAkD3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAcjE;AA4CD,eAAO,MAAM,sCAAsC,6BAA8B,yBAAyB,4CAwKzG,CAAA;AAGD,eAAO,MAAM,sCAAsC,6BAA8B,yBAAyB,4CAwHzG,CAAA;AAGD,eAAO,MAAM,0BAA0B,4IAA6I,GAAG,4CAmDtL,CAAA;AAGD,eAAO,MAAM,iCAAiC,oEAAqE,oBAAoB,4CA0JtI,CAAA"}