@solidxai/core-ui 0.1.8-beta.19 → 0.1.8-beta.20

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 (302) hide show
  1. package/dist/adapters/auth/getSession.d.ts.map +1 -1
  2. package/dist/adapters/auth/getSession.js +1 -1
  3. package/dist/adapters/auth/getSession.js.map +1 -1
  4. package/dist/adapters/auth/getSession.ts +1 -0
  5. package/dist/adapters/auth/helper.d.ts.map +1 -1
  6. package/dist/adapters/auth/helper.js +1 -0
  7. package/dist/adapters/auth/helper.js.map +1 -1
  8. package/dist/adapters/auth/helper.ts +3 -1
  9. package/dist/adapters/auth/signIn.d.ts.map +1 -1
  10. package/dist/adapters/auth/signIn.js +1 -0
  11. package/dist/adapters/auth/signIn.js.map +1 -1
  12. package/dist/adapters/auth/signIn.ts +3 -1
  13. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts +1 -0
  14. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts.map +1 -1
  15. package/dist/adapters/auth/signInWithOAuthAccessCode.js +10 -9
  16. package/dist/adapters/auth/signInWithOAuthAccessCode.js.map +1 -1
  17. package/dist/adapters/auth/signInWithOAuthAccessCode.ts +6 -3
  18. package/dist/adapters/auth/signOut.d.ts.map +1 -1
  19. package/dist/adapters/auth/signOut.js +7 -1
  20. package/dist/adapters/auth/signOut.js.map +1 -1
  21. package/dist/adapters/auth/signOut.ts +7 -1
  22. package/dist/adapters/auth/types.d.ts +1 -0
  23. package/dist/adapters/auth/types.d.ts.map +1 -1
  24. package/dist/adapters/auth/types.js.map +1 -1
  25. package/dist/adapters/auth/types.ts +1 -0
  26. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  27. package/dist/components/auth/AuthLayout.js +2 -1
  28. package/dist/components/auth/AuthLayout.js.map +1 -1
  29. package/dist/components/auth/AuthLayout.tsx +2 -1
  30. package/dist/components/auth/FacebookAuthChecking.d.ts +2 -0
  31. package/dist/components/auth/FacebookAuthChecking.d.ts.map +1 -0
  32. package/dist/components/auth/FacebookAuthChecking.js +103 -0
  33. package/dist/components/auth/FacebookAuthChecking.js.map +1 -0
  34. package/dist/components/auth/FacebookAuthChecking.tsx +64 -0
  35. package/dist/components/auth/GoogleAuthChecking.js +0 -1
  36. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  37. package/dist/components/auth/GoogleAuthChecking.tsx +1 -1
  38. package/dist/components/auth/MicrosoftAuthChecking.d.ts +2 -0
  39. package/dist/components/auth/MicrosoftAuthChecking.d.ts.map +1 -0
  40. package/dist/components/auth/MicrosoftAuthChecking.js +103 -0
  41. package/dist/components/auth/MicrosoftAuthChecking.js.map +1 -0
  42. package/dist/components/auth/MicrosoftAuthChecking.tsx +64 -0
  43. package/dist/components/auth/SolidInitialLoginOtp.js +0 -1
  44. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  45. package/dist/components/auth/SolidInitialLoginOtp.tsx +1 -1
  46. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  47. package/dist/components/auth/SolidInitiateRegisterOtp.js +28 -12
  48. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  49. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +26 -11
  50. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  51. package/dist/components/auth/SolidLogin.js +7 -4
  52. package/dist/components/auth/SolidLogin.js.map +1 -1
  53. package/dist/components/auth/SolidLogin.tsx +15 -3
  54. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  55. package/dist/components/auth/SolidRegister.js +48 -17
  56. package/dist/components/auth/SolidRegister.js.map +1 -1
  57. package/dist/components/auth/SolidRegister.tsx +87 -30
  58. package/dist/components/common/AuthBanner.js.map +1 -1
  59. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  60. package/dist/components/common/GeneralSettings.js +228 -146
  61. package/dist/components/common/GeneralSettings.js.map +1 -1
  62. package/dist/components/common/GeneralSettings.tsx +1103 -772
  63. package/dist/components/common/SettingsComponent.d.ts +2 -0
  64. package/dist/components/common/SettingsComponent.d.ts.map +1 -0
  65. package/dist/components/common/SettingsComponent.js +351 -0
  66. package/dist/components/common/SettingsComponent.js.map +1 -0
  67. package/dist/components/common/SettingsComponent.module.css +421 -0
  68. package/dist/components/common/SettingsComponent.tsx +582 -0
  69. package/dist/components/common/SocialMediaLogin.d.ts +8 -1
  70. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  71. package/dist/components/common/SocialMediaLogin.js +6 -13
  72. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  73. package/dist/components/common/SocialMediaLogin.tsx +120 -58
  74. package/dist/components/common/SolidExport.d.ts.map +1 -1
  75. package/dist/components/common/SolidExport.js +1 -1
  76. package/dist/components/common/SolidExport.js.map +1 -1
  77. package/dist/components/common/SolidExport.tsx +2 -1
  78. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  79. package/dist/components/common/SolidFormStepper.js +2 -1
  80. package/dist/components/common/SolidFormStepper.js.map +1 -1
  81. package/dist/components/common/SolidFormStepper.tsx +2 -1
  82. package/dist/components/common/solid-export.css +26 -0
  83. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  84. package/dist/components/core/card/SolidCardView.js +24 -25
  85. package/dist/components/core/card/SolidCardView.js.map +1 -1
  86. package/dist/components/core/card/SolidCardView.tsx +22 -27
  87. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  88. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  89. package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
  90. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  91. package/dist/components/core/chatter/SolidChatter.js +39 -9
  92. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  93. package/dist/components/core/chatter/SolidChatter.tsx +42 -7
  94. package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts.map +1 -1
  95. package/dist/components/core/chatter/SolidChatterAuditMessage.js +19 -1
  96. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  97. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +22 -1
  98. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +3 -0
  99. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  100. package/dist/components/core/chatter/SolidChatterMessageBox.js +68 -4
  101. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  102. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +45 -3
  103. package/dist/components/core/chatter/chatter.module.css +0 -3
  104. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  105. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +3 -1
  106. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  107. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +3 -1
  108. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  109. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +9 -8
  110. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  111. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +4 -2
  112. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts +3 -0
  113. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts.map +1 -0
  114. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js +81 -0
  115. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js.map +1 -0
  116. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.tsx +114 -0
  117. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  118. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  119. package/dist/components/core/form/SolidFormActionHeader.js +5 -3
  120. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  121. package/dist/components/core/form/SolidFormActionHeader.tsx +27 -1
  122. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  123. package/dist/components/core/form/SolidFormView.js +67 -27
  124. package/dist/components/core/form/SolidFormView.js.map +1 -1
  125. package/dist/components/core/form/SolidFormView.tsx +54 -7
  126. package/dist/components/core/form/fields/SolidComputedField.d.ts +25 -0
  127. package/dist/components/core/form/fields/SolidComputedField.d.ts.map +1 -0
  128. package/dist/components/core/form/fields/SolidComputedField.js +128 -0
  129. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -0
  130. package/dist/components/core/form/fields/SolidComputedField.tsx +134 -0
  131. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  132. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +11 -3
  133. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  134. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +13 -4
  135. package/dist/components/core/kanban/KanbanBoard.js +1 -1
  136. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  137. package/dist/components/core/kanban/KanbanBoard.tsx +1 -1
  138. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  139. package/dist/components/core/kanban/SolidKanbanView.js +216 -102
  140. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  141. package/dist/components/core/kanban/SolidKanbanView.tsx +204 -72
  142. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  143. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  144. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
  145. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  146. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  147. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +1 -2
  148. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  149. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  150. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  151. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +21 -10
  152. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  153. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  154. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  155. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +18 -10
  156. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  157. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +3 -6
  158. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  159. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +30 -24
  160. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  161. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  162. package/dist/components/core/list/SolidDataTablePagination.d.ts +15 -0
  163. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +1 -0
  164. package/dist/components/core/list/SolidDataTablePagination.js +22 -0
  165. package/dist/components/core/list/SolidDataTablePagination.js.map +1 -0
  166. package/dist/components/core/list/SolidDataTablePagination.tsx +71 -0
  167. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  168. package/dist/components/core/list/SolidListView.js +58 -61
  169. package/dist/components/core/list/SolidListView.js.map +1 -1
  170. package/dist/components/core/list/SolidListView.tsx +42 -46
  171. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  172. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  173. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  174. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  175. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  176. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +6 -7
  177. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  178. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +9 -10
  179. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  180. package/dist/components/layout/user-profile-menu.js +15 -14
  181. package/dist/components/layout/user-profile-menu.js.map +1 -1
  182. package/dist/components/layout/user-profile-menu.tsx +8 -6
  183. package/dist/components/shad-cn-ui/SolidDialog.d.ts +1 -1
  184. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  185. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  186. package/dist/components/shad-cn-ui/SolidDialog.tsx +1 -1
  187. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -2
  188. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  189. package/dist/components/shad-cn-ui/SolidIcon.js +3 -4
  190. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  191. package/dist/components/shad-cn-ui/SolidIcon.tsx +12 -15
  192. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -1
  193. package/dist/components/shad-cn-ui/SolidRichTextEditor.js +9 -1
  194. package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -1
  195. package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +8 -1
  196. package/dist/components/shad-cn-ui/SolidTabs.d.ts +2 -1
  197. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  198. package/dist/components/shad-cn-ui/SolidTabs.js +2 -2
  199. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  200. package/dist/components/shad-cn-ui/SolidTabs.tsx +12 -1
  201. package/dist/components/solid-ui/SolidButton.d.ts +14 -0
  202. package/dist/components/solid-ui/SolidButton.d.ts.map +1 -0
  203. package/dist/components/solid-ui/SolidButton.js +36 -0
  204. package/dist/components/solid-ui/SolidButton.js.map +1 -0
  205. package/dist/components/solid-ui/SolidButton.tsx +54 -0
  206. package/dist/components/solid-ui/SolidTabs.d.ts +18 -0
  207. package/dist/components/solid-ui/SolidTabs.d.ts.map +1 -0
  208. package/dist/components/solid-ui/SolidTabs.js +22 -0
  209. package/dist/components/solid-ui/SolidTabs.js.map +1 -0
  210. package/dist/components/solid-ui/SolidTabs.tsx +73 -0
  211. package/dist/components/solid-ui/index.d.ts +3 -0
  212. package/dist/components/solid-ui/index.d.ts.map +1 -0
  213. package/dist/components/solid-ui/index.js +3 -0
  214. package/dist/components/solid-ui/index.js.map +1 -0
  215. package/dist/components/solid-ui/index.ts +2 -0
  216. package/dist/helpers/registry.d.ts +2 -2
  217. package/dist/helpers/registry.d.ts.map +1 -1
  218. package/dist/helpers/registry.js +4 -0
  219. package/dist/helpers/registry.js.map +1 -1
  220. package/dist/helpers/registry.ts +5 -3
  221. package/dist/helpers/settingsPayload.d.ts +32 -0
  222. package/dist/helpers/settingsPayload.d.ts.map +1 -0
  223. package/dist/helpers/settingsPayload.js +72 -0
  224. package/dist/helpers/settingsPayload.js.map +1 -0
  225. package/dist/helpers/settingsPayload.ts +125 -0
  226. package/dist/index.d.ts +4 -0
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +4 -0
  229. package/dist/index.js.map +1 -1
  230. package/dist/index.ts +4 -0
  231. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  232. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  233. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  234. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  235. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  236. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  237. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  238. package/dist/resources/globals.css +5 -1
  239. package/dist/resources/shadcn-base.css +242 -81
  240. package/dist/resources/solid-responsive.css +22 -4
  241. package/dist/routes/AppEventListener.js +1 -1
  242. package/dist/routes/AppEventListener.js.map +1 -1
  243. package/dist/routes/AppEventListener.tsx +1 -1
  244. package/dist/routes/pages/admin/core/SettingsPage.js +2 -2
  245. package/dist/routes/pages/admin/core/SettingsPage.js.map +1 -1
  246. package/dist/routes/pages/admin/core/SettingsPage.tsx +2 -2
  247. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts +2 -0
  248. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts.map +1 -0
  249. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js +6 -0
  250. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js.map +1 -0
  251. package/dist/routes/pages/auth/InitiateFacebookOauthPage.tsx +5 -0
  252. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts +2 -0
  253. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts.map +1 -0
  254. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js +6 -0
  255. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js.map +1 -0
  256. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.tsx +5 -0
  257. package/dist/routes/solidRoutes.d.ts.map +1 -1
  258. package/dist/routes/solidRoutes.js +5 -1
  259. package/dist/routes/solidRoutes.js.map +1 -1
  260. package/dist/routes/solidRoutes.tsx +5 -1
  261. package/dist/routes/types.d.ts +1 -1
  262. package/dist/routes/types.d.ts.map +1 -1
  263. package/dist/routes/types.js.map +1 -1
  264. package/dist/routes/types.ts +2 -0
  265. package/dist/types/extension-registry.d.ts +1 -0
  266. package/dist/types/extension-registry.d.ts.map +1 -1
  267. package/dist/types/extension-registry.js +1 -0
  268. package/dist/types/extension-registry.js.map +1 -1
  269. package/dist/types/extension-registry.ts +1 -0
  270. package/dist/types/index.d.ts +2 -0
  271. package/dist/types/solid-core.d.ts +10 -0
  272. package/package.json +1 -1
  273. package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
  274. package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
  275. package/dist/components/auth/SolidOTPVerify.js +0 -67
  276. package/dist/components/auth/SolidOTPVerify.js.map +0 -1
  277. package/dist/components/auth/SolidOTPVerify.tsx +0 -133
  278. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
  279. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
  280. package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
  281. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
  282. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
  283. package/dist/nextAuth/authProviders.d.ts +0 -4
  284. package/dist/nextAuth/authProviders.d.ts.map +0 -1
  285. package/dist/nextAuth/authProviders.js +0 -198
  286. package/dist/nextAuth/authProviders.js.map +0 -1
  287. package/dist/nextAuth/authProviders.tsx +0 -232
  288. package/dist/nextAuth/handleLogout.d.ts +0 -2
  289. package/dist/nextAuth/handleLogout.d.ts.map +0 -1
  290. package/dist/nextAuth/handleLogout.js +0 -36
  291. package/dist/nextAuth/handleLogout.js.map +0 -1
  292. package/dist/nextAuth/handleLogout.tsx +0 -39
  293. package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
  294. package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
  295. package/dist/nextAuth/refreshAccessToken.js +0 -24
  296. package/dist/nextAuth/refreshAccessToken.js.map +0 -1
  297. package/dist/nextAuth/refreshAccessToken.tsx +0 -28
  298. package/dist/redux/features/settingsSlice.d.ts +0 -20
  299. package/dist/redux/features/settingsSlice.d.ts.map +0 -1
  300. package/dist/redux/features/settingsSlice.js +0 -39
  301. package/dist/redux/features/settingsSlice.js.map +0 -1
  302. package/dist/redux/features/settingsSlice.ts +0 -60
@@ -0,0 +1,114 @@
1
+ import { useMemo, useState } from "react";
2
+ import { SolidButton, SolidTabGroup } from "../../../../shad-cn-ui";
3
+ import type { SolidSettingsWidgetProps } from "../../../../../types/solid-core";
4
+ import {
5
+ ModelConfigTab,
6
+ ProvidersTab,
7
+ type ModelBehavior,
8
+ type ModelEntry,
9
+ type SolidAiConfig,
10
+ ensureBuiltInProviders,
11
+ } from "../../../../common/SolidSettings/LlmSettings/AiModelConfigTab";
12
+
13
+ const DEFAULT_BEHAVIOR: ModelBehavior = { streaming: false, custom: "" };
14
+ const DEFAULT_MODEL_ENTRY: ModelEntry = { providerId: "", model: "", behavior: DEFAULT_BEHAVIOR };
15
+
16
+ function toSolidAiConfig(value: unknown): SolidAiConfig {
17
+ const defaultConfig: SolidAiConfig = {
18
+ models: {
19
+ default: DEFAULT_MODEL_ENTRY,
20
+ fast: DEFAULT_MODEL_ENTRY,
21
+ },
22
+ providers: {},
23
+ };
24
+
25
+ if (!value) return defaultConfig;
26
+
27
+ try {
28
+ const parsed = typeof value === "string" ? JSON.parse(value) : value;
29
+ if (!parsed || typeof parsed !== "object") return defaultConfig;
30
+ const typed = parsed as SolidAiConfig;
31
+ return {
32
+ models: {
33
+ default: typed.models?.default ?? DEFAULT_MODEL_ENTRY,
34
+ fast: typed.models?.fast ?? DEFAULT_MODEL_ENTRY,
35
+ },
36
+ providers: typed.providers ?? {},
37
+ };
38
+ } catch {
39
+ return defaultConfig;
40
+ }
41
+ }
42
+
43
+ export default function solidXGenAiCodeBuilderConfigWidget({ setting, value, updateValue }: SolidSettingsWidgetProps) {
44
+ const [activeTab, setActiveTab] = useState<"providers" | "default" | "fast">("providers");
45
+ const [showAddProvider, setShowAddProvider] = useState(false);
46
+
47
+ const aiConfig = useMemo(() => toSolidAiConfig(value), [value]);
48
+ const providers = ensureBuiltInProviders(aiConfig.providers ?? {});
49
+
50
+ const onAiConfigChange = (nextConfig: SolidAiConfig) => {
51
+ updateValue(setting.key, nextConfig);
52
+ };
53
+
54
+ const tabs = [
55
+ {
56
+ value: "providers" as const,
57
+ label: "Providers",
58
+ content: (
59
+ <ProvidersTab
60
+ providers={providers}
61
+ onProvidersChange={(nextProviders: SolidAiConfig["providers"]) => {
62
+ onAiConfigChange({ ...aiConfig, providers: nextProviders });
63
+ }}
64
+ showAddModal={showAddProvider}
65
+ onAddModalClose={() => setShowAddProvider(false)}
66
+ />
67
+ ),
68
+ },
69
+ {
70
+ value: "default" as const,
71
+ label: "Intelligent Model",
72
+ content: (
73
+ <ModelConfigTab
74
+ modelEntry={aiConfig.models?.default ?? DEFAULT_MODEL_ENTRY}
75
+ providers={providers}
76
+ onModelEntryChange={(entry: ModelEntry) => {
77
+ onAiConfigChange({ ...aiConfig, models: { ...aiConfig.models, default: entry } });
78
+ }}
79
+ />
80
+ ),
81
+ },
82
+ {
83
+ value: "fast" as const,
84
+ label: "Fast Model",
85
+ content: (
86
+ <ModelConfigTab
87
+ modelEntry={aiConfig.models?.fast ?? DEFAULT_MODEL_ENTRY}
88
+ providers={providers}
89
+ onModelEntryChange={(entry: ModelEntry) => {
90
+ onAiConfigChange({ ...aiConfig, models: { ...aiConfig.models, fast: entry } });
91
+ }}
92
+ />
93
+ ),
94
+ },
95
+ ];
96
+
97
+ return (
98
+ <div>
99
+ <SolidTabGroup
100
+ tabs={tabs}
101
+ value={activeTab}
102
+ onValueChange={(tab: string) => setActiveTab(tab as "providers" | "default" | "fast")}
103
+ tabPosition="left"
104
+ extra={
105
+ activeTab === "providers" ? (
106
+ <SolidButton size="sm" onClick={() => setShowAddProvider(true)}>
107
+ Add
108
+ </SolidButton>
109
+ ) : undefined
110
+ }
111
+ />
112
+ </div>
113
+ );
114
+ }
@@ -1,2 +1,2 @@
1
- export declare const SolidFormActionHeader: ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel }: any) => import("react/jsx-runtime").JSX.Element;
1
+ export declare const SolidFormActionHeader: ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel, showMobileOpenChatter, onMobileOpenChatter }: any) => import("react/jsx-runtime").JSX.Element;
2
2
  //# sourceMappingURL=SolidFormActionHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormActionHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,qBAAqB,8YAA+Y,GAAG,4CAqhBnb,CAAA"}
1
+ {"version":3,"file":"SolidFormActionHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,qBAAqB,0bAA2b,GAAG,4CA+iB/d,CAAA"}
@@ -16,7 +16,7 @@ import { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } f
16
16
  import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
17
17
  export var SolidFormActionHeader = function (_a) {
18
18
  var _b, _c, _d, _e, _f;
19
- var formik = _a.formik, params = _a.params, actionsAllowed = _a.actionsAllowed, formViewLayout = _a.formViewLayout, solidView = _a.solidView, solidFormViewMetaData = _a.solidFormViewMetaData, initialEntityData = _a.initialEntityData, setDeleteDialogVisible = _a.setDeleteDialogVisible, setLayoutDialogVisible = _a.setLayoutDialogVisible, setRedirectToList = _a.setRedirectToList, viewMode = _a.viewMode, setViewMode = _a.setViewMode, solidWorkflowFieldValue = _a.solidWorkflowFieldValue, setSolidWorkflowFieldValue = _a.setSolidWorkflowFieldValue, internationalisationEnabled = _a.internationalisationEnabled, handleDraftPublishWorkFlow = _a.handleDraftPublishWorkFlow, publish = _a.publish, draftEnabled = _a.draftEnabled, onStepperUpdate = _a.onStepperUpdate, formData = _a.formData, isSubmitting = _a.isSubmitting, headerRequestStatusLabel = _a.headerRequestStatusLabel;
19
+ var formik = _a.formik, params = _a.params, actionsAllowed = _a.actionsAllowed, formViewLayout = _a.formViewLayout, solidView = _a.solidView, solidFormViewMetaData = _a.solidFormViewMetaData, initialEntityData = _a.initialEntityData, setDeleteDialogVisible = _a.setDeleteDialogVisible, setLayoutDialogVisible = _a.setLayoutDialogVisible, setRedirectToList = _a.setRedirectToList, viewMode = _a.viewMode, setViewMode = _a.setViewMode, solidWorkflowFieldValue = _a.solidWorkflowFieldValue, setSolidWorkflowFieldValue = _a.setSolidWorkflowFieldValue, internationalisationEnabled = _a.internationalisationEnabled, handleDraftPublishWorkFlow = _a.handleDraftPublishWorkFlow, publish = _a.publish, draftEnabled = _a.draftEnabled, onStepperUpdate = _a.onStepperUpdate, formData = _a.formData, isSubmitting = _a.isSubmitting, headerRequestStatusLabel = _a.headerRequestStatusLabel, showMobileOpenChatter = _a.showMobileOpenChatter, onMobileOpenChatter = _a.onMobileOpenChatter;
20
20
  var handleCustomButtonClick = useHandleFormCustomButtonClickaction();
21
21
  var router = useRouter();
22
22
  var pathname = usePathname();
@@ -149,7 +149,8 @@ export var SolidFormActionHeader = function (_a) {
149
149
  _jsxs(_Fragment, { children: [_jsx("div", { className: "hidden lg:flex", children: _jsx("div", { children: _jsx(SolidButton, { variant: "outline", size: "sm", type: "button", label: "Close", onClick: function () { return params.handlePopupClose(); }, className: 'bg-primary-reverse ', style: { minWidth: 66 } }) }) }), _jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { variant: "outline", size: "sm", type: "button", icon: "si si-times", onClick: function () { return params.handlePopupClose(); }, className: 'bg-primary-reverse solid-icon-button' }) })] }), ((_b = formViewLayout === null || formViewLayout === void 0 ? void 0 : formViewLayout.attrs) === null || _b === void 0 ? void 0 : _b.showCogWheelFormButton) !== false &&
150
150
  actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'update'))) &&
151
151
  actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'create'))) &&
152
- _jsx(FormActionDropdown, {})] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex gap-3 align-items-center solid-form-toolbar-left", children: [params.embeded !== true &&
152
+ _jsx(FormActionDropdown, {}), showMobileOpenChatter &&
153
+ _jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { type: "button", icon: "si si-comments", size: "sm", className: "solid-icon-button", onClick: onMobileOpenChatter, "aria-label": "Open chatter" }) })] })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex gap-3 align-items-center solid-form-toolbar-left", children: [params.embeded !== true &&
153
154
  _jsx(SolidFormStepper, { solidFormViewMetaData: solidFormViewMetaData, initialEntityData: initialEntityData, modelName: params.modelName, id: params.id, solidWorkflowFieldValue: solidWorkflowFieldValue, setSolidWorkflowFieldValue: setSolidWorkflowFieldValue, onStepperUpdate: onStepperUpdate }), params.embeded == true &&
154
155
  _jsx("p", { className: "m-0 view-title solid-text-wrapper", children: viewMode === "edit" ? editHeaderTitle : solidView.model.displayName })] }), _jsxs("div", { className: "flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions", children: [_jsx(SolidHeaderRequestStatus, { label: activeHeaderRequestStatusLabel }), _jsx("div", { className: "hidden lg:flex solid-header-buttons-wrapper", children: normalHeaderButtons.map(function (button, index) {
155
156
  return (
@@ -207,6 +208,7 @@ export var SolidFormActionHeader = function (_a) {
207
208
  _jsxs(_Fragment, { children: [_jsx("div", { className: "hidden lg:flex", children: _jsx("div", { children: _jsx(SolidButton, { variant: "outline", size: "sm", type: "button", label: "Close", onClick: function () { return params.handlePopupClose(); }, className: 'bg-primary-reverse ', style: { minWidth: 66 } }) }) }), _jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { variant: "outline", size: "sm", type: "button", icon: "si si-times", onClick: function () { return params.handlePopupClose(); }, className: 'bg-primary-reverse solid-icon-button' }) })] }), ((_f = formViewLayout === null || formViewLayout === void 0 ? void 0 : formViewLayout.attrs) === null || _f === void 0 ? void 0 : _f.showCogWheelFormButton) !== false &&
208
209
  actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'update'))) &&
209
210
  actionsAllowed.includes("".concat(permissionExpression(params.modelName, 'create'))) &&
210
- _jsx(FormActionDropdown, {})] })] })) }) }) }));
211
+ _jsx(FormActionDropdown, {}), showMobileOpenChatter &&
212
+ _jsx("div", { className: "lg:hidden", children: _jsx(SolidButton, { type: "button", icon: "si si-comments", size: "sm", className: "solid-icon-button", onClick: onMobileOpenChatter, "aria-label": "Open chatter" }) })] })] })) }) }) }));
211
213
  };
212
214
  //# sourceMappingURL=SolidFormActionHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormActionHeader.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SolidHeaderRequestStatus } from \"../../../components/common/SolidHeaderRequestStatus\";\nimport { useHandleFormCustomButtonClickaction } from \"../../../components/common/useHandleFormCustomButtonClick\";\nimport { permissionExpression } from \"../../../helpers/permissions\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { normalizeSolidFormActionPath } from \"../../../helpers/routePaths\";\nimport { useEffect, useState } from \"react\";\nimport { SolidFormViewNormalHeaderButton } from \"./SolidFormViewNormalHeaderButton\";\nimport { SolidFormViewContextMenuHeaderButton } from \"./SolidFormViewContextMenuHeaderButton\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { useSession } from '../../../hooks/useSession'\nimport { SolidFormStepper } from \"../../../components/common/SolidFormStepper\";\nimport { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from \"../../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidFormActionHeader = ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel }: any) => {\n const handleCustomButtonClick = useHandleFormCustomButtonClickaction();\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const [contextMenuHeaderButtons, setContextMenuHeaderButtons] = useState<any>([]);\n const [normalHeaderButtons, setNormalHeaderButtons] = useState<any>([]);\n const [isNavigating, setIsNavigating] = useState(false);\n const [formActionsMenuOpen, setFormActionsMenuOpen] = useState(false);\n const createHeaderTitle = `Create ${solidView.model.displayName}`;\n const editHeaderTitle = `Edit ${solidView.model.displayName}`;\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const isPublished = publish && publish !== 'null'; // record is published if publish has value\n const activeHeaderRequestStatusLabel = headerRequestStatusLabel || (isNavigating ? \"Loading...\" : null);\n\n useEffect(() => {\n if (solidView) {\n let contextMenuHeaderButtonsData: any = [];\n let normalHeaderButtonsData: any = [];\n const formHeaderButtons = formViewLayout?.attrs?.formButtons;\n if (formHeaderButtons && formHeaderButtons.length > 0) {\n\n // Process normal header buttons\n contextMenuHeaderButtonsData = formHeaderButtons.filter((button: any) => {\n const visibleToRole = button.attrs?.roles || [];\n const defaultVisible = button.attrs?.visible;\n if (defaultVisible === false) {\n return false;\n }\n if (visibleToRole.length > 0) {\n if (!hasAnyRole(user?.roles, visibleToRole)) {\n return false;\n }\n }\n return button.attrs && button.attrs.actionInContextMenu && button.attrs.actionInContextMenu === true;\n });\n setContextMenuHeaderButtons(contextMenuHeaderButtonsData)\n\n // Process normal header buttons\n normalHeaderButtonsData = formHeaderButtons.filter((button: any) => {\n const visibleToRole = button.attrs?.roles || [];\n if (visibleToRole.length > 0) {\n if (!hasAnyRole(user?.roles, visibleToRole)) {\n return false;\n }\n }\n\n return !button.attrs || !button.attrs.actionInContextMenu || button.attrs.actionInContextMenu === false;\n });\n setNormalHeaderButtons(normalHeaderButtonsData);\n }\n }\n }, [formViewLayout]);\n\n const updateViewMode = (newMode: \"view\" | \"edit\") => {\n setViewMode(newMode);\n const queryParams = new URLSearchParams(searchParams.toString());\n queryParams.set(\"viewMode\", newMode);\n const basePath = params?.id\n ? normalizeSolidFormActionPath(pathname, `form/${params.id}`)\n : pathname;\n router.push(`${basePath}?${queryParams.toString()}`);\n // const router = useRouter();\n // const pathname = usePathname();\n // const params = new URLSearchParams(searchParams?.toString() || \"\");\n // params.set(\"viewMode\", newMode);\n // router.push(`${pathname}?${params.toString()}`, { scroll: false });\n\n };\n const menuButtonClassNames = (...parts: Array<string | false | undefined>) => parts.filter(Boolean).join(\" \");\n\n const FormActionMenuButton = ({\n label,\n icon,\n onClick,\n danger,\n }: {\n label: string;\n icon?: string;\n onClick: () => void;\n danger?: boolean;\n }) => (\n <button\n type=\"button\"\n className={menuButtonClassNames(\"solid-row-action-button\", danger && \"solid-row-action-button-danger\")}\n onClick={onClick}\n >\n {icon && (() => { const m = parseSolidIconMeta(icon); return m ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-row-action-button-icon\" /> : <i className={`${icon} solid-row-action-button-icon`} />; })()}\n <span className=\"solid-row-action-button-label\">{label}</span>\n </button>\n );\n\n const FormActionDropdown = () => {\n const canPublish = actionsAllowed.includes(permissionExpression(params.modelName, 'publish'));\n const canUnpublish = actionsAllowed.includes(permissionExpression(params.modelName, 'unpublish'));\n const closeMenu = () => setFormActionsMenuOpen(false);\n\n return (\n <SolidPopover open={formActionsMenuOpen} onOpenChange={setFormActionsMenuOpen}>\n <div className=\"flex gap-2\">\n <SolidPopoverTrigger asChild>\n <SolidButton\n variant=\"outline\"\n type=\"button\"\n icon={'si si-cog'}\n size=\"sm\"\n className=\"surface-card solid-icon-button hidden md:flex\"\n />\n </SolidPopoverTrigger>\n <SolidPopoverTrigger asChild>\n <SolidButton\n variant=\"outline\"\n type=\"button\"\n icon={'si si-cog'}\n size=\"sm\"\n className=\"surface-card solid-icon-button md:hidden\"\n />\n </SolidPopoverTrigger>\n </div>\n <SolidPopoverContent\n side=\"bottom\"\n align=\"end\"\n className=\"solid-form-actions-popover\"\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"solid-row-actions-menu solid-form-actions-menu\">\n {params.embeded !== true &&\n params.id !== \"new\" &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&\n !isPublished &&\n solidView?.layout?.attrs?.showDeleteFormButton !== false &&\n !formViewLayout.attrs.readonly && (\n <FormActionMenuButton\n label=\"Delete\"\n icon=\"si si-trash\"\n danger\n onClick={() => {\n setDeleteDialogVisible(true);\n closeMenu();\n }}\n />\n )}\n <FormActionMenuButton\n label=\"Layout\"\n icon=\"si si-objects-column\"\n onClick={() => {\n setLayoutDialogVisible(true);\n closeMenu();\n }}\n />\n {draftEnabled && params.id !== 'new' && (\n <>\n {!isPublished && canPublish && (\n <FormActionMenuButton\n label=\"Publish\"\n icon=\"si si-cloud-upload\"\n onClick={() => {\n handleDraftPublishWorkFlow('publish');\n closeMenu();\n }}\n />\n )}\n\n {isPublished && canUnpublish && (\n <FormActionMenuButton\n label=\"Unpublish\"\n icon=\"si si-cloud-download\"\n onClick={() => {\n handleDraftPublishWorkFlow('unpublish');\n closeMenu();\n }}\n />\n )}\n </>\n )}\n\n {contextMenuHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewContextMenuHeaderButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n variant=\"menu\"\n onActionComplete={closeMenu}\n />\n )\n })}\n <div className=\"lg:hidden flex flex-column gap-1\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewNormalHeaderButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n variant=\"menu\"\n onActionComplete={closeMenu}\n />\n )\n })}\n {params.embeded !== true && params.draftEnabled &&\n !formViewLayout.attrs.readonly && params.publish !== 'null' &&\n formik.dirty && (\n <FormActionMenuButton\n label=\"Draft\"\n onClick={() => { }}\n />\n )}\n </div>\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n )\n }\n return (\n <>\n <div className=\"page-header solid-list-toolbar flex-column lg:flex-row\">\n <div className=\"flex justify-content-between w-full solid-form-toolbar-row\">\n {params.id === \"new\" ? (\n <>\n <div className=\"flex gap-3 align-items-center solid-form-toolbar-left\">\n {/* {params.embeded !== true && <BackButton />}*/}\n {params.embeded == true &&\n <p className=\"m-0 view-title solid-text-wrapper\">{createHeaderTitle}</p>\n }\n {params.embeded !== true &&\n <SolidFormStepper\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n ></SolidFormStepper>\n }\n </div>\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions\">\n <SolidHeaderRequestStatus label={activeHeaderRequestStatusLabel} />\n <div className=\"hidden lg:flex solid-header-buttons-wrapper\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewNormalHeaderButton\n key={index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n />\n\n )\n })\n }\n </div>\n {params.embeded !== true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Save\"\n size=\"sm\"\n type=\"submit\"\n className=\"hidden lg:flex\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n <SolidButton\n size=\"sm\"\n type=\"submit\"\n className=\"lg:hidden solid-icon-button\"\n icon=\"si si-check\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n </div>\n }\n <div className=\"hidden lg:flex\">\n {params.embeded !== true && params.draftEnabled &&\n !formViewLayout.attrs.readonly && params.publish !== 'null' &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Draft\"\n size=\"sm\"\n type=\"button\"\n />\n </div>\n }\n </div>\n {params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Save\"\n size=\"sm\"\n onClick={() => {\n setRedirectToList(params.redirectToPath ? true : false);\n }}\n type=\"submit\"\n className=\"hidden lg:flex\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n <SolidButton\n size=\"sm\"\n onClick={() => {\n setRedirectToList(params.redirectToPath ? true : false);\n }}\n type=\"submit\"\n className=\"lg:hidden solid-icon-button\"\n icon=\"si si-check\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n </div>\n }\n {params.embeded == true &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" label=\"Close\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse ' style={{ minWidth: 66 }} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" icon=\"si si-times\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse solid-icon-button' />\n </div>\n </>\n }\n {/* {params.embeded !== true &&\n <SolidCancelButton />\n } */}\n {\n formViewLayout?.attrs?.showCogWheelFormButton !== false &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n <FormActionDropdown />\n }\n </div>\n </>\n ) : (\n <>\n <div className=\"flex gap-3 align-items-center solid-form-toolbar-left\">\n {params.embeded !== true &&\n <SolidFormStepper\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n ></SolidFormStepper>\n }\n {/* {params.embeded !== true && <BackButton />} */}\n {params.embeded == true &&\n <p className=\"m-0 view-title solid-text-wrapper\">{viewMode === \"edit\" ? editHeaderTitle : solidView.model.displayName}</p>\n }\n </div>\n\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions\">\n <SolidHeaderRequestStatus label={activeHeaderRequestStatusLabel} />\n <div className=\"hidden lg:flex solid-header-buttons-wrapper\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n // <SolidButton\n // text\n // type=\"button\"\n // className=\"w-full text-left gap-2\"\n // label={button.attrs.label}\n // size=\"small\"\n // iconPos=\"left\"\n // severity=\"contrast\"\n // icon={button?.attrs?.className ? button?.attrs?.className : \"si si-pencil\"}\n // onClick={() => {\n // const event = {\n // action: button.attrs.action,\n // params,\n // formik,\n // solidFormViewMetaData: solidFormViewMetaData.data\n // }\n // handleCustomButtonClick(button.attrs, event)\n // }}\n // />\n <SolidFormViewNormalHeaderButton\n key={index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n />\n )\n })\n }\n </div>\n {\n !formViewLayout.attrs.readonly &&\n formViewLayout.attrs?.showAddFormButton !== false &&\n params.embeded !== true &&\n viewMode === \"view\" &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton type=\"button\" label=\"Add\" size='sm' onClick={() => {\n setIsNavigating(true);\n router.replace(`${normalizeSolidFormActionPath(pathname, \"form\")}/new?viewMode=edit`);\n }} loading={isNavigating} disabled={isNavigating} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton type=\"button\" icon=\"si si-plus\" size='sm' onClick={() => {\n setIsNavigating(true);\n router.replace(`${normalizeSolidFormActionPath(pathname, \"form\")}/new?viewMode=edit`);\n }} className=\"solid-icon-button\" loading={isNavigating} disabled={isNavigating} />\n </div>\n </>\n }\n {\n !formViewLayout.attrs.readonly &&\n formViewLayout.attrs?.showEditFormButton !== false &&\n params.embeded !== true &&\n viewMode === \"view\" &&\n !isPublished &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton label=\"Edit\" size=\"sm\" onClick={() => updateViewMode(\"edit\")} type=\"button\" />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton icon=\"si si-pencil\" size=\"sm\" onClick={() => updateViewMode(\"edit\")} type=\"button\" className=\"solid-icon-button\" />\n </div>\n </>\n }\n\n {\n params.embeded !== true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n\n <div>\n <SolidButton label=\"Save\" size=\"sm\" type=\"submit\" className=\"hidden lg:flex\" loading={isSubmitting} disabled={isSubmitting} />\n <SolidButton size=\"sm\" type=\"submit\" className=\"lg:hidden solid-icon-button\" icon=\"si si-check\" loading={isSubmitting} disabled={isSubmitting} />\n </div>\n }\n\n {/* Inline */}\n\n {\n params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n\n <div>\n <SolidButton label=\"Save\" size=\"sm\" type=\"submit\" className=\"hidden lg:flex\" loading={isSubmitting} disabled={isSubmitting} />\n <SolidButton size=\"sm\" type=\"submit\" className=\"lg:hidden solid-icon-button\" icon=\"si si-check\" loading={isSubmitting} disabled={isSubmitting} />\n\n </div>\n }\n\n {\n params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&\n formViewLayout.attrs?.showDeleteFormButton !== false &&\n !formViewLayout.attrs.readonly &&\n !isPublished &&\n <div>\n <SolidButton size=\"sm\" type=\"button\" label=\"Delete\" variant=\"destructive\" onClick={() => setDeleteDialogVisible(true)} />\n </div>\n }\n {\n params.embeded == true &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" label=\"Close\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse ' style={{ minWidth: 66 }} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" icon=\"si si-times\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse solid-icon-button' />\n </div>\n </>\n }\n {/* {\n params.embeded !== true &&\n\n <SolidCancelButton />\n } */}\n {\n formViewLayout?.attrs?.showCogWheelFormButton !== false &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n\n <FormActionDropdown />\n }\n </div>\n </>\n )}\n </div>\n </div>\n {/* {params.embeded !== true &&\n <SolidFormHeader\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n />\n } */}\n </>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidFormActionHeader.js","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormActionHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SolidHeaderRequestStatus } from \"../../../components/common/SolidHeaderRequestStatus\";\nimport { useHandleFormCustomButtonClickaction } from \"../../../components/common/useHandleFormCustomButtonClick\";\nimport { permissionExpression } from \"../../../helpers/permissions\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useSearchParams } from \"../../../hooks/useSearchParams\";\nimport { normalizeSolidFormActionPath } from \"../../../helpers/routePaths\";\nimport { useEffect, useState } from \"react\";\nimport { SolidFormViewNormalHeaderButton } from \"./SolidFormViewNormalHeaderButton\";\nimport { SolidFormViewContextMenuHeaderButton } from \"./SolidFormViewContextMenuHeaderButton\";\nimport { hasAnyRole } from \"../../../helpers/rolesHelper\";\nimport { useSession } from '../../../hooks/useSession'\nimport { SolidFormStepper } from \"../../../components/common/SolidFormStepper\";\nimport { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from \"../../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../../shad-cn-ui/SolidIcon\";\n\nexport const SolidFormActionHeader = ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel, showMobileOpenChatter, onMobileOpenChatter }: any) => {\n const handleCustomButtonClick = useHandleFormCustomButtonClickaction();\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const [contextMenuHeaderButtons, setContextMenuHeaderButtons] = useState<any>([]);\n const [normalHeaderButtons, setNormalHeaderButtons] = useState<any>([]);\n const [isNavigating, setIsNavigating] = useState(false);\n const [formActionsMenuOpen, setFormActionsMenuOpen] = useState(false);\n const createHeaderTitle = `Create ${solidView.model.displayName}`;\n const editHeaderTitle = `Edit ${solidView.model.displayName}`;\n\n const { data: session, status } = useSession();\n const user = session?.user;\n\n const isPublished = publish && publish !== 'null'; // record is published if publish has value\n const activeHeaderRequestStatusLabel = headerRequestStatusLabel || (isNavigating ? \"Loading...\" : null);\n\n useEffect(() => {\n if (solidView) {\n let contextMenuHeaderButtonsData: any = [];\n let normalHeaderButtonsData: any = [];\n const formHeaderButtons = formViewLayout?.attrs?.formButtons;\n if (formHeaderButtons && formHeaderButtons.length > 0) {\n\n // Process normal header buttons\n contextMenuHeaderButtonsData = formHeaderButtons.filter((button: any) => {\n const visibleToRole = button.attrs?.roles || [];\n const defaultVisible = button.attrs?.visible;\n if (defaultVisible === false) {\n return false;\n }\n if (visibleToRole.length > 0) {\n if (!hasAnyRole(user?.roles, visibleToRole)) {\n return false;\n }\n }\n return button.attrs && button.attrs.actionInContextMenu && button.attrs.actionInContextMenu === true;\n });\n setContextMenuHeaderButtons(contextMenuHeaderButtonsData)\n\n // Process normal header buttons\n normalHeaderButtonsData = formHeaderButtons.filter((button: any) => {\n const visibleToRole = button.attrs?.roles || [];\n if (visibleToRole.length > 0) {\n if (!hasAnyRole(user?.roles, visibleToRole)) {\n return false;\n }\n }\n\n return !button.attrs || !button.attrs.actionInContextMenu || button.attrs.actionInContextMenu === false;\n });\n setNormalHeaderButtons(normalHeaderButtonsData);\n }\n }\n }, [formViewLayout]);\n\n const updateViewMode = (newMode: \"view\" | \"edit\") => {\n setViewMode(newMode);\n const queryParams = new URLSearchParams(searchParams.toString());\n queryParams.set(\"viewMode\", newMode);\n const basePath = params?.id\n ? normalizeSolidFormActionPath(pathname, `form/${params.id}`)\n : pathname;\n router.push(`${basePath}?${queryParams.toString()}`);\n // const router = useRouter();\n // const pathname = usePathname();\n // const params = new URLSearchParams(searchParams?.toString() || \"\");\n // params.set(\"viewMode\", newMode);\n // router.push(`${pathname}?${params.toString()}`, { scroll: false });\n\n };\n const menuButtonClassNames = (...parts: Array<string | false | undefined>) => parts.filter(Boolean).join(\" \");\n\n const FormActionMenuButton = ({\n label,\n icon,\n onClick,\n danger,\n }: {\n label: string;\n icon?: string;\n onClick: () => void;\n danger?: boolean;\n }) => (\n <button\n type=\"button\"\n className={menuButtonClassNames(\"solid-row-action-button\", danger && \"solid-row-action-button-danger\")}\n onClick={onClick}\n >\n {icon && (() => { const m = parseSolidIconMeta(icon); return m ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-row-action-button-icon\" /> : <i className={`${icon} solid-row-action-button-icon`} />; })()}\n <span className=\"solid-row-action-button-label\">{label}</span>\n </button>\n );\n\n const FormActionDropdown = () => {\n const canPublish = actionsAllowed.includes(permissionExpression(params.modelName, 'publish'));\n const canUnpublish = actionsAllowed.includes(permissionExpression(params.modelName, 'unpublish'));\n const closeMenu = () => setFormActionsMenuOpen(false);\n\n return (\n <SolidPopover open={formActionsMenuOpen} onOpenChange={setFormActionsMenuOpen}>\n <div className=\"flex gap-2\">\n <SolidPopoverTrigger asChild>\n <SolidButton\n variant=\"outline\"\n type=\"button\"\n icon={'si si-cog'}\n size=\"sm\"\n className=\"surface-card solid-icon-button hidden md:flex\"\n />\n </SolidPopoverTrigger>\n <SolidPopoverTrigger asChild>\n <SolidButton\n variant=\"outline\"\n type=\"button\"\n icon={'si si-cog'}\n size=\"sm\"\n className=\"surface-card solid-icon-button md:hidden\"\n />\n </SolidPopoverTrigger>\n </div>\n <SolidPopoverContent\n side=\"bottom\"\n align=\"end\"\n className=\"solid-form-actions-popover\"\n onClick={(event) => event.stopPropagation()}\n >\n <div className=\"solid-row-actions-menu solid-form-actions-menu\">\n {params.embeded !== true &&\n params.id !== \"new\" &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&\n !isPublished &&\n solidView?.layout?.attrs?.showDeleteFormButton !== false &&\n !formViewLayout.attrs.readonly && (\n <FormActionMenuButton\n label=\"Delete\"\n icon=\"si si-trash\"\n danger\n onClick={() => {\n setDeleteDialogVisible(true);\n closeMenu();\n }}\n />\n )}\n <FormActionMenuButton\n label=\"Layout\"\n icon=\"si si-objects-column\"\n onClick={() => {\n setLayoutDialogVisible(true);\n closeMenu();\n }}\n />\n {draftEnabled && params.id !== 'new' && (\n <>\n {!isPublished && canPublish && (\n <FormActionMenuButton\n label=\"Publish\"\n icon=\"si si-cloud-upload\"\n onClick={() => {\n handleDraftPublishWorkFlow('publish');\n closeMenu();\n }}\n />\n )}\n\n {isPublished && canUnpublish && (\n <FormActionMenuButton\n label=\"Unpublish\"\n icon=\"si si-cloud-download\"\n onClick={() => {\n handleDraftPublishWorkFlow('unpublish');\n closeMenu();\n }}\n />\n )}\n </>\n )}\n\n {contextMenuHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewContextMenuHeaderButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n variant=\"menu\"\n onActionComplete={closeMenu}\n />\n )\n })}\n <div className=\"lg:hidden flex flex-column gap-1\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewNormalHeaderButton\n key={button?.attrs?.action ?? index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n variant=\"menu\"\n onActionComplete={closeMenu}\n />\n )\n })}\n {params.embeded !== true && params.draftEnabled &&\n !formViewLayout.attrs.readonly && params.publish !== 'null' &&\n formik.dirty && (\n <FormActionMenuButton\n label=\"Draft\"\n onClick={() => { }}\n />\n )}\n </div>\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n )\n }\n return (\n <>\n <div className=\"page-header solid-list-toolbar flex-column lg:flex-row\">\n <div className=\"flex justify-content-between w-full solid-form-toolbar-row\">\n {params.id === \"new\" ? (\n <>\n <div className=\"flex gap-3 align-items-center solid-form-toolbar-left\">\n {/* {params.embeded !== true && <BackButton />}*/}\n {params.embeded == true &&\n <p className=\"m-0 view-title solid-text-wrapper\">{createHeaderTitle}</p>\n }\n {params.embeded !== true &&\n <SolidFormStepper\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n ></SolidFormStepper>\n }\n </div>\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions\">\n <SolidHeaderRequestStatus label={activeHeaderRequestStatusLabel} />\n <div className=\"hidden lg:flex solid-header-buttons-wrapper\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n <SolidFormViewNormalHeaderButton\n key={index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n />\n\n )\n })\n }\n </div>\n {params.embeded !== true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Save\"\n size=\"sm\"\n type=\"submit\"\n className=\"hidden lg:flex\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n <SolidButton\n size=\"sm\"\n type=\"submit\"\n className=\"lg:hidden solid-icon-button\"\n icon=\"si si-check\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n </div>\n }\n <div className=\"hidden lg:flex\">\n {params.embeded !== true && params.draftEnabled &&\n !formViewLayout.attrs.readonly && params.publish !== 'null' &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Draft\"\n size=\"sm\"\n type=\"button\"\n />\n </div>\n }\n </div>\n {params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n <div>\n <SolidButton\n label=\"Save\"\n size=\"sm\"\n onClick={() => {\n setRedirectToList(params.redirectToPath ? true : false);\n }}\n type=\"submit\"\n className=\"hidden lg:flex\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n <SolidButton\n size=\"sm\"\n onClick={() => {\n setRedirectToList(params.redirectToPath ? true : false);\n }}\n type=\"submit\"\n className=\"lg:hidden solid-icon-button\"\n icon=\"si si-check\"\n loading={isSubmitting}\n disabled={isSubmitting}\n />\n </div>\n }\n {params.embeded == true &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" label=\"Close\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse ' style={{ minWidth: 66 }} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" icon=\"si si-times\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse solid-icon-button' />\n </div>\n </>\n }\n {/* {params.embeded !== true &&\n <SolidCancelButton />\n } */}\n {\n formViewLayout?.attrs?.showCogWheelFormButton !== false &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n <FormActionDropdown />\n }\n {\n showMobileOpenChatter &&\n <div className=\"lg:hidden\">\n <SolidButton\n type=\"button\"\n icon=\"si si-comments\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={onMobileOpenChatter}\n aria-label=\"Open chatter\"\n />\n </div>\n }\n </div>\n </>\n ) : (\n <>\n <div className=\"flex gap-3 align-items-center solid-form-toolbar-left\">\n {params.embeded !== true &&\n <SolidFormStepper\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n ></SolidFormStepper>\n }\n {/* {params.embeded !== true && <BackButton />} */}\n {params.embeded == true &&\n <p className=\"m-0 view-title solid-text-wrapper\">{viewMode === \"edit\" ? editHeaderTitle : solidView.model.displayName}</p>\n }\n </div>\n\n <div className=\"flex align-items-center solid-header-buttons-wrapper solid-form-toolbar-actions\">\n <SolidHeaderRequestStatus label={activeHeaderRequestStatusLabel} />\n <div className=\"hidden lg:flex solid-header-buttons-wrapper\">\n {normalHeaderButtons.map((button: any, index: number) => {\n return (\n // <SolidButton\n // text\n // type=\"button\"\n // className=\"w-full text-left gap-2\"\n // label={button.attrs.label}\n // size=\"small\"\n // iconPos=\"left\"\n // severity=\"contrast\"\n // icon={button?.attrs?.className ? button?.attrs?.className : \"si si-pencil\"}\n // onClick={() => {\n // const event = {\n // action: button.attrs.action,\n // params,\n // formik,\n // solidFormViewMetaData: solidFormViewMetaData.data\n // }\n // handleCustomButtonClick(button.attrs, event)\n // }}\n // />\n <SolidFormViewNormalHeaderButton\n key={index}\n button={button}\n params={params}\n formik={formik}\n formData={formData}\n solidFormViewMetaData={solidFormViewMetaData}\n handleCustomButtonClick={handleCustomButtonClick}\n />\n )\n })\n }\n </div>\n {\n !formViewLayout.attrs.readonly &&\n formViewLayout.attrs?.showAddFormButton !== false &&\n params.embeded !== true &&\n viewMode === \"view\" &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton type=\"button\" label=\"Add\" size='sm' onClick={() => {\n setIsNavigating(true);\n router.replace(`${normalizeSolidFormActionPath(pathname, \"form\")}/new?viewMode=edit`);\n }} loading={isNavigating} disabled={isNavigating} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton type=\"button\" icon=\"si si-plus\" size='sm' onClick={() => {\n setIsNavigating(true);\n router.replace(`${normalizeSolidFormActionPath(pathname, \"form\")}/new?viewMode=edit`);\n }} className=\"solid-icon-button\" loading={isNavigating} disabled={isNavigating} />\n </div>\n </>\n }\n {\n !formViewLayout.attrs.readonly &&\n formViewLayout.attrs?.showEditFormButton !== false &&\n params.embeded !== true &&\n viewMode === \"view\" &&\n !isPublished &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton label=\"Edit\" size=\"sm\" onClick={() => updateViewMode(\"edit\")} type=\"button\" />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton icon=\"si si-pencil\" size=\"sm\" onClick={() => updateViewMode(\"edit\")} type=\"button\" className=\"solid-icon-button\" />\n </div>\n </>\n }\n\n {\n params.embeded !== true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n\n <div>\n <SolidButton label=\"Save\" size=\"sm\" type=\"submit\" className=\"hidden lg:flex\" loading={isSubmitting} disabled={isSubmitting} />\n <SolidButton size=\"sm\" type=\"submit\" className=\"lg:hidden solid-icon-button\" icon=\"si si-check\" loading={isSubmitting} disabled={isSubmitting} />\n </div>\n }\n\n {/* Inline */}\n\n {\n params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n !formViewLayout.attrs.readonly &&\n formik.dirty &&\n\n <div>\n <SolidButton label=\"Save\" size=\"sm\" type=\"submit\" className=\"hidden lg:flex\" loading={isSubmitting} disabled={isSubmitting} />\n <SolidButton size=\"sm\" type=\"submit\" className=\"lg:hidden solid-icon-button\" icon=\"si si-check\" loading={isSubmitting} disabled={isSubmitting} />\n\n </div>\n }\n\n {\n params.embeded == true &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'delete')}`) &&\n formViewLayout.attrs?.showDeleteFormButton !== false &&\n !formViewLayout.attrs.readonly &&\n !isPublished &&\n <div>\n <SolidButton size=\"sm\" type=\"button\" label=\"Delete\" variant=\"destructive\" onClick={() => setDeleteDialogVisible(true)} />\n </div>\n }\n {\n params.embeded == true &&\n <>\n <div className=\"hidden lg:flex\">\n <div>\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" label=\"Close\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse ' style={{ minWidth: 66 }} />\n </div>\n </div>\n <div className=\"lg:hidden\">\n <SolidButton variant=\"outline\" size=\"sm\" type=\"button\" icon=\"si si-times\" onClick={() => params.handlePopupClose()} className='bg-primary-reverse solid-icon-button' />\n </div>\n </>\n }\n {/* {\n params.embeded !== true &&\n\n <SolidCancelButton />\n } */}\n {\n formViewLayout?.attrs?.showCogWheelFormButton !== false &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'update')}`) &&\n actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&\n\n <FormActionDropdown />\n }\n {\n showMobileOpenChatter &&\n <div className=\"lg:hidden\">\n <SolidButton\n type=\"button\"\n icon=\"si si-comments\"\n size=\"sm\"\n className=\"solid-icon-button\"\n onClick={onMobileOpenChatter}\n aria-label=\"Open chatter\"\n />\n </div>\n }\n </div>\n </>\n )}\n </div>\n </div>\n {/* {params.embeded !== true &&\n <SolidFormHeader\n solidFormViewMetaData={solidFormViewMetaData}\n initialEntityData={initialEntityData}\n modelName={params.modelName}\n id={params.id}\n solidWorkflowFieldValue={solidWorkflowFieldValue}\n setSolidWorkflowFieldValue={setSolidWorkflowFieldValue}\n onStepperUpdate={onStepperUpdate}\n />\n } */}\n </>\n )\n}\n"]}
@@ -14,7 +14,7 @@ import { SolidFormStepper } from "../../../components/common/SolidFormStepper";
14
14
  import { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from "../../shad-cn-ui";
15
15
  import { SolidIcon, parseSolidIconMeta } from "../../shad-cn-ui/SolidIcon";
16
16
 
17
- export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel }: any) => {
17
+ export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formViewLayout, solidView, solidFormViewMetaData, initialEntityData, setDeleteDialogVisible, setLayoutDialogVisible, setRedirectToList, viewMode, setViewMode, solidWorkflowFieldValue, setSolidWorkflowFieldValue, internationalisationEnabled, handleDraftPublishWorkFlow, publish, draftEnabled, onStepperUpdate, formData, isSubmitting, headerRequestStatusLabel, showMobileOpenChatter, onMobileOpenChatter }: any) => {
18
18
  const handleCustomButtonClick = useHandleFormCustomButtonClickaction();
19
19
  const router = useRouter();
20
20
  const pathname = usePathname();
@@ -366,6 +366,19 @@ export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formView
366
366
  actionsAllowed.includes(`${permissionExpression(params.modelName, 'create')}`) &&
367
367
  <FormActionDropdown />
368
368
  }
369
+ {
370
+ showMobileOpenChatter &&
371
+ <div className="lg:hidden">
372
+ <SolidButton
373
+ type="button"
374
+ icon="si si-comments"
375
+ size="sm"
376
+ className="solid-icon-button"
377
+ onClick={onMobileOpenChatter}
378
+ aria-label="Open chatter"
379
+ />
380
+ </div>
381
+ }
369
382
  </div>
370
383
  </>
371
384
  ) : (
@@ -529,6 +542,19 @@ export const SolidFormActionHeader = ({ formik, params, actionsAllowed, formView
529
542
 
530
543
  <FormActionDropdown />
531
544
  }
545
+ {
546
+ showMobileOpenChatter &&
547
+ <div className="lg:hidden">
548
+ <SolidButton
549
+ type="button"
550
+ icon="si si-comments"
551
+ size="sm"
552
+ className="solid-icon-button"
553
+ onClick={onMobileOpenChatter}
554
+ aria-label="Open chatter"
555
+ />
556
+ </div>
557
+ }
532
558
  </div>
533
559
  </>
534
560
  )}
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormView.tsx"],"names":[],"mappings":"AA0DA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAyBF,eAAO,MAAM,uBAAuB,WAAY,GAAG,EAAE,KAAG,GAQvD,CAAA;AACD,eAAO,MAAM,sBAAsB,QAAS,MAAM,uBAAuB,OAAO,MAAM,EAAE,GAAG,CAAC,QAa3F,CAAC;AAuUF,QAAA,MAAM,aAAa,WAAY,kBAAkB,4CA83ChD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"SolidFormView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/form/SolidFormView.tsx"],"names":[],"mappings":"AA4DA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,mBAAmB,CAAC,EAAE,GAAG,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAyBF,eAAO,MAAM,uBAAuB,WAAY,GAAG,EAAE,KAAG,GAQvD,CAAA;AACD,eAAO,MAAM,sBAAsB,QAAS,MAAM,uBAAuB,OAAO,MAAM,EAAE,GAAG,CAAC,QAa3F,CAAC;AA0UF,QAAA,MAAM,aAAa,WAAY,kBAAkB,4CAw6ChD,CAAC;AAEF,eAAe,aAAa,CAAC"}