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

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 (1250) hide show
  1. package/README.md +215 -0
  2. package/dist/adapters/auth/helper.d.ts +9 -0
  3. package/dist/adapters/auth/helper.d.ts.map +1 -0
  4. package/dist/adapters/auth/helper.js +37 -0
  5. package/dist/adapters/auth/helper.js.map +1 -0
  6. package/dist/adapters/auth/helper.ts +45 -0
  7. package/dist/adapters/auth/signInWithOtp.d.ts.map +1 -1
  8. package/dist/adapters/auth/signInWithOtp.js +3 -27
  9. package/dist/adapters/auth/signInWithOtp.js.map +1 -1
  10. package/dist/adapters/auth/signInWithOtp.ts +3 -23
  11. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  12. package/dist/components/auth/AuthLayout.js +41 -26
  13. package/dist/components/auth/AuthLayout.js.map +1 -1
  14. package/dist/components/auth/AuthLayout.tsx +89 -88
  15. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  16. package/dist/components/auth/ForgotPasswordThankYou.js +4 -2
  17. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  18. package/dist/components/auth/ForgotPasswordThankYou.tsx +14 -11
  19. package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
  20. package/dist/components/auth/GoogleAuthChecking.js +17 -12
  21. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  22. package/dist/components/auth/GoogleAuthChecking.tsx +8 -5
  23. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  24. package/dist/components/auth/SolidChangeForcePassword.js +3 -5
  25. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  26. package/dist/components/auth/SolidChangeForcePassword.tsx +41 -34
  27. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  28. package/dist/components/auth/SolidForgotPassword.js +5 -10
  29. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  30. package/dist/components/auth/SolidForgotPassword.tsx +26 -27
  31. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  32. package/dist/components/auth/SolidInitialLoginOtp.js +25 -25
  33. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  34. package/dist/components/auth/SolidInitialLoginOtp.tsx +55 -43
  35. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  36. package/dist/components/auth/SolidInitiateRegisterOtp.js +11 -16
  37. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  38. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +48 -42
  39. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  40. package/dist/components/auth/SolidLogin.js +36 -37
  41. package/dist/components/auth/SolidLogin.js.map +1 -1
  42. package/dist/components/auth/SolidLogin.tsx +91 -116
  43. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  44. package/dist/components/auth/SolidRegister.js +23 -25
  45. package/dist/components/auth/SolidRegister.js.map +1 -1
  46. package/dist/components/auth/SolidRegister.tsx +53 -71
  47. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  48. package/dist/components/auth/SolidResetPassword.js +5 -15
  49. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  50. package/dist/components/auth/SolidResetPassword.tsx +15 -37
  51. package/dist/components/common/AutoCompleteField.d.ts.map +1 -1
  52. package/dist/components/common/AutoCompleteField.js +2 -2
  53. package/dist/components/common/AutoCompleteField.js.map +1 -1
  54. package/dist/components/common/AutoCompleteField.tsx +4 -6
  55. package/dist/components/common/BackButton.js +4 -3
  56. package/dist/components/common/BackButton.js.map +1 -1
  57. package/dist/components/common/BackButton.tsx +6 -6
  58. package/dist/components/common/CancelButton.d.ts.map +1 -1
  59. package/dist/components/common/CancelButton.js +5 -4
  60. package/dist/components/common/CancelButton.js.map +1 -1
  61. package/dist/components/common/CancelButton.tsx +10 -6
  62. package/dist/components/common/CreateButton.d.ts.map +1 -1
  63. package/dist/components/common/CreateButton.js +2 -2
  64. package/dist/components/common/CreateButton.js.map +1 -1
  65. package/dist/components/common/CreateButton.tsx +8 -2
  66. package/dist/components/common/DownloadProgressToast.d.ts.map +1 -1
  67. package/dist/components/common/DownloadProgressToast.js +3 -3
  68. package/dist/components/common/DownloadProgressToast.js.map +1 -1
  69. package/dist/components/common/DownloadProgressToast.tsx +21 -18
  70. package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
  71. package/dist/components/common/DropzonePlaceholder.js +2 -2
  72. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  73. package/dist/components/common/DropzonePlaceholder.tsx +10 -8
  74. package/dist/components/common/DropzoneUpload.js +2 -2
  75. package/dist/components/common/DropzoneUpload.js.map +1 -1
  76. package/dist/components/common/DropzoneUpload.tsx +3 -3
  77. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  78. package/dist/components/common/GeneralSettings.js +107 -109
  79. package/dist/components/common/GeneralSettings.js.map +1 -1
  80. package/dist/components/common/GeneralSettings.tsx +219 -329
  81. package/dist/components/common/GlobalToast.d.ts +1 -1
  82. package/dist/components/common/GlobalToast.d.ts.map +1 -1
  83. package/dist/components/common/GlobalToast.js +1 -24
  84. package/dist/components/common/GlobalToast.js.map +1 -1
  85. package/dist/components/common/GlobalToast.tsx +1 -25
  86. package/dist/components/common/MultipleSelectAutoCompleteField.d.ts.map +1 -1
  87. package/dist/components/common/MultipleSelectAutoCompleteField.js +2 -2
  88. package/dist/components/common/MultipleSelectAutoCompleteField.js.map +1 -1
  89. package/dist/components/common/MultipleSelectAutoCompleteField.tsx +3 -5
  90. package/dist/components/common/NotFound.d.ts.map +1 -1
  91. package/dist/components/common/NotFound.js +3 -3
  92. package/dist/components/common/NotFound.js.map +1 -1
  93. package/dist/components/common/NotFound.tsx +8 -15
  94. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  95. package/dist/components/common/SocialMediaLogin.js +13 -4
  96. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  97. package/dist/components/common/SocialMediaLogin.tsx +58 -45
  98. package/dist/components/common/SolidAdmin.d.ts.map +1 -1
  99. package/dist/components/common/SolidAdmin.js +10 -2
  100. package/dist/components/common/SolidAdmin.js.map +1 -1
  101. package/dist/components/common/SolidAdmin.tsx +116 -131
  102. package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
  103. package/dist/components/common/SolidBreadcrumb.js +10 -25
  104. package/dist/components/common/SolidBreadcrumb.js.map +1 -1
  105. package/dist/components/common/SolidBreadcrumb.tsx +32 -26
  106. package/dist/components/common/SolidErrorPage.d.ts.map +1 -1
  107. package/dist/components/common/SolidErrorPage.js +4 -6
  108. package/dist/components/common/SolidErrorPage.js.map +1 -1
  109. package/dist/components/common/SolidErrorPage.tsx +11 -37
  110. package/dist/components/common/SolidExport.d.ts +1 -1
  111. package/dist/components/common/SolidExport.d.ts.map +1 -1
  112. package/dist/components/common/SolidExport.js +182 -221
  113. package/dist/components/common/SolidExport.js.map +1 -1
  114. package/dist/components/common/SolidExport.tsx +401 -453
  115. package/dist/components/common/SolidFieldTooltip.d.ts +1 -1
  116. package/dist/components/common/SolidFieldTooltip.d.ts.map +1 -1
  117. package/dist/components/common/SolidFieldTooltip.js +8 -7
  118. package/dist/components/common/SolidFieldTooltip.js.map +1 -1
  119. package/dist/components/common/SolidFieldTooltip.tsx +29 -16
  120. package/dist/components/common/SolidFormHeader.d.ts +1 -1
  121. package/dist/components/common/SolidFormHeader.d.ts.map +1 -1
  122. package/dist/components/common/SolidFormHeader.js +7 -5
  123. package/dist/components/common/SolidFormHeader.js.map +1 -1
  124. package/dist/components/common/SolidFormHeader.tsx +11 -6
  125. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  126. package/dist/components/common/SolidFormStepper.js +7 -22
  127. package/dist/components/common/SolidFormStepper.js.map +1 -1
  128. package/dist/components/common/SolidFormStepper.tsx +31 -50
  129. package/dist/components/common/SolidHeaderRequestStatus.d.ts +6 -0
  130. package/dist/components/common/SolidHeaderRequestStatus.d.ts.map +1 -0
  131. package/dist/components/common/SolidHeaderRequestStatus.js +9 -0
  132. package/dist/components/common/SolidHeaderRequestStatus.js.map +1 -0
  133. package/dist/components/common/SolidHeaderRequestStatus.tsx +16 -0
  134. package/dist/components/common/SolidModuleHome.d.ts.map +1 -1
  135. package/dist/components/common/SolidModuleHome.js +3 -3
  136. package/dist/components/common/SolidModuleHome.js.map +1 -1
  137. package/dist/components/common/SolidModuleHome.tsx +13 -5
  138. package/dist/components/common/SolidNotFoundPage.d.ts.map +1 -1
  139. package/dist/components/common/SolidNotFoundPage.js +4 -5
  140. package/dist/components/common/SolidNotFoundPage.js.map +1 -1
  141. package/dist/components/common/SolidNotFoundPage.tsx +11 -29
  142. package/dist/components/common/SolidPopupContainer.d.ts.map +1 -1
  143. package/dist/components/common/SolidPopupContainer.js +11 -6
  144. package/dist/components/common/SolidPopupContainer.js.map +1 -1
  145. package/dist/components/common/SolidPopupContainer.tsx +28 -29
  146. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts +37 -0
  147. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -0
  148. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +152 -0
  149. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -0
  150. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +394 -0
  151. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.d.ts.map +1 -1
  152. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +2 -3
  153. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  154. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +28 -38
  155. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.d.ts.map +1 -1
  156. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +2 -3
  157. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  158. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +28 -38
  159. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +2 -2
  160. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  161. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +3 -3
  162. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js +2 -2
  163. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js.map +1 -1
  164. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.tsx +3 -3
  165. package/dist/components/common/SolidToastProvider.d.ts +2 -0
  166. package/dist/components/common/SolidToastProvider.d.ts.map +1 -0
  167. package/dist/components/common/SolidToastProvider.js +45 -0
  168. package/dist/components/common/SolidToastProvider.js.map +1 -0
  169. package/dist/components/common/SolidToastProvider.tsx +39 -0
  170. package/dist/components/common/error.d.ts.map +1 -1
  171. package/dist/components/common/error.js +4 -2
  172. package/dist/components/common/error.js.map +1 -1
  173. package/dist/components/common/error.tsx +9 -15
  174. package/dist/components/common/solid-export.css +454 -59
  175. package/dist/components/core/card/CardGrid.d.ts +3 -0
  176. package/dist/components/core/card/CardGrid.d.ts.map +1 -0
  177. package/dist/components/core/card/CardGrid.js +42 -0
  178. package/dist/components/core/card/CardGrid.js.map +1 -0
  179. package/dist/components/core/card/CardGrid.tsx +83 -0
  180. package/dist/components/core/card/CardItem.d.ts +13 -0
  181. package/dist/components/core/card/CardItem.d.ts.map +1 -0
  182. package/dist/components/core/card/CardItem.js +21 -0
  183. package/dist/components/core/card/CardItem.js.map +1 -0
  184. package/dist/components/core/card/CardItem.tsx +91 -0
  185. package/dist/components/core/card/CardUserViewLayout.d.ts +2 -0
  186. package/dist/components/core/card/CardUserViewLayout.d.ts.map +1 -0
  187. package/dist/components/core/card/CardUserViewLayout.js +94 -0
  188. package/dist/components/core/card/CardUserViewLayout.js.map +1 -0
  189. package/dist/components/core/card/CardUserViewLayout.tsx +68 -0
  190. package/dist/components/core/card/SolidCardView.d.ts +8 -0
  191. package/dist/components/core/card/SolidCardView.d.ts.map +1 -0
  192. package/dist/components/core/card/SolidCardView.js +365 -0
  193. package/dist/components/core/card/SolidCardView.js.map +1 -0
  194. package/dist/components/core/card/SolidCardView.tsx +528 -0
  195. package/dist/components/core/card/SolidCardViewConfigure.d.ts +2 -0
  196. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -0
  197. package/dist/components/core/card/SolidCardViewConfigure.js +122 -0
  198. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -0
  199. package/dist/components/core/card/SolidCardViewConfigure.tsx +268 -0
  200. package/dist/components/core/chatter/SolidChatter.d.ts +3 -1
  201. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  202. package/dist/components/core/chatter/SolidChatter.js +25 -23
  203. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  204. package/dist/components/core/chatter/SolidChatter.tsx +87 -69
  205. package/dist/components/core/chatter/SolidChatterAuditMessage.js +1 -1
  206. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  207. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +3 -3
  208. package/dist/components/core/chatter/SolidChatterCustomMessage.d.ts.map +1 -1
  209. package/dist/components/core/chatter/SolidChatterCustomMessage.js +2 -1
  210. package/dist/components/core/chatter/SolidChatterCustomMessage.js.map +1 -1
  211. package/dist/components/core/chatter/SolidChatterCustomMessage.tsx +3 -6
  212. package/dist/components/core/chatter/SolidChatterDateDivider.js.map +1 -1
  213. package/dist/components/core/chatter/SolidChatterDateDivider.tsx +1 -1
  214. package/dist/components/core/chatter/SolidChatterHeader.d.ts +3 -0
  215. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  216. package/dist/components/core/chatter/SolidChatterHeader.js +40 -30
  217. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  218. package/dist/components/core/chatter/SolidChatterHeader.tsx +139 -101
  219. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  220. package/dist/components/core/chatter/SolidChatterMessageBox.js +55 -21
  221. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  222. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +124 -91
  223. package/dist/components/core/chatter/SolidMessageComposer.d.ts +7 -3
  224. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  225. package/dist/components/core/chatter/SolidMessageComposer.js +17 -7
  226. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  227. package/dist/components/core/chatter/SolidMessageComposer.tsx +92 -49
  228. package/dist/components/core/chatter/chatter.module.css +217 -17
  229. package/dist/components/core/common/FilterComponent.d.ts +2 -8
  230. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  231. package/dist/components/core/common/FilterComponent.js +27 -49
  232. package/dist/components/core/common/FilterComponent.js.map +1 -1
  233. package/dist/components/core/common/FilterComponent.tsx +69 -127
  234. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  235. package/dist/components/core/common/GroupingComponent.js +40 -70
  236. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  237. package/dist/components/core/common/GroupingComponent.tsx +174 -251
  238. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts +1 -1
  239. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  240. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +12 -32
  241. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  242. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +530 -42
  243. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +71 -86
  244. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  245. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +75 -48
  246. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  247. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +242 -172
  248. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  249. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +44 -55
  250. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  251. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +108 -125
  252. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  253. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +106 -87
  254. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  255. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +332 -285
  256. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -1
  257. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +12 -13
  258. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -1
  259. package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +48 -65
  260. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  261. package/dist/components/core/common/SolidCreateButton.js +5 -3
  262. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  263. package/dist/components/core/common/SolidCreateButton.tsx +20 -14
  264. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.d.ts.map +1 -1
  265. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js +30 -11
  266. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js.map +1 -1
  267. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.tsx +91 -43
  268. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +697 -27
  269. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  270. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +14 -9
  271. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  272. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +46 -24
  273. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
  274. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +24 -25
  275. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
  276. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +77 -54
  277. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.d.ts +1 -1
  278. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.d.ts.map +1 -1
  279. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js +15 -125
  280. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js.map +1 -1
  281. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.tsx +35 -213
  282. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  283. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +16 -31
  284. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  285. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +77 -84
  286. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.d.ts.map +1 -1
  287. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.js +11 -13
  288. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.js.map +1 -1
  289. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.tsx +87 -52
  290. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  291. package/dist/components/core/common/SolidGlobalSearchElement.js +319 -161
  292. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  293. package/dist/components/core/common/SolidGlobalSearchElement.tsx +654 -287
  294. package/dist/components/core/common/SolidLayoutViews.d.ts.map +1 -1
  295. package/dist/components/core/common/SolidLayoutViews.js +5 -8
  296. package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
  297. package/dist/components/core/common/SolidLayoutViews.tsx +49 -63
  298. package/dist/components/core/common/SolidListViewOptions.d.ts.map +1 -1
  299. package/dist/components/core/common/SolidListViewOptions.js +3 -3
  300. package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
  301. package/dist/components/core/common/SolidListViewOptions.tsx +7 -6
  302. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  303. package/dist/components/core/common/SolidSaveCustomFilterForm.js +3 -3
  304. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  305. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +31 -28
  306. package/dist/components/core/common/SolidSearchBox.d.ts.map +1 -1
  307. package/dist/components/core/common/SolidSearchBox.js +2 -2
  308. package/dist/components/core/common/SolidSearchBox.js.map +1 -1
  309. package/dist/components/core/common/SolidSearchBox.tsx +3 -4
  310. package/dist/components/core/common/SolidViewLayoutManager.d.ts +17 -0
  311. package/dist/components/core/common/SolidViewLayoutManager.d.ts.map +1 -1
  312. package/dist/components/core/common/SolidViewLayoutManager.js +58 -1
  313. package/dist/components/core/common/SolidViewLayoutManager.js.map +1 -1
  314. package/dist/components/core/common/SolidViewLayoutManager.ts +43 -2
  315. package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -1
  316. package/dist/components/core/dashboard/DashboardFilter.js +8 -14
  317. package/dist/components/core/dashboard/DashboardFilter.js.map +1 -1
  318. package/dist/components/core/dashboard/DashboardFilter.tsx +26 -34
  319. package/dist/components/core/dashboard/PrimeDataTableWrapper.js +2 -2
  320. package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -1
  321. package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +3 -3
  322. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -1
  323. package/dist/components/core/dashboard/SolidDashboard.js +13 -125
  324. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -1
  325. package/dist/components/core/dashboard/SolidDashboard.module.css +3 -3
  326. package/dist/components/core/dashboard/SolidDashboard.tsx +41 -187
  327. package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -1
  328. package/dist/components/core/dashboard/SolidDashboardBody.js +14 -14
  329. package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -1
  330. package/dist/components/core/dashboard/SolidDashboardBody.tsx +6 -7
  331. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -1
  332. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  333. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +3 -3
  334. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -1
  335. package/dist/components/core/dashboard/SolidDashboardLoading.js +5 -2
  336. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -1
  337. package/dist/components/core/dashboard/SolidDashboardLoading.tsx +20 -14
  338. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -1
  339. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  340. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +3 -3
  341. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -1
  342. package/dist/components/core/dashboard/SolidDashboardRenderError.js +2 -1
  343. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -1
  344. package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +3 -4
  345. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -1
  346. package/dist/components/core/dashboard/SolidDashboardVariable.js +9 -18
  347. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -1
  348. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +40 -37
  349. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -1
  350. package/dist/components/core/dashboard/SolidQuestionRenderer.js +16 -11
  351. package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -1
  352. package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +30 -11
  353. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -1
  354. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +4 -14
  355. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -1
  356. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +24 -27
  357. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.d.ts +1 -2
  358. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.d.ts.map +1 -1
  359. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js +2 -2
  360. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js.map +1 -1
  361. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.tsx +10 -12
  362. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
  363. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
  364. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
  365. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
  366. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
  367. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
  368. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
  369. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
  370. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
  371. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
  372. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +2 -2
  373. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -1
  374. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +3 -3
  375. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
  376. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
  377. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js +111 -0
  378. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js.map +1 -0
  379. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.tsx +122 -0
  380. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.d.ts +3 -0
  381. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.d.ts.map +1 -0
  382. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.js +69 -0
  383. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.js.map +1 -0
  384. package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.tsx +141 -0
  385. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  386. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +3 -6
  387. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  388. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +54 -38
  389. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  390. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +74 -97
  391. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  392. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +178 -188
  393. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
  394. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +33 -35
  395. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
  396. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +123 -110
  397. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  398. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +70 -106
  399. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  400. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +175 -182
  401. package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.d.ts +3 -0
  402. package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.d.ts.map +1 -0
  403. package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.js +10 -0
  404. package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.js.map +1 -0
  405. package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.tsx +21 -0
  406. package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.d.ts +8 -0
  407. package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.d.ts.map +1 -0
  408. package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.js +62 -0
  409. package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.js.map +1 -0
  410. package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.tsx +27 -0
  411. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.d.ts +3 -0
  412. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.d.ts.map +1 -0
  413. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.js +128 -0
  414. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.js.map +1 -0
  415. package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.tsx +195 -0
  416. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.d.ts +3 -0
  417. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
  418. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.js +8 -0
  419. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.js.map +1 -0
  420. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.tsx +15 -0
  421. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.d.ts +3 -0
  422. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.d.ts.map +1 -0
  423. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js +158 -0
  424. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js.map +1 -0
  425. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx +185 -0
  426. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.d.ts +17 -0
  427. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.d.ts.map +1 -0
  428. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js +52 -0
  429. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js.map +1 -0
  430. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.tsx +83 -0
  431. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  432. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +10 -18
  433. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  434. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +32 -53
  435. package/dist/components/core/field/FieldListViewData.d.ts.map +1 -1
  436. package/dist/components/core/field/FieldListViewData.js +83 -74
  437. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  438. package/dist/components/core/field/FieldListViewData.tsx +120 -168
  439. package/dist/components/core/filter/SEARCH_FILTER_HIERARCHY.md +582 -0
  440. package/dist/components/core/filter/SolidBooleanFilterElement.d.ts +1 -1
  441. package/dist/components/core/filter/SolidBooleanFilterElement.d.ts.map +1 -1
  442. package/dist/components/core/filter/SolidBooleanFilterElement.js +4 -4
  443. package/dist/components/core/filter/SolidBooleanFilterElement.js.map +1 -1
  444. package/dist/components/core/filter/SolidBooleanFilterElement.tsx +7 -6
  445. package/dist/components/core/filter/SolidManyToManyFilterElement.d.ts +1 -1
  446. package/dist/components/core/filter/SolidManyToManyFilterElement.d.ts.map +1 -1
  447. package/dist/components/core/filter/SolidManyToManyFilterElement.js +5 -9
  448. package/dist/components/core/filter/SolidManyToManyFilterElement.js.map +1 -1
  449. package/dist/components/core/filter/SolidManyToManyFilterElement.tsx +8 -7
  450. package/dist/components/core/filter/SolidManyToOneFilterElement.d.ts +1 -1
  451. package/dist/components/core/filter/SolidManyToOneFilterElement.d.ts.map +1 -1
  452. package/dist/components/core/filter/SolidManyToOneFilterElement.js +4 -4
  453. package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
  454. package/dist/components/core/filter/SolidManyToOneFilterElement.tsx +7 -6
  455. package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts +1 -1
  456. package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts.map +1 -1
  457. package/dist/components/core/filter/SolidOneToManyFilterElement.js +5 -9
  458. package/dist/components/core/filter/SolidOneToManyFilterElement.js.map +1 -1
  459. package/dist/components/core/filter/SolidOneToManyFilterElement.tsx +8 -7
  460. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.d.ts +1 -1
  461. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.d.ts.map +1 -1
  462. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js +4 -4
  463. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js.map +1 -1
  464. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.tsx +7 -6
  465. package/dist/components/core/filter/SolidSelectionStaticFilterElement.d.ts +1 -1
  466. package/dist/components/core/filter/SolidSelectionStaticFilterElement.d.ts.map +1 -1
  467. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js +4 -4
  468. package/dist/components/core/filter/SolidSelectionStaticFilterElement.js.map +1 -1
  469. package/dist/components/core/filter/SolidSelectionStaticFilterElement.tsx +7 -6
  470. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts +1 -1
  471. package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts.map +1 -1
  472. package/dist/components/core/filter/SolidVarInputsFilterElement.js +109 -38
  473. package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
  474. package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +215 -155
  475. package/dist/components/core/filter/fields/SolidBooleanField.js +3 -3
  476. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  477. package/dist/components/core/filter/fields/SolidBooleanField.tsx +6 -6
  478. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  479. package/dist/components/core/filter/fields/SolidDateField.js +3 -5
  480. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  481. package/dist/components/core/filter/fields/SolidDateField.tsx +6 -8
  482. package/dist/components/core/filter/fields/SolidDatetimeField.js +3 -3
  483. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  484. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +5 -5
  485. package/dist/components/core/filter/fields/SolidExternalIdField.js +5 -5
  486. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  487. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +8 -8
  488. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  489. package/dist/components/core/filter/fields/SolidIdField.js +11 -4
  490. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  491. package/dist/components/core/filter/fields/SolidIdField.tsx +12 -5
  492. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  493. package/dist/components/core/filter/fields/SolidIntField.js +3 -5
  494. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  495. package/dist/components/core/filter/fields/SolidIntField.tsx +6 -8
  496. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  497. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +3 -5
  498. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  499. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +6 -8
  500. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  501. package/dist/components/core/filter/fields/SolidMediaSingleField.js +3 -5
  502. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  503. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +6 -8
  504. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +3 -3
  505. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  506. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +5 -5
  507. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +3 -3
  508. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  509. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +5 -5
  510. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  511. package/dist/components/core/filter/fields/SolidShortTextField.js +3 -5
  512. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  513. package/dist/components/core/filter/fields/SolidShortTextField.tsx +6 -8
  514. package/dist/components/core/filter/fields/SolidTimeField.js +3 -3
  515. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  516. package/dist/components/core/filter/fields/SolidTimeField.tsx +5 -5
  517. package/dist/components/core/filter/fields/SolidUuidField.js +5 -5
  518. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  519. package/dist/components/core/filter/fields/SolidUuidField.tsx +8 -8
  520. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +2 -2
  521. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  522. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +4 -4
  523. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +3 -3
  524. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  525. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +5 -5
  526. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +2 -2
  527. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  528. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +4 -4
  529. package/dist/components/core/filter/filterMatchMode.d.ts +17 -0
  530. package/dist/components/core/filter/filterMatchMode.d.ts.map +1 -0
  531. package/dist/components/core/filter/filterMatchMode.js +16 -0
  532. package/dist/components/core/filter/filterMatchMode.js.map +1 -0
  533. package/dist/components/core/filter/filterMatchMode.ts +18 -0
  534. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  535. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  536. package/dist/components/core/form/SolidFormActionHeader.js +61 -55
  537. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  538. package/dist/components/core/form/SolidFormActionHeader.tsx +356 -334
  539. package/dist/components/core/form/SolidFormFieldRender.js +2 -2
  540. package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
  541. package/dist/components/core/form/SolidFormFieldRender.tsx +2 -2
  542. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  543. package/dist/components/core/form/SolidFormFooter.js +3 -3
  544. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  545. package/dist/components/core/form/SolidFormFooter.tsx +26 -19
  546. package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
  547. package/dist/components/core/form/SolidFormUserViewLayout.js +3 -6
  548. package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
  549. package/dist/components/core/form/SolidFormUserViewLayout.tsx +9 -13
  550. package/dist/components/core/form/SolidFormView.d.ts +0 -3
  551. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  552. package/dist/components/core/form/SolidFormView.js +78 -127
  553. package/dist/components/core/form/SolidFormView.js.map +1 -1
  554. package/dist/components/core/form/SolidFormView.tsx +168 -212
  555. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts +3 -1
  556. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  557. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +22 -16
  558. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  559. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +46 -17
  560. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts +3 -1
  561. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  562. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +32 -15
  563. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  564. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +40 -17
  565. package/dist/components/core/form/SolidFormViewShimmerLoading.d.ts.map +1 -1
  566. package/dist/components/core/form/SolidFormViewShimmerLoading.js +5 -2
  567. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  568. package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +40 -37
  569. package/dist/components/core/form/fields/SolidBooleanField.d.ts +1 -1
  570. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  571. package/dist/components/core/form/fields/SolidBooleanField.js +80 -69
  572. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  573. package/dist/components/core/form/fields/SolidBooleanField.tsx +116 -145
  574. package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
  575. package/dist/components/core/form/fields/SolidDateField.js +22 -49
  576. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  577. package/dist/components/core/form/fields/SolidDateField.tsx +30 -72
  578. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  579. package/dist/components/core/form/fields/SolidDateTimeField.js +22 -48
  580. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  581. package/dist/components/core/form/fields/SolidDateTimeField.tsx +33 -69
  582. package/dist/components/core/form/fields/SolidDecimalField.d.ts +1 -1
  583. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  584. package/dist/components/core/form/fields/SolidDecimalField.js +17 -17
  585. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  586. package/dist/components/core/form/fields/SolidDecimalField.tsx +21 -24
  587. package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
  588. package/dist/components/core/form/fields/SolidEmailField.js +11 -15
  589. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  590. package/dist/components/core/form/fields/SolidEmailField.tsx +27 -33
  591. package/dist/components/core/form/fields/SolidIntegerField.d.ts +1 -1
  592. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  593. package/dist/components/core/form/fields/SolidIntegerField.js +12 -9
  594. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  595. package/dist/components/core/form/fields/SolidIntegerField.tsx +23 -24
  596. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  597. package/dist/components/core/form/fields/SolidJsonField.js +15 -10
  598. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  599. package/dist/components/core/form/fields/SolidJsonField.tsx +21 -20
  600. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  601. package/dist/components/core/form/fields/SolidLongTextField.js +28 -44
  602. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  603. package/dist/components/core/form/fields/SolidLongTextField.tsx +90 -119
  604. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  605. package/dist/components/core/form/fields/SolidMediaMultipleField.js +41 -49
  606. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  607. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +127 -111
  608. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  609. package/dist/components/core/form/fields/SolidMediaSingleField.js +10 -23
  610. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  611. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +117 -100
  612. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  613. package/dist/components/core/form/fields/SolidPasswordField.js +29 -32
  614. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  615. package/dist/components/core/form/fields/SolidPasswordField.tsx +122 -117
  616. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  617. package/dist/components/core/form/fields/SolidRichTextField.js +6 -8
  618. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  619. package/dist/components/core/form/fields/SolidRichTextField.tsx +31 -46
  620. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  621. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +36 -24
  622. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  623. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +56 -61
  624. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  625. package/dist/components/core/form/fields/SolidSelectionStaticField.js +60 -74
  626. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  627. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +99 -167
  628. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  629. package/dist/components/core/form/fields/SolidShortTextField.js +23 -36
  630. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  631. package/dist/components/core/form/fields/SolidShortTextField.tsx +54 -119
  632. package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
  633. package/dist/components/core/form/fields/SolidTimeField.js +14 -14
  634. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  635. package/dist/components/core/form/fields/SolidTimeField.tsx +23 -26
  636. package/dist/components/core/form/fields/fieldEventUtils.d.ts +10 -0
  637. package/dist/components/core/form/fields/fieldEventUtils.d.ts.map +1 -0
  638. package/dist/components/core/form/fields/fieldEventUtils.js +11 -0
  639. package/dist/components/core/form/fields/fieldEventUtils.js.map +1 -0
  640. package/dist/components/core/form/fields/fieldEventUtils.ts +24 -0
  641. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  642. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +31 -28
  643. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  644. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +105 -103
  645. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  646. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +38 -30
  647. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  648. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +55 -40
  649. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  650. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +17 -19
  651. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  652. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +40 -29
  653. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  654. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +5 -8
  655. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  656. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +20 -13
  657. package/dist/components/core/form/fields/solidFields.module.css +263 -1
  658. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.d.ts.map +1 -1
  659. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +76 -56
  660. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  661. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +106 -120
  662. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
  663. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
  664. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
  665. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
  666. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
  667. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  668. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +21 -31
  669. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  670. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +62 -58
  671. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
  672. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
  673. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
  674. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
  675. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
  676. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.d.ts.map +1 -1
  677. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
  678. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +0 -5
  679. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts.map +1 -1
  680. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +9 -8
  681. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  682. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +43 -33
  683. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.d.ts.map +1 -1
  684. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
  685. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +1 -6
  686. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  687. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  688. package/dist/components/core/kanban/KanbanBoard.js +44 -8
  689. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  690. package/dist/components/core/kanban/KanbanBoard.tsx +63 -9
  691. package/dist/components/core/kanban/KanbanCard.d.ts +8 -0
  692. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  693. package/dist/components/core/kanban/KanbanCard.js +22 -162
  694. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  695. package/dist/components/core/kanban/KanbanCard.tsx +67 -224
  696. package/dist/components/core/kanban/KanbanColumn.d.ts +4 -2
  697. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  698. package/dist/components/core/kanban/KanbanColumn.js +8 -14
  699. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  700. package/dist/components/core/kanban/KanbanColumn.tsx +60 -80
  701. package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
  702. package/dist/components/core/kanban/KanbanUserViewLayout.js +4 -7
  703. package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
  704. package/dist/components/core/kanban/KanbanUserViewLayout.tsx +15 -16
  705. package/dist/components/core/kanban/SolidKanbanView.d.ts +0 -2
  706. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  707. package/dist/components/core/kanban/SolidKanbanView.js +121 -74
  708. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  709. package/dist/components/core/kanban/SolidKanbanView.tsx +221 -139
  710. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
  711. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  712. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +111 -52
  713. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  714. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +239 -122
  715. package/dist/components/core/list/ListViewRowActionPopup.d.ts.map +1 -1
  716. package/dist/components/core/list/ListViewRowActionPopup.js +3 -2
  717. package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
  718. package/dist/components/core/list/ListViewRowActionPopup.tsx +8 -5
  719. package/dist/components/core/list/PLAN.md +22 -2
  720. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts +1 -1
  721. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  722. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +3 -8
  723. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  724. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +19 -24
  725. package/dist/components/core/list/SolidDataTable.d.ts +1 -0
  726. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  727. package/dist/components/core/list/SolidDataTable.js +26 -6
  728. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  729. package/dist/components/core/list/SolidDataTable.tsx +38 -7
  730. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts +1 -1
  731. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  732. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +51 -30
  733. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  734. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +122 -90
  735. package/dist/components/core/list/SolidListView.d.ts +5 -12
  736. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  737. package/dist/components/core/list/SolidListView.js +363 -426
  738. package/dist/components/core/list/SolidListView.js.map +1 -1
  739. package/dist/components/core/list/SolidListView.tsx +714 -899
  740. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  741. package/dist/components/core/list/SolidListViewConfigure.js +50 -61
  742. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  743. package/dist/components/core/list/SolidListViewConfigure.tsx +237 -215
  744. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  745. package/dist/components/core/list/SolidListViewHeaderButton.js +6 -5
  746. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  747. package/dist/components/core/list/SolidListViewHeaderButton.tsx +9 -7
  748. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts +1 -1
  749. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  750. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +12 -7
  751. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  752. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +15 -13
  753. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts +2 -0
  754. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -0
  755. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +42 -0
  756. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -0
  757. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +43 -0
  758. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts +2 -0
  759. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -0
  760. package/dist/components/core/list/SolidListViewRowActionsMenu.js +32 -0
  761. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -0
  762. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +106 -0
  763. package/dist/components/core/list/SolidListViewShimmerLoading.d.ts.map +1 -1
  764. package/dist/components/core/list/SolidListViewShimmerLoading.js +3 -4
  765. package/dist/components/core/list/SolidListViewShimmerLoading.js.map +1 -1
  766. package/dist/components/core/list/SolidListViewShimmerLoading.tsx +4 -72
  767. package/dist/components/core/list/SolidListViewWrapper.module.css +82 -41
  768. package/dist/components/core/list/SolidManyToOneFilterElement.d.ts.map +1 -1
  769. package/dist/components/core/list/SolidManyToOneFilterElement.js +2 -2
  770. package/dist/components/core/list/SolidManyToOneFilterElement.js.map +1 -1
  771. package/dist/components/core/list/SolidManyToOneFilterElement.tsx +5 -5
  772. package/dist/components/core/list/SolidSelectionDynamicFilterElement.d.ts.map +1 -1
  773. package/dist/components/core/list/SolidSelectionDynamicFilterElement.js +2 -2
  774. package/dist/components/core/list/SolidSelectionDynamicFilterElement.js.map +1 -1
  775. package/dist/components/core/list/SolidSelectionDynamicFilterElement.tsx +5 -4
  776. package/dist/components/core/list/SolidSelectionStaticFilterElement.d.ts.map +1 -1
  777. package/dist/components/core/list/SolidSelectionStaticFilterElement.js +2 -2
  778. package/dist/components/core/list/SolidSelectionStaticFilterElement.js.map +1 -1
  779. package/dist/components/core/list/SolidSelectionStaticFilterElement.tsx +5 -4
  780. package/dist/components/core/list/SolidTableRowCell.d.ts.map +1 -1
  781. package/dist/components/core/list/SolidTableRowCell.js +4 -3
  782. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  783. package/dist/components/core/list/SolidTableRowCell.tsx +11 -8
  784. package/dist/components/core/list/columns/SolidBooleanColumn.js +2 -2
  785. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  786. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +2 -2
  787. package/dist/components/core/list/columns/SolidDateColumn.js +1 -1
  788. package/dist/components/core/list/columns/SolidDateColumn.js.map +1 -1
  789. package/dist/components/core/list/columns/SolidDateColumn.tsx +1 -1
  790. package/dist/components/core/list/columns/SolidDatetimeColumn.js +1 -1
  791. package/dist/components/core/list/columns/SolidDatetimeColumn.js.map +1 -1
  792. package/dist/components/core/list/columns/SolidDatetimeColumn.tsx +1 -1
  793. package/dist/components/core/list/columns/SolidExternalIdColumn.js +1 -1
  794. package/dist/components/core/list/columns/SolidExternalIdColumn.js.map +1 -1
  795. package/dist/components/core/list/columns/SolidExternalIdColumn.tsx +1 -1
  796. package/dist/components/core/list/columns/SolidIdColumn.js +2 -2
  797. package/dist/components/core/list/columns/SolidIdColumn.js.map +1 -1
  798. package/dist/components/core/list/columns/SolidIdColumn.tsx +3 -3
  799. package/dist/components/core/list/columns/SolidIntColumn.d.ts.map +1 -1
  800. package/dist/components/core/list/columns/SolidIntColumn.js +2 -2
  801. package/dist/components/core/list/columns/SolidIntColumn.js.map +1 -1
  802. package/dist/components/core/list/columns/SolidIntColumn.tsx +4 -2
  803. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  804. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +7 -10
  805. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  806. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +13 -18
  807. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  808. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +4 -4
  809. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  810. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +4 -4
  811. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js +1 -1
  812. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js.map +1 -1
  813. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.tsx +1 -1
  814. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js +1 -1
  815. package/dist/components/core/list/columns/SolidSelectionStaticColumn.js.map +1 -1
  816. package/dist/components/core/list/columns/SolidSelectionStaticColumn.tsx +1 -1
  817. package/dist/components/core/list/columns/SolidShortTextColumn.js +1 -1
  818. package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
  819. package/dist/components/core/list/columns/SolidShortTextColumn.tsx +1 -1
  820. package/dist/components/core/list/columns/SolidTimeColumn.js +1 -1
  821. package/dist/components/core/list/columns/SolidTimeColumn.js.map +1 -1
  822. package/dist/components/core/list/columns/SolidTimeColumn.tsx +1 -1
  823. package/dist/components/core/list/columns/SolidUuidColumn.js +1 -1
  824. package/dist/components/core/list/columns/SolidUuidColumn.js.map +1 -1
  825. package/dist/components/core/list/columns/SolidUuidColumn.tsx +1 -1
  826. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js +1 -1
  827. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
  828. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +1 -1
  829. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  830. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +5 -7
  831. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  832. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +9 -11
  833. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js +1 -1
  834. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
  835. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +1 -1
  836. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
  837. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
  838. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
  839. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
  840. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
  841. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
  842. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
  843. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
  844. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
  845. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
  846. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
  847. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
  848. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
  849. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
  850. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
  851. package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
  852. package/dist/components/core/locales/SolidChatterLocaleTabView.js +56 -7
  853. package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
  854. package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +97 -42
  855. package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
  856. package/dist/components/core/locales/SolidLocale.js +6 -10
  857. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  858. package/dist/components/core/locales/SolidLocale.tsx +23 -29
  859. package/dist/components/core/locales/solid-locale.css +142 -23
  860. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  861. package/dist/components/core/model/CreateModel.js +58 -63
  862. package/dist/components/core/model/CreateModel.js.map +1 -1
  863. package/dist/components/core/model/CreateModel.tsx +179 -213
  864. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  865. package/dist/components/core/model/FieldMetaData.js +29 -40
  866. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  867. package/dist/components/core/model/FieldMetaData.tsx +154 -103
  868. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  869. package/dist/components/core/model/FieldMetaDataForm.js +521 -270
  870. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  871. package/dist/components/core/model/FieldMetaDataForm.tsx +1142 -956
  872. package/dist/components/core/model/FieldSelector.d.ts +5 -1
  873. package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
  874. package/dist/components/core/model/FieldSelector.js +52 -30
  875. package/dist/components/core/model/FieldSelector.js.map +1 -1
  876. package/dist/components/core/model/FieldSelector.tsx +119 -57
  877. package/dist/components/core/model/ModelListViewData.d.ts.map +1 -1
  878. package/dist/components/core/model/ModelListViewData.js +110 -91
  879. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  880. package/dist/components/core/model/ModelListViewData.tsx +172 -220
  881. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  882. package/dist/components/core/model/ModelMetaData.js +105 -61
  883. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  884. package/dist/components/core/model/ModelMetaData.tsx +277 -457
  885. package/dist/components/core/module/CreateModule.d.ts +1 -1
  886. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  887. package/dist/components/core/module/CreateModule.js +33 -54
  888. package/dist/components/core/module/CreateModule.js.map +1 -1
  889. package/dist/components/core/module/CreateModule.tsx +273 -299
  890. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  891. package/dist/components/core/module/ModuleListViewData.js +104 -135
  892. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  893. package/dist/components/core/module/ModuleListViewData.tsx +172 -278
  894. package/dist/components/core/solid-ai/SolidAiChat.d.ts.map +1 -1
  895. package/dist/components/core/solid-ai/SolidAiChat.js +25 -20
  896. package/dist/components/core/solid-ai/SolidAiChat.js.map +1 -1
  897. package/dist/components/core/solid-ai/SolidAiChat.tsx +80 -31
  898. package/dist/components/core/solid-ai/SolidAiMainWrapper.d.ts.map +1 -1
  899. package/dist/components/core/solid-ai/SolidAiMainWrapper.js +5 -2
  900. package/dist/components/core/solid-ai/SolidAiMainWrapper.js.map +1 -1
  901. package/dist/components/core/solid-ai/SolidAiMainWrapper.tsx +7 -2
  902. package/dist/components/core/tree/SolidTreeTable.d.ts +73 -0
  903. package/dist/components/core/tree/SolidTreeTable.d.ts.map +1 -0
  904. package/dist/components/core/tree/SolidTreeTable.js +275 -0
  905. package/dist/components/core/tree/SolidTreeTable.js.map +1 -0
  906. package/dist/components/core/tree/SolidTreeTable.tsx +522 -0
  907. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  908. package/dist/components/core/tree/SolidTreeView.js +266 -244
  909. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  910. package/dist/components/core/tree/SolidTreeView.tsx +606 -625
  911. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +38 -0
  912. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts +8 -0
  913. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -0
  914. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +139 -0
  915. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -0
  916. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +256 -0
  917. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +9 -0
  918. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -0
  919. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +157 -0
  920. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -0
  921. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +183 -0
  922. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts +9 -0
  923. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -0
  924. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +37 -0
  925. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -0
  926. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +111 -0
  927. package/dist/components/core/users/ApiKeysTab/index.d.ts +4 -0
  928. package/dist/components/core/users/ApiKeysTab/index.d.ts.map +1 -0
  929. package/dist/components/core/users/ApiKeysTab/index.js +4 -0
  930. package/dist/components/core/users/ApiKeysTab/index.js.map +1 -0
  931. package/dist/components/core/users/ApiKeysTab/index.ts +3 -0
  932. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  933. package/dist/components/core/users/CreateUser.js +147 -155
  934. package/dist/components/core/users/CreateUser.js.map +1 -1
  935. package/dist/components/core/users/CreateUser.tsx +396 -370
  936. package/dist/components/core/users/CreateUserRole.d.ts.map +1 -1
  937. package/dist/components/core/users/CreateUserRole.js +14 -21
  938. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  939. package/dist/components/core/users/CreateUserRole.tsx +16 -33
  940. package/dist/components/core/users/UserListView.d.ts.map +1 -1
  941. package/dist/components/core/users/UserListView.js +95 -92
  942. package/dist/components/core/users/UserListView.js.map +1 -1
  943. package/dist/components/core/users/UserListView.tsx +286 -330
  944. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  945. package/dist/components/layout/AdminLayout.js +4 -12
  946. package/dist/components/layout/AdminLayout.js.map +1 -1
  947. package/dist/components/layout/AdminLayout.tsx +22 -31
  948. package/dist/components/layout/AppConfig.d.ts +2 -2
  949. package/dist/components/layout/AppConfig.d.ts.map +1 -1
  950. package/dist/components/layout/AppConfig.js +9 -47
  951. package/dist/components/layout/AppConfig.js.map +1 -1
  952. package/dist/components/layout/AppConfig.tsx +10 -98
  953. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  954. package/dist/components/layout/AppSidebar.js +215 -84
  955. package/dist/components/layout/AppSidebar.js.map +1 -1
  956. package/dist/components/layout/AppSidebar.tsx +357 -163
  957. package/dist/components/layout/DashboardHeader.d.ts.map +1 -1
  958. package/dist/components/layout/DashboardHeader.js +11 -17
  959. package/dist/components/layout/DashboardHeader.js.map +1 -1
  960. package/dist/components/layout/DashboardHeader.tsx +40 -35
  961. package/dist/components/layout/FilterMenu.d.ts.map +1 -1
  962. package/dist/components/layout/FilterMenu.js +4 -7
  963. package/dist/components/layout/FilterMenu.js.map +1 -1
  964. package/dist/components/layout/FilterMenu.tsx +22 -20
  965. package/dist/components/layout/GlobalSearch.d.ts.map +1 -1
  966. package/dist/components/layout/GlobalSearch.js +2 -6
  967. package/dist/components/layout/GlobalSearch.js.map +1 -1
  968. package/dist/components/layout/GlobalSearch.tsx +7 -13
  969. package/dist/components/layout/Layout.d.ts.map +1 -1
  970. package/dist/components/layout/Layout.js +11 -130
  971. package/dist/components/layout/Layout.js.map +1 -1
  972. package/dist/components/layout/Layout.tsx +18 -161
  973. package/dist/components/layout/ListingHeader.d.ts.map +1 -1
  974. package/dist/components/layout/ListingHeader.js +4 -8
  975. package/dist/components/layout/ListingHeader.js.map +1 -1
  976. package/dist/components/layout/ListingHeader.tsx +3 -9
  977. package/dist/components/layout/SolidAiStudioLayout.d.ts.map +1 -1
  978. package/dist/components/layout/SolidAiStudioLayout.js +130 -64
  979. package/dist/components/layout/SolidAiStudioLayout.js.map +1 -1
  980. package/dist/components/layout/SolidAiStudioLayout.tsx +141 -189
  981. package/dist/components/layout/UserSidebar.d.ts.map +1 -1
  982. package/dist/components/layout/UserSidebar.js +5 -4
  983. package/dist/components/layout/UserSidebar.js.map +1 -1
  984. package/dist/components/layout/UserSidebar.tsx +6 -5
  985. package/dist/components/layout/context/layoutcontext.d.ts.map +1 -1
  986. package/dist/components/layout/context/layoutcontext.js +31 -6
  987. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  988. package/dist/components/layout/context/layoutcontext.tsx +31 -2
  989. package/dist/components/layout/navbar-one.d.ts.map +1 -1
  990. package/dist/components/layout/navbar-one.js +3 -8
  991. package/dist/components/layout/navbar-one.js.map +1 -1
  992. package/dist/components/layout/navbar-one.tsx +24 -15
  993. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  994. package/dist/components/layout/navbar-two-menu.js +16 -2
  995. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  996. package/dist/components/layout/navbar-two-menu.tsx +50 -13
  997. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  998. package/dist/components/layout/user-profile-menu.js +74 -59
  999. package/dist/components/layout/user-profile-menu.js.map +1 -1
  1000. package/dist/components/layout/user-profile-menu.tsx +206 -143
  1001. package/dist/components/shad-cn-ui/SolidAccordion.d.ts +7 -0
  1002. package/dist/components/shad-cn-ui/SolidAccordion.d.ts.map +1 -0
  1003. package/dist/components/shad-cn-ui/SolidAccordion.js +47 -0
  1004. package/dist/components/shad-cn-ui/SolidAccordion.js.map +1 -0
  1005. package/dist/components/shad-cn-ui/SolidAccordion.tsx +41 -0
  1006. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +12 -1
  1007. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  1008. package/dist/components/shad-cn-ui/SolidAutocomplete.js +31 -15
  1009. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  1010. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +60 -24
  1011. package/dist/components/shad-cn-ui/SolidButton.d.ts +10 -2
  1012. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  1013. package/dist/components/shad-cn-ui/SolidButton.js +18 -2
  1014. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  1015. package/dist/components/shad-cn-ui/SolidButton.tsx +54 -8
  1016. package/dist/components/shad-cn-ui/SolidCheckbox.d.ts +7 -0
  1017. package/dist/components/shad-cn-ui/SolidCheckbox.d.ts.map +1 -0
  1018. package/dist/components/shad-cn-ui/SolidCheckbox.js +35 -0
  1019. package/dist/components/shad-cn-ui/SolidCheckbox.js.map +1 -0
  1020. package/dist/components/shad-cn-ui/SolidCheckbox.tsx +19 -0
  1021. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts +12 -0
  1022. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -0
  1023. package/dist/components/shad-cn-ui/SolidCodeEditor.js +19 -0
  1024. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -0
  1025. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +48 -0
  1026. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +14 -0
  1027. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -0
  1028. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +8 -0
  1029. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -0
  1030. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +50 -0
  1031. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +10 -0
  1032. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -0
  1033. package/dist/components/shad-cn-ui/SolidDatePicker.js +66 -0
  1034. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -0
  1035. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +72 -0
  1036. package/dist/components/shad-cn-ui/SolidDialog.d.ts +41 -0
  1037. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -0
  1038. package/dist/components/shad-cn-ui/SolidDialog.js +61 -0
  1039. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -0
  1040. package/dist/components/shad-cn-ui/SolidDialog.tsx +141 -0
  1041. package/dist/components/shad-cn-ui/SolidDivider.d.ts +4 -0
  1042. package/dist/components/shad-cn-ui/SolidDivider.d.ts.map +1 -0
  1043. package/dist/components/shad-cn-ui/SolidDivider.js +6 -0
  1044. package/dist/components/shad-cn-ui/SolidDivider.js.map +1 -0
  1045. package/dist/components/shad-cn-ui/SolidDivider.tsx +5 -0
  1046. package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts +15 -0
  1047. package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts.map +1 -0
  1048. package/dist/components/shad-cn-ui/SolidDropdownMenu.js +70 -0
  1049. package/dist/components/shad-cn-ui/SolidDropdownMenu.js.map +1 -0
  1050. package/dist/components/shad-cn-ui/SolidDropdownMenu.tsx +124 -0
  1051. package/dist/components/shad-cn-ui/SolidIcon.d.ts +92 -0
  1052. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -0
  1053. package/dist/components/shad-cn-ui/SolidIcon.js +149 -0
  1054. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -0
  1055. package/dist/components/shad-cn-ui/SolidIcon.tsx +223 -0
  1056. package/dist/components/shad-cn-ui/SolidInput.d.ts +1 -1
  1057. package/dist/components/shad-cn-ui/SolidInput.d.ts.map +1 -1
  1058. package/dist/components/shad-cn-ui/SolidInput.js +4 -3
  1059. package/dist/components/shad-cn-ui/SolidInput.js.map +1 -1
  1060. package/dist/components/shad-cn-ui/SolidInput.tsx +6 -4
  1061. package/dist/components/shad-cn-ui/SolidLightbox.d.ts +19 -0
  1062. package/dist/components/shad-cn-ui/SolidLightbox.d.ts.map +1 -0
  1063. package/dist/components/shad-cn-ui/SolidLightbox.js +160 -0
  1064. package/dist/components/shad-cn-ui/SolidLightbox.js.map +1 -0
  1065. package/dist/components/shad-cn-ui/SolidLightbox.tsx +281 -0
  1066. package/dist/components/shad-cn-ui/SolidMessage.d.ts +10 -0
  1067. package/dist/components/shad-cn-ui/SolidMessage.d.ts.map +1 -0
  1068. package/dist/components/shad-cn-ui/SolidMessage.js +13 -0
  1069. package/dist/components/shad-cn-ui/SolidMessage.js.map +1 -0
  1070. package/dist/components/shad-cn-ui/SolidMessage.tsx +20 -0
  1071. package/dist/components/shad-cn-ui/SolidOtpInput.d.ts +12 -0
  1072. package/dist/components/shad-cn-ui/SolidOtpInput.d.ts.map +1 -0
  1073. package/dist/components/shad-cn-ui/SolidOtpInput.js +143 -0
  1074. package/dist/components/shad-cn-ui/SolidOtpInput.js.map +1 -0
  1075. package/dist/components/shad-cn-ui/SolidOtpInput.tsx +149 -0
  1076. package/dist/components/shad-cn-ui/SolidPanel.d.ts +11 -0
  1077. package/dist/components/shad-cn-ui/SolidPanel.d.ts.map +1 -0
  1078. package/dist/components/shad-cn-ui/SolidPanel.js +17 -0
  1079. package/dist/components/shad-cn-ui/SolidPanel.js.map +1 -0
  1080. package/dist/components/shad-cn-ui/SolidPanel.tsx +36 -0
  1081. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts +7 -0
  1082. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -0
  1083. package/dist/components/shad-cn-ui/SolidPasswordInput.js +39 -0
  1084. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -0
  1085. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +31 -0
  1086. package/dist/components/shad-cn-ui/SolidPopover.d.ts +19 -0
  1087. package/dist/components/shad-cn-ui/SolidPopover.d.ts.map +1 -0
  1088. package/dist/components/shad-cn-ui/SolidPopover.js +110 -0
  1089. package/dist/components/shad-cn-ui/SolidPopover.js.map +1 -0
  1090. package/dist/components/shad-cn-ui/SolidPopover.tsx +149 -0
  1091. package/dist/components/shad-cn-ui/SolidProgressBar.d.ts +10 -0
  1092. package/dist/components/shad-cn-ui/SolidProgressBar.d.ts.map +1 -0
  1093. package/dist/components/shad-cn-ui/SolidProgressBar.js +14 -0
  1094. package/dist/components/shad-cn-ui/SolidProgressBar.js.map +1 -0
  1095. package/dist/components/shad-cn-ui/SolidProgressBar.tsx +29 -0
  1096. package/dist/components/shad-cn-ui/SolidRadioGroup.d.ts +17 -0
  1097. package/dist/components/shad-cn-ui/SolidRadioGroup.d.ts.map +1 -0
  1098. package/dist/components/shad-cn-ui/SolidRadioGroup.js +13 -0
  1099. package/dist/components/shad-cn-ui/SolidRadioGroup.js.map +1 -0
  1100. package/dist/components/shad-cn-ui/SolidRadioGroup.tsx +50 -0
  1101. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts +17 -0
  1102. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -0
  1103. package/dist/components/shad-cn-ui/SolidRichTextEditor.js +109 -0
  1104. package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -0
  1105. package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +146 -0
  1106. package/dist/components/shad-cn-ui/SolidSegmentedControl.d.ts +17 -0
  1107. package/dist/components/shad-cn-ui/SolidSegmentedControl.d.ts.map +1 -0
  1108. package/dist/components/shad-cn-ui/SolidSegmentedControl.js +34 -0
  1109. package/dist/components/shad-cn-ui/SolidSegmentedControl.js.map +1 -0
  1110. package/dist/components/shad-cn-ui/SolidSegmentedControl.tsx +60 -0
  1111. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  1112. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  1113. package/dist/components/shad-cn-ui/SolidSelect.js +4 -3
  1114. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  1115. package/dist/components/shad-cn-ui/SolidSelect.tsx +5 -2
  1116. package/dist/components/shad-cn-ui/SolidSlider.d.ts +12 -0
  1117. package/dist/components/shad-cn-ui/SolidSlider.d.ts.map +1 -0
  1118. package/dist/components/shad-cn-ui/SolidSlider.js +13 -0
  1119. package/dist/components/shad-cn-ui/SolidSlider.js.map +1 -0
  1120. package/dist/components/shad-cn-ui/SolidSlider.tsx +30 -0
  1121. package/dist/components/shad-cn-ui/SolidSpinner.d.ts +8 -0
  1122. package/dist/components/shad-cn-ui/SolidSpinner.d.ts.map +1 -0
  1123. package/dist/components/shad-cn-ui/SolidSpinner.js +14 -0
  1124. package/dist/components/shad-cn-ui/SolidSpinner.js.map +1 -0
  1125. package/dist/components/shad-cn-ui/SolidSpinner.tsx +21 -0
  1126. package/dist/components/shad-cn-ui/SolidSwitch.d.ts +10 -0
  1127. package/dist/components/shad-cn-ui/SolidSwitch.d.ts.map +1 -0
  1128. package/dist/components/shad-cn-ui/SolidSwitch.js +18 -0
  1129. package/dist/components/shad-cn-ui/SolidSwitch.js.map +1 -0
  1130. package/dist/components/shad-cn-ui/SolidSwitch.tsx +34 -0
  1131. package/dist/components/shad-cn-ui/SolidTabs.d.ts +4 -1
  1132. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  1133. package/dist/components/shad-cn-ui/SolidTabs.js +6 -6
  1134. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  1135. package/dist/components/shad-cn-ui/SolidTabs.tsx +22 -4
  1136. package/dist/components/shad-cn-ui/SolidTag.d.ts +9 -0
  1137. package/dist/components/shad-cn-ui/SolidTag.d.ts.map +1 -0
  1138. package/dist/components/shad-cn-ui/SolidTag.js +13 -0
  1139. package/dist/components/shad-cn-ui/SolidTag.js.map +1 -0
  1140. package/dist/components/shad-cn-ui/SolidTag.tsx +15 -0
  1141. package/dist/components/shad-cn-ui/SolidTextarea.d.ts +5 -0
  1142. package/dist/components/shad-cn-ui/SolidTextarea.d.ts.map +1 -0
  1143. package/dist/components/shad-cn-ui/SolidTextarea.js +36 -0
  1144. package/dist/components/shad-cn-ui/SolidTextarea.js.map +1 -0
  1145. package/dist/components/shad-cn-ui/SolidTextarea.tsx +26 -0
  1146. package/dist/components/shad-cn-ui/SolidToast.d.ts +13 -0
  1147. package/dist/components/shad-cn-ui/SolidToast.d.ts.map +1 -0
  1148. package/dist/components/shad-cn-ui/SolidToast.js +34 -0
  1149. package/dist/components/shad-cn-ui/SolidToast.js.map +1 -0
  1150. package/dist/components/shad-cn-ui/SolidToast.tsx +55 -0
  1151. package/dist/components/shad-cn-ui/SolidTooltip.d.ts +22 -0
  1152. package/dist/components/shad-cn-ui/SolidTooltip.d.ts.map +1 -0
  1153. package/dist/components/shad-cn-ui/SolidTooltip.js +22 -0
  1154. package/dist/components/shad-cn-ui/SolidTooltip.js.map +1 -0
  1155. package/dist/components/shad-cn-ui/SolidTooltip.tsx +65 -0
  1156. package/dist/components/shad-cn-ui/index.d.ts +26 -0
  1157. package/dist/components/shad-cn-ui/index.d.ts.map +1 -1
  1158. package/dist/components/shad-cn-ui/index.js +26 -0
  1159. package/dist/components/shad-cn-ui/index.js.map +1 -1
  1160. package/dist/components/shad-cn-ui/index.ts +48 -0
  1161. package/dist/helpers/# no such endpoints exist, need to calle +3 -0
  1162. package/dist/helpers/mediaType.d.ts +3 -0
  1163. package/dist/helpers/mediaType.d.ts.map +1 -0
  1164. package/dist/helpers/mediaType.js +19 -0
  1165. package/dist/helpers/mediaType.js.map +1 -0
  1166. package/dist/helpers/mediaType.ts +23 -0
  1167. package/dist/helpers/registry.d.ts +3 -4
  1168. package/dist/helpers/registry.d.ts.map +1 -1
  1169. package/dist/helpers/registry.js +111 -90
  1170. package/dist/helpers/registry.js.map +1 -1
  1171. package/dist/helpers/registry.ts +126 -91
  1172. package/dist/helpers/routePaths.js +1 -1
  1173. package/dist/helpers/routePaths.js.map +1 -1
  1174. package/dist/helpers/routePaths.ts +1 -1
  1175. package/dist/hooks/useSolidAutocompleteField.d.ts +31 -0
  1176. package/dist/hooks/useSolidAutocompleteField.d.ts.map +1 -0
  1177. package/dist/hooks/useSolidAutocompleteField.js +116 -0
  1178. package/dist/hooks/useSolidAutocompleteField.js.map +1 -0
  1179. package/dist/hooks/useSolidAutocompleteField.ts +90 -0
  1180. package/dist/index.d.ts +18 -5
  1181. package/dist/index.d.ts.map +1 -1
  1182. package/dist/index.js +15 -5
  1183. package/dist/index.js.map +1 -1
  1184. package/dist/index.ts +95 -6
  1185. package/dist/redux/api/apiKeyApi.d.ts +47 -0
  1186. package/dist/redux/api/apiKeyApi.d.ts.map +1 -0
  1187. package/dist/redux/api/apiKeyApi.js +47 -0
  1188. package/dist/redux/api/apiKeyApi.js.map +1 -0
  1189. package/dist/redux/api/apiKeyApi.ts +69 -0
  1190. package/dist/redux/store/defaultStoreConfig.d.ts +51 -35
  1191. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  1192. package/dist/redux/store/defaultStoreConfig.js +32 -3
  1193. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  1194. package/dist/redux/store/defaultStoreConfig.ts +33 -33
  1195. package/dist/resources/globals.css +3231 -808
  1196. package/dist/resources/images/SolidXLogo-dark.svg +29 -0
  1197. package/dist/resources/images/SolidXLogo-light.svg +29 -0
  1198. package/dist/resources/shadcn-base.css +3040 -865
  1199. package/dist/resources/solid-responsive.css +42 -86
  1200. package/dist/resources/themes/solid-dark-purple/theme.css +15 -20
  1201. package/dist/resources/themes/solid-light-purple/theme.css +14 -19
  1202. package/dist/routes/AppEventListener.d.ts +1 -1
  1203. package/dist/routes/AppEventListener.d.ts.map +1 -1
  1204. package/dist/routes/AppEventListener.js +3 -1
  1205. package/dist/routes/AppEventListener.js.map +1 -1
  1206. package/dist/routes/AppEventListener.tsx +7 -1
  1207. package/dist/routes/guards/AuthGuard.d.ts +5 -1
  1208. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  1209. package/dist/routes/guards/AuthGuard.js +13 -2
  1210. package/dist/routes/guards/AuthGuard.js.map +1 -1
  1211. package/dist/routes/guards/AuthGuard.tsx +27 -3
  1212. package/dist/routes/guards/GuestGuard.d.ts +2 -0
  1213. package/dist/routes/guards/GuestGuard.d.ts.map +1 -0
  1214. package/dist/routes/guards/GuestGuard.js +18 -0
  1215. package/dist/routes/guards/GuestGuard.js.map +1 -0
  1216. package/dist/routes/guards/GuestGuard.tsx +20 -0
  1217. package/dist/routes/pages/admin/core/CardPage.d.ts +2 -0
  1218. package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -0
  1219. package/dist/routes/pages/admin/core/CardPage.js +22 -0
  1220. package/dist/routes/pages/admin/core/CardPage.js.map +1 -0
  1221. package/dist/routes/pages/admin/core/CardPage.tsx +10 -0
  1222. package/dist/routes/pages/auth/SsoPage.d.ts.map +1 -1
  1223. package/dist/routes/pages/auth/SsoPage.js +4 -5
  1224. package/dist/routes/pages/auth/SsoPage.js.map +1 -1
  1225. package/dist/routes/pages/auth/SsoPage.tsx +7 -15
  1226. package/dist/routes/pages/studio/StudioLandingPage.js +3 -3
  1227. package/dist/routes/pages/studio/StudioLandingPage.js.map +1 -1
  1228. package/dist/routes/pages/studio/StudioLandingPage.tsx +5 -5
  1229. package/dist/routes/solidRoutes.d.ts.map +1 -1
  1230. package/dist/routes/solidRoutes.js +18 -1
  1231. package/dist/routes/solidRoutes.js.map +1 -1
  1232. package/dist/routes/solidRoutes.tsx +19 -1
  1233. package/dist/routes/types.d.ts +1 -1
  1234. package/dist/routes/types.d.ts.map +1 -1
  1235. package/dist/routes/types.js.map +1 -1
  1236. package/dist/routes/types.ts +5 -1
  1237. package/dist/styles.d.ts +1 -0
  1238. package/dist/styles.d.ts.map +1 -1
  1239. package/dist/styles.js +1 -0
  1240. package/dist/styles.js.map +1 -1
  1241. package/dist/styles.ts +1 -0
  1242. package/dist/types/extension-registry.d.ts +28 -0
  1243. package/dist/types/extension-registry.d.ts.map +1 -0
  1244. package/dist/types/extension-registry.js +26 -0
  1245. package/dist/types/extension-registry.js.map +1 -0
  1246. package/dist/types/extension-registry.ts +32 -0
  1247. package/dist/types/external.d.ts +11 -0
  1248. package/dist/types/layout.d.ts +4 -2
  1249. package/dist/types/solid-core.d.ts +30 -27
  1250. package/package.json +10 -4
@@ -33,8 +33,18 @@ var SolidViewLayoutManager = /** @class */ (function () {
33
33
  value: void 0
34
34
  });
35
35
  // Create a deep copy to prevent modifying the original object
36
- this.layout = structuredClone ? structuredClone(layout) : JSON.parse(JSON.stringify(layout));
36
+ this.layout = this.clone(layout);
37
37
  }
38
+ Object.defineProperty(SolidViewLayoutManager.prototype, "clone", {
39
+ enumerable: false,
40
+ configurable: true,
41
+ writable: true,
42
+ value: function (value) {
43
+ return typeof structuredClone === "function"
44
+ ? structuredClone(value)
45
+ : JSON.parse(JSON.stringify(value));
46
+ }
47
+ });
38
48
  /**
39
49
  * Recursively finds a layout node by its `attrs.name`.
40
50
  * Searches children and formButtons.
@@ -120,6 +130,24 @@ var SolidViewLayoutManager = /** @class */ (function () {
120
130
  return parent.children.some(function (child) { return _this.removeNodeRecursive(child, name); });
121
131
  }
122
132
  });
133
+ Object.defineProperty(SolidViewLayoutManager.prototype, "insertNodeBeforeRecursive", {
134
+ enumerable: false,
135
+ configurable: true,
136
+ writable: true,
137
+ value: function (parent, targetName, newNode) {
138
+ var _this = this;
139
+ if (!parent.children || parent.children.length === 0)
140
+ return false;
141
+ var targetIndex = parent.children.findIndex(function (child) { return child.attrs.name === targetName; });
142
+ if (targetIndex !== -1) {
143
+ parent.children.splice(targetIndex, 0, this.clone(newNode));
144
+ return true;
145
+ }
146
+ return parent.children.some(function (child) {
147
+ return _this.insertNodeBeforeRecursive(child, targetName, newNode);
148
+ });
149
+ }
150
+ });
123
151
  /**
124
152
  * Returns the managed layout instance.
125
153
  *
@@ -155,6 +183,35 @@ var SolidViewLayoutManager = /** @class */ (function () {
155
183
  return false;
156
184
  }
157
185
  });
186
+ /**
187
+ * Checks whether a node exists by name.
188
+ *
189
+ * @param name - Node name
190
+ * @returns true if found
191
+ */
192
+ Object.defineProperty(SolidViewLayoutManager.prototype, "hasNode", {
193
+ enumerable: false,
194
+ configurable: true,
195
+ writable: true,
196
+ value: function (name) {
197
+ return !!this.findNode(this.layout, name);
198
+ }
199
+ });
200
+ /**
201
+ * Inserts a node before the first matching target node.
202
+ *
203
+ * @param targetName - Target node name
204
+ * @param newNode - Node to insert
205
+ * @returns true if insertion was successful
206
+ */
207
+ Object.defineProperty(SolidViewLayoutManager.prototype, "insertNodeBefore", {
208
+ enumerable: false,
209
+ configurable: true,
210
+ writable: true,
211
+ value: function (targetName, newNode) {
212
+ return this.insertNodeBeforeRecursive(this.layout, targetName, newNode);
213
+ }
214
+ });
158
215
  /**
159
216
  * Adds a child node to a parent node.
160
217
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SolidViewLayoutManager.js","sourceRoot":"","sources":["../../../../src/components/core/common/SolidViewLayoutManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { LayoutAttribute, LayoutNode } from \"../../../types/solid-core\";\n\n/**\n * SolidViewLayoutManager\n *\n * Central manager for mutating Solid View layout trees.\n * Provides low-level tree operations and domain-specific helpers\n * for view attributes, form buttons, and row buttons.\n */\nexport class SolidViewLayoutManager {\n /** Internal mutable layout copy */\n private layout: LayoutNode;\n\n /**\n * Creates a new layout manager instance.\n * A deep copy of the provided layout is created to avoid side effects.\n *\n * @param layout - Original layout definition\n */\n constructor(layout: LayoutNode) {\n // Create a deep copy to prevent modifying the original object\n this.layout = structuredClone ? structuredClone(layout) : JSON.parse(JSON.stringify(layout));\n }\n\n /**\n * Recursively finds a layout node by its `attrs.name`.\n * Searches children and formButtons.\n *\n * @param node - Node to start searching from\n * @param name - Name of the node to find\n * @returns The matching LayoutNode or null\n */\n private findNode(node: LayoutNode, name: string): LayoutNode | null {\n if (node.attrs.name === name) {\n return node;\n }\n\n if (node.children) {\n for (let child of node.children) {\n const found = this.findNode(child, name);\n if (found) return found;\n }\n }\n\n // search in formButtons\n if (node.attrs?.formButtons) {\n for (const btn of node.attrs.formButtons) {\n const found = this.findNode(btn, name);\n if (found) return found;\n }\n }\n\n return null;\n }\n\n private findNodes(node: LayoutNode, name: string): LayoutNode[] {\n const nodes: LayoutNode[] = [];\n if (node.attrs.name === name) {\n nodes.push(node);\n }\n if (node.children) {\n for (let child of node.children) {\n nodes.push(...this.findNodes(child, name));\n }\n }\n if (node.attrs?.formButtons) {\n for (const btn of node.attrs.formButtons) {\n nodes.push(...this.findNodes(btn, name));\n }\n }\n return nodes;\n }\n\n /**\n * Recursively removes a node from the layout tree.\n *\n * @param parent - Parent node to search within\n * @param name - Name of the node to remove\n * @returns true if the node was removed\n */\n private removeNodeRecursive(parent: LayoutNode, name: string): boolean {\n if (!parent.children) return false;\n\n const index = parent.children.findIndex((child) => child.attrs.name === name);\n if (index !== -1) {\n parent.children.splice(index, 1); // Remove the node\n return true;\n }\n\n return parent.children.some((child) => this.removeNodeRecursive(child, name));\n }\n\n\n /**\n * Returns the managed layout instance.\n *\n * @returns Current layout tree\n */\n getLayout(): LayoutNode {\n // return structuredClone ? structuredClone(this.layout) : JSON.parse(JSON.stringify(this.layout));\n return this.layout;\n }\n\n /**\n * Updates attributes of a specific node.\n * This method adds or overrides attributes.\n *\n * @param name - Node name\n * @param newAttributes - Attributes to merge\n * @returns true if node was found and updated\n */\n updateNodeAttributes(name: string, newAttributes: Partial<LayoutAttribute>): boolean {\n const node = this.findNode(this.layout, name);\n if (node) {\n node.attrs = { ...node.attrs, ...newAttributes };\n return true;\n }\n return false;\n }\n\n /**\n * Adds a child node to a parent node.\n *\n * @param parentName - Name of the parent node\n * @param newNode - Child layout node to add\n * @param addChildrenToAll - If true, adds the child node to all nodes with the given parent name\n * @returns true if parent exists and child was added\n */\n addChildNode(parentName: string, newNode: LayoutNode, addChildrenToAll: boolean = false): boolean {\n console.log(`timepass....`);\n \n if (addChildrenToAll) {\n const parentNodes = this.findNodes(this.layout, parentName);\n parentNodes.forEach((node) => {\n if (!node.children) {\n node.children = [];\n }\n node.children.push(newNode);\n });\n return true;\n }\n else {\n const parentNode = this.findNode(this.layout, parentName);\n if (parentNode) {\n if (!parentNode.children) {\n parentNode.children = [];\n }\n parentNode.children.push(newNode);\n return true;\n }\n return false;\n }\n }\n\n\n /**\n * Removes a node and its subtree.\n * Root node removal is prevented.\n *\n * @param name - Name of the node to remove\n * @returns true if node was removed\n */\n removeNode(name: string): boolean {\n if (this.layout.attrs.name === name) {\n console.warn(ERROR_MESSAGES.REMOVE_ROOT_NODE);\n return false;\n }\n\n return this.removeNodeRecursive(this.layout, name);\n }\n\n /**\n * Traverses the entire layout tree and executes a callback for each node.\n *\n * @param callback - Function executed for each node\n * @param node - Starting node (defaults to root)\n */\n traverse(callback: (node: LayoutNode) => void, node: LayoutNode = this.layout) {\n callback(node);\n if (node.children) {\n node.children.forEach((child) => this.traverse(callback, child));\n }\n }\n\n\n\n /**\n * Adds or updates view-level attributes.\n * Existing attributes are updated, missing attributes are added.\n *\n * @param attrs - Attributes to set on the view\n * @returns true if at least one attribute was applied\n */\n setViewAttributes(attrs: Partial<LayoutAttribute>): boolean {\n const viewNode = this.findNode(this.layout, this.layout.attrs.name);\n if (!viewNode) return false;\n\n let changed = false;\n\n for (const key of Object.keys(attrs) as (keyof LayoutAttribute)[]) {\n const newValue = attrs[key];\n\n if (viewNode.attrs[key] !== newValue) {\n viewNode.attrs[key] = newValue;\n changed = true;\n }\n }\n\n return changed;\n }\n\n\n\n /**\n * Adds view-level attributes only if they do not already exist.\n *\n * @param attrs - Attributes to add\n * @returns true if at least one attribute was added\n */\n addViewAttributes(attrs: Partial<LayoutAttribute>): boolean {\n const viewNode = this.findNode(this.layout, this.layout.attrs.name);\n if (!viewNode) return false;\n\n let added = false;\n\n for (const key in attrs) {\n if (!(key in viewNode.attrs)) {\n // @ts-ignore – layout attributes are dynamic\n viewNode.attrs[key] = attrs[key];\n added = true;\n }\n }\n\n return added;\n }\n\n /**\n * Updates existing view-level attributes.\n * Attributes that do not exist are ignored.\n *\n * @param attrs - Attributes to update\n * @returns true if at least one attribute was updated\n */\n updateViewAttributes(attrs: Partial<LayoutAttribute>): boolean {\n const viewNode = this.findNode(this.layout, this.layout.attrs.name);\n if (!viewNode) return false;\n\n let updated = false;\n\n for (const key in attrs) {\n if (key in viewNode.attrs) {\n // @ts-ignore\n viewNode.attrs[key] = attrs[key];\n updated = true;\n }\n }\n\n return updated;\n }\n\n\n /**\n * Removes specific view-level attributes.\n *\n * @param keys - Attribute keys to remove\n * @returns true if at least one attribute was removed\n */\n removeViewAttributes(keys: (keyof LayoutAttribute)[]): boolean {\n const viewNode = this.findNode(this.layout, this.layout.attrs.name);\n if (!viewNode) return false;\n\n let removed = false;\n\n for (const key of keys) {\n if (key in viewNode.attrs) {\n // @ts-ignore\n delete viewNode.attrs[key];\n removed = true;\n }\n }\n\n return removed;\n }\n\n /**\n * Adds a new form-level button.\n *\n * @param button - Button layout node\n */\n addFormButton(button: LayoutNode): void {\n this.layout.attrs.formButtons ??= [];\n this.layout.attrs.formButtons.push(button);\n }\n\n /**\n * Updates a form button identified by its action.\n *\n * @param action - Button action identifier\n * @param attrs - Attributes to update\n * @returns true if button was found and updated\n */\n updateFormButtonByAction(\n action: string,\n attrs: Partial<LayoutAttribute>\n ): boolean {\n const button = this.layout.attrs.formButtons?.find(\n (b: any) => b.attrs.action === action\n );\n\n if (!button) return false;\n\n button.attrs = { ...button.attrs, ...attrs };\n return true;\n }\n\n /**\n * Removes a form button by its action.\n *\n * @param action - Button action identifier\n * @returns true if button was removed\n */\n removeFormButtonByAction(action: string): boolean {\n if (!this.layout.attrs.formButtons) return false;\n\n const initialLength = this.layout.attrs.formButtons.length;\n\n this.layout.attrs.formButtons = this.layout.attrs.formButtons.filter(\n (b: any) => b.attrs.action !== action\n );\n\n return this.layout.attrs.formButtons.length !== initialLength;\n }\n\n /**\n * Disables a form-level button.\n *\n * @param action - Button action identifier\n * @returns true if button was disabled\n */\n disableFormButton(action: string): boolean {\n return this.updateFormButtonByAction(action, { disabled: true });\n }\n\n\n /**\n * Hides a form-level button.\n *\n * @param action - Button action identifier\n * @returns true if button was hidden\n */\n hideFormButton(action: string): boolean {\n return this.updateFormButtonByAction(action, { visible: false });\n }\n\n\n /**\n * Adds a row-level button to a field.\n *\n * @param fieldName - Target field name\n * @param button - Button definition\n * @returns true if field exists and button was added\n */\n addRowButtonToField(fieldName: string, button: LayoutNode): boolean {\n const fieldNode = this.findNode(this.layout, fieldName);\n if (!fieldNode) return false;\n\n fieldNode.attrs.rowButtons ??= [];\n fieldNode.attrs.rowButtons.push(button);\n return true;\n }\n\n /**\n * Updates a row-level button for a field.\n *\n * @param fieldName - Field name\n * @param action - Button action identifier\n * @param attrs - Attributes to update\n * @returns true if button was updated\n */\n updateRowButtonByAction(\n fieldName: string,\n action: string,\n attrs: Partial<LayoutAttribute>\n ): boolean {\n const fieldNode = this.findNode(this.layout, fieldName);\n if (!fieldNode?.attrs?.rowButtons) return false;\n\n const button = fieldNode.attrs.rowButtons.find(\n (b: any) => b.action === action\n );\n\n if (!button) return false;\n\n Object.assign(button, attrs);\n return true;\n }\n\n\n /**\n * Removes a row-level button from a field.\n *\n * @param fieldName - Field name\n * @param action - Button action identifier\n * @returns true if button was removed\n */\n removeRowButtonByAction(fieldName: string, action: string): boolean {\n const fieldNode = this.findNode(this.layout, fieldName);\n if (!fieldNode?.attrs?.rowButtons) return false;\n\n const initialLength = fieldNode.attrs.rowButtons.length;\n\n fieldNode.attrs.rowButtons = fieldNode.attrs.rowButtons.filter(\n (b: any) => b.action !== action\n );\n\n return fieldNode.attrs.rowButtons.length !== initialLength;\n }\n\n\n}"]}
1
+ {"version":3,"file":"SolidViewLayoutManager.js","sourceRoot":"","sources":["../../../../src/components/core/common/SolidViewLayoutManager.ts"],"names":[],"mappings":"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","sourcesContent":["import { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { LayoutAttribute, LayoutNode } from \"../../../types/solid-core\";\n\n/**\n * SolidViewLayoutManager\n *\n * Central manager for mutating Solid View layout trees.\n * Provides low-level tree operations and domain-specific helpers\n * for view attributes, form buttons, and row buttons.\n */\nexport class SolidViewLayoutManager {\n /** Internal mutable layout copy */\n private layout: LayoutNode;\n\n private clone<T>(value: T): T {\n return typeof structuredClone === \"function\"\n ? structuredClone(value)\n : JSON.parse(JSON.stringify(value));\n }\n\n /**\n * Creates a new layout manager instance.\n * A deep copy of the provided layout is created to avoid side effects.\n *\n * @param layout - Original layout definition\n */\n constructor(layout: LayoutNode) {\n // Create a deep copy to prevent modifying the original object\n this.layout = this.clone(layout);\n }\n\n /**\n * Recursively finds a layout node by its `attrs.name`.\n * Searches children and formButtons.\n *\n * @param node - Node to start searching from\n * @param name - Name of the node to find\n * @returns The matching LayoutNode or null\n */\n private findNode(node: LayoutNode, name: string): LayoutNode | null {\n if (node.attrs.name === name) {\n return node;\n }\n\n if (node.children) {\n for (let child of node.children) {\n const found = this.findNode(child, name);\n if (found) return found;\n }\n }\n\n // search in formButtons\n if (node.attrs?.formButtons) {\n for (const btn of node.attrs.formButtons) {\n const found = this.findNode(btn, name);\n if (found) return found;\n }\n }\n\n return null;\n }\n\n private findNodes(node: LayoutNode, name: string): LayoutNode[] {\n const nodes: LayoutNode[] = [];\n if (node.attrs.name === name) {\n nodes.push(node);\n }\n if (node.children) {\n for (let child of node.children) {\n nodes.push(...this.findNodes(child, name));\n }\n }\n if (node.attrs?.formButtons) {\n for (const btn of node.attrs.formButtons) {\n nodes.push(...this.findNodes(btn, name));\n }\n }\n return nodes;\n }\n\n /**\n * Recursively removes a node from the layout tree.\n *\n * @param parent - Parent node to search within\n * @param name - Name of the node to remove\n * @returns true if the node was removed\n */\n private removeNodeRecursive(parent: LayoutNode, name: string): boolean {\n if (!parent.children) return false;\n\n const index = parent.children.findIndex((child) => child.attrs.name === name);\n if (index !== -1) {\n parent.children.splice(index, 1); // Remove the node\n return true;\n }\n\n return parent.children.some((child) => this.removeNodeRecursive(child, name));\n }\n\n private insertNodeBeforeRecursive(parent: LayoutNode, targetName: string, newNode: LayoutNode): boolean {\n if (!parent.children || parent.children.length === 0) return false;\n\n const targetIndex = parent.children.findIndex((child) => child.attrs.name === targetName);\n if (targetIndex !== -1) {\n parent.children.splice(targetIndex, 0, this.clone(newNode));\n return true;\n }\n\n return parent.children.some((child) =>\n this.insertNodeBeforeRecursive(child, targetName, newNode)\n );\n }\n\n\n /**\n * Returns the managed layout instance.\n *\n * @returns Current layout tree\n */\n getLayout(): LayoutNode {\n // return structuredClone ? structuredClone(this.layout) : JSON.parse(JSON.stringify(this.layout));\n return this.layout;\n }\n\n /**\n * Updates attributes of a specific node.\n * This method adds or overrides attributes.\n *\n * @param name - Node name\n * @param newAttributes - Attributes to merge\n * @returns true if node was found and updated\n */\n updateNodeAttributes(name: string, newAttributes: Partial<LayoutAttribute>): boolean {\n const node = this.findNode(this.layout, name);\n if (node) {\n node.attrs = { ...node.attrs, ...newAttributes };\n return true;\n }\n return false;\n }\n\n /**\n * Checks whether a node exists by name.\n *\n * @param name - Node name\n * @returns true if found\n */\n hasNode(name: string): boolean {\n return !!this.findNode(this.layout, name);\n }\n\n /**\n * Inserts a node before the first matching target node.\n *\n * @param targetName - Target node name\n * @param newNode - Node to insert\n * @returns true if insertion was successful\n */\n insertNodeBefore(targetName: string, newNode: LayoutNode): boolean {\n return this.insertNodeBeforeRecursive(this.layout, targetName, newNode);\n }\n\n /**\n * Adds a child node to a parent node.\n *\n * @param parentName - Name of the parent node\n * @param newNode - Child layout node to add\n * @param addChildrenToAll - If true, adds the child node to all nodes with the given parent name\n * @returns true if parent exists and child was added\n */\n addChildNode(parentName: string, newNode: LayoutNode, addChildrenToAll: boolean = false): boolean {\n console.log(`timepass....`);\n \n if (addChildrenToAll) {\n const parentNodes = this.findNodes(this.layout, parentName);\n parentNodes.forEach((node) => {\n if (!node.children) {\n node.children = [];\n }\n node.children.push(newNode);\n });\n return true;\n }\n else {\n const parentNode = this.findNode(this.layout, parentName);\n if (parentNode) {\n if (!parentNode.children) {\n parentNode.children = [];\n }\n parentNode.children.push(newNode);\n return true;\n }\n return false;\n }\n }\n\n\n /**\n * Removes a node and its subtree.\n * Root node removal is prevented.\n *\n * @param name - Name of the node to remove\n * @returns true if node was removed\n */\n removeNode(name: string): boolean {\n if (this.layout.attrs.name === name) {\n console.warn(ERROR_MESSAGES.REMOVE_ROOT_NODE);\n return false;\n }\n\n return this.removeNodeRecursive(this.layout, name);\n }\n\n /**\n * Traverses the entire layout tree and executes a callback for each node.\n *\n * @param callback - Function executed for each node\n * @param node - Starting node (defaults to root)\n */\n traverse(callback: (node: LayoutNode) => void, node: LayoutNode = this.layout) {\n callback(node);\n if (node.children) {\n node.children.forEach((child) => this.traverse(callback, child));\n }\n }\n\n\n\n /**\n * Adds or updates view-level attributes.\n * Existing attributes are updated, missing attributes are added.\n *\n * @param attrs - Attributes to set on the view\n * @returns true if at least one attribute was applied\n */\n setViewAttributes(attrs: Partial<LayoutAttribute>): boolean {\n const viewNode = this.findNode(this.layout, this.layout.attrs.name);\n if (!viewNode) return false;\n\n let changed = false;\n\n for (const key of Object.keys(attrs) as (keyof LayoutAttribute)[]) {\n const newValue = attrs[key];\n\n if (viewNode.attrs[key] !== newValue) {\n viewNode.attrs[key] = newValue;\n changed = true;\n }\n }\n\n return changed;\n }\n\n\n\n /**\n * Adds view-level attributes only if they do not already exist.\n *\n * @param attrs - Attributes to add\n * @returns true if at least one attribute was added\n */\n addViewAttributes(attrs: Partial<LayoutAttribute>): boolean {\n const viewNode = this.findNode(this.layout, this.layout.attrs.name);\n if (!viewNode) return false;\n\n let added = false;\n\n for (const key in attrs) {\n if (!(key in viewNode.attrs)) {\n // @ts-ignore – layout attributes are dynamic\n viewNode.attrs[key] = attrs[key];\n added = true;\n }\n }\n\n return added;\n }\n\n /**\n * Updates existing view-level attributes.\n * Attributes that do not exist are ignored.\n *\n * @param attrs - Attributes to update\n * @returns true if at least one attribute was updated\n */\n updateViewAttributes(attrs: Partial<LayoutAttribute>): boolean {\n const viewNode = this.findNode(this.layout, this.layout.attrs.name);\n if (!viewNode) return false;\n\n let updated = false;\n\n for (const key in attrs) {\n if (key in viewNode.attrs) {\n // @ts-ignore\n viewNode.attrs[key] = attrs[key];\n updated = true;\n }\n }\n\n return updated;\n }\n\n\n /**\n * Removes specific view-level attributes.\n *\n * @param keys - Attribute keys to remove\n * @returns true if at least one attribute was removed\n */\n removeViewAttributes(keys: (keyof LayoutAttribute)[]): boolean {\n const viewNode = this.findNode(this.layout, this.layout.attrs.name);\n if (!viewNode) return false;\n\n let removed = false;\n\n for (const key of keys) {\n if (key in viewNode.attrs) {\n // @ts-ignore\n delete viewNode.attrs[key];\n removed = true;\n }\n }\n\n return removed;\n }\n\n /**\n * Adds a new form-level button.\n *\n * @param button - Button layout node\n */\n addFormButton(button: LayoutNode): void {\n this.layout.attrs.formButtons ??= [];\n this.layout.attrs.formButtons.push(button);\n }\n\n /**\n * Updates a form button identified by its action.\n *\n * @param action - Button action identifier\n * @param attrs - Attributes to update\n * @returns true if button was found and updated\n */\n updateFormButtonByAction(\n action: string,\n attrs: Partial<LayoutAttribute>\n ): boolean {\n const button = this.layout.attrs.formButtons?.find(\n (b: any) => b.attrs.action === action\n );\n\n if (!button) return false;\n\n button.attrs = { ...button.attrs, ...attrs };\n return true;\n }\n\n /**\n * Removes a form button by its action.\n *\n * @param action - Button action identifier\n * @returns true if button was removed\n */\n removeFormButtonByAction(action: string): boolean {\n if (!this.layout.attrs.formButtons) return false;\n\n const initialLength = this.layout.attrs.formButtons.length;\n\n this.layout.attrs.formButtons = this.layout.attrs.formButtons.filter(\n (b: any) => b.attrs.action !== action\n );\n\n return this.layout.attrs.formButtons.length !== initialLength;\n }\n\n /**\n * Disables a form-level button.\n *\n * @param action - Button action identifier\n * @returns true if button was disabled\n */\n disableFormButton(action: string): boolean {\n return this.updateFormButtonByAction(action, { disabled: true });\n }\n\n\n /**\n * Hides a form-level button.\n *\n * @param action - Button action identifier\n * @returns true if button was hidden\n */\n hideFormButton(action: string): boolean {\n return this.updateFormButtonByAction(action, { visible: false });\n }\n\n\n /**\n * Adds a row-level button to a field.\n *\n * @param fieldName - Target field name\n * @param button - Button definition\n * @returns true if field exists and button was added\n */\n addRowButtonToField(fieldName: string, button: LayoutNode): boolean {\n const fieldNode = this.findNode(this.layout, fieldName);\n if (!fieldNode) return false;\n\n fieldNode.attrs.rowButtons ??= [];\n fieldNode.attrs.rowButtons.push(button);\n return true;\n }\n\n /**\n * Updates a row-level button for a field.\n *\n * @param fieldName - Field name\n * @param action - Button action identifier\n * @param attrs - Attributes to update\n * @returns true if button was updated\n */\n updateRowButtonByAction(\n fieldName: string,\n action: string,\n attrs: Partial<LayoutAttribute>\n ): boolean {\n const fieldNode = this.findNode(this.layout, fieldName);\n if (!fieldNode?.attrs?.rowButtons) return false;\n\n const button = fieldNode.attrs.rowButtons.find(\n (b: any) => b.action === action\n );\n\n if (!button) return false;\n\n Object.assign(button, attrs);\n return true;\n }\n\n\n /**\n * Removes a row-level button from a field.\n *\n * @param fieldName - Field name\n * @param action - Button action identifier\n * @returns true if button was removed\n */\n removeRowButtonByAction(fieldName: string, action: string): boolean {\n const fieldNode = this.findNode(this.layout, fieldName);\n if (!fieldNode?.attrs?.rowButtons) return false;\n\n const initialLength = fieldNode.attrs.rowButtons.length;\n\n fieldNode.attrs.rowButtons = fieldNode.attrs.rowButtons.filter(\n (b: any) => b.action !== action\n );\n\n return fieldNode.attrs.rowButtons.length !== initialLength;\n }\n\n\n}\n"]}
@@ -12,6 +12,12 @@ export class SolidViewLayoutManager {
12
12
  /** Internal mutable layout copy */
13
13
  private layout: LayoutNode;
14
14
 
15
+ private clone<T>(value: T): T {
16
+ return typeof structuredClone === "function"
17
+ ? structuredClone(value)
18
+ : JSON.parse(JSON.stringify(value));
19
+ }
20
+
15
21
  /**
16
22
  * Creates a new layout manager instance.
17
23
  * A deep copy of the provided layout is created to avoid side effects.
@@ -20,7 +26,7 @@ export class SolidViewLayoutManager {
20
26
  */
21
27
  constructor(layout: LayoutNode) {
22
28
  // Create a deep copy to prevent modifying the original object
23
- this.layout = structuredClone ? structuredClone(layout) : JSON.parse(JSON.stringify(layout));
29
+ this.layout = this.clone(layout);
24
30
  }
25
31
 
26
32
  /**
@@ -91,6 +97,20 @@ export class SolidViewLayoutManager {
91
97
  return parent.children.some((child) => this.removeNodeRecursive(child, name));
92
98
  }
93
99
 
100
+ private insertNodeBeforeRecursive(parent: LayoutNode, targetName: string, newNode: LayoutNode): boolean {
101
+ if (!parent.children || parent.children.length === 0) return false;
102
+
103
+ const targetIndex = parent.children.findIndex((child) => child.attrs.name === targetName);
104
+ if (targetIndex !== -1) {
105
+ parent.children.splice(targetIndex, 0, this.clone(newNode));
106
+ return true;
107
+ }
108
+
109
+ return parent.children.some((child) =>
110
+ this.insertNodeBeforeRecursive(child, targetName, newNode)
111
+ );
112
+ }
113
+
94
114
 
95
115
  /**
96
116
  * Returns the managed layout instance.
@@ -119,6 +139,27 @@ export class SolidViewLayoutManager {
119
139
  return false;
120
140
  }
121
141
 
142
+ /**
143
+ * Checks whether a node exists by name.
144
+ *
145
+ * @param name - Node name
146
+ * @returns true if found
147
+ */
148
+ hasNode(name: string): boolean {
149
+ return !!this.findNode(this.layout, name);
150
+ }
151
+
152
+ /**
153
+ * Inserts a node before the first matching target node.
154
+ *
155
+ * @param targetName - Target node name
156
+ * @param newNode - Node to insert
157
+ * @returns true if insertion was successful
158
+ */
159
+ insertNodeBefore(targetName: string, newNode: LayoutNode): boolean {
160
+ return this.insertNodeBeforeRecursive(this.layout, targetName, newNode);
161
+ }
162
+
122
163
  /**
123
164
  * Adds a child node to a parent node.
124
165
  *
@@ -418,4 +459,4 @@ export class SolidViewLayoutManager {
418
459
  }
419
460
 
420
461
 
421
- }
462
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/core/dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAK3D,UAAU,oBAAoB;IAC1B,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;IAC9C,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAqKD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4K1D,CAAC"}
1
+ {"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/core/dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAI3D,UAAU,oBAAoB;IAC1B,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;IAC9C,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAoKD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA0K1D,CAAC"}
@@ -56,14 +56,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
56
56
  };
57
57
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
58
58
  import { useState, useEffect } from "react";
59
- import { Button } from "primereact/button";
60
- import { Dialog } from "primereact/dialog";
61
- import { Dropdown } from "primereact/dropdown";
62
- import { Calendar } from "primereact/calendar";
63
- import { AutoComplete } from "primereact/autocomplete";
59
+ import { SolidAutocomplete, SolidButton, SolidDatePicker, SolidDialog, SolidDivider, SolidSelect } from "../../shad-cn-ui";
64
60
  import { useLazyGetDashboardVariableSelectionDynamicValuesQuery } from "../../../redux/api/dashboardApi";
65
- import { Divider } from "primereact/divider";
66
- import { Fieldset } from "primereact/fieldset";
67
61
  var getNumberOfInputs = function (matchMode) {
68
62
  switch (matchMode) {
69
63
  case '$between': return 2;
@@ -135,10 +129,10 @@ var FilterValueInput = function (_a) {
135
129
  var dateVal = val ? new Date(val) : null;
136
130
  if (isNaN((dateVal === null || dateVal === void 0 ? void 0 : dateVal.getTime()) || 0))
137
131
  dateVal = null;
138
- return (_jsx(Calendar, { value: dateVal, onChange: function (e) {
139
- var dateStr = e.value ? e.value.toISOString().split('T')[0] : '';
132
+ return (_jsx(SolidDatePicker, { selected: dateVal || undefined, onChange: function (nextDate) {
133
+ var dateStr = nextDate ? nextDate.toISOString().split('T')[0] : '';
140
134
  updateValue(index, dateStr);
141
- }, dateFormat: "mm/dd/yy", placeholder: "mm/dd/yyyy", mask: "99/99/9999", className: "w-full", inputClassName: "w-full p-inputtext-sm" }));
135
+ }, dateFormat: "MM/dd/yyyy", placeholderText: "mm/dd/yyyy", className: "w-full", inputClassName: "w-full text-sm" }));
142
136
  };
143
137
  var SelectionStaticInput = function (_a) {
144
138
  var val = _a.val, index = _a.index, updateValue = _a.updateValue, dv = _a.dv;
@@ -152,7 +146,7 @@ var FilterValueInput = function (_a) {
152
146
  });
153
147
  setFilteredItems(filtered);
154
148
  };
155
- return (_jsx(AutoComplete, { value: val, suggestions: filteredItems, completeMethod: search, onChange: function (e) { return updateValue(index, e.value); }, field: "label", dropdown: true, className: "w-full", inputClassName: "w-full p-inputtext-sm" }));
149
+ return (_jsx(SolidAutocomplete, { value: val, suggestions: filteredItems, completeMethod: search, onChange: function (e) { return updateValue(index, e.value); }, field: "label", dropdown: true, className: "w-full", inputClassName: "w-full text-sm" }));
156
150
  };
157
151
  var SelectionDynamicInput = function (_a) {
158
152
  var val = _a.val, index = _a.index, updateValue = _a.updateValue, dv = _a.dv;
@@ -183,11 +177,11 @@ var FilterValueInput = function (_a) {
183
177
  }
184
178
  });
185
179
  }); };
186
- return (_jsx(AutoComplete, { value: val, suggestions: filteredItems, completeMethod: search, onChange: function (e) { return updateValue(index, e.value); }, field: "label", dropdown: true, className: "w-full", inputClassName: "w-full p-inputtext-sm" }));
180
+ return (_jsx(SolidAutocomplete, { value: val, suggestions: filteredItems, completeMethod: search, onChange: function (e) { return updateValue(index, e.value); }, field: "label", dropdown: true, className: "w-full", inputClassName: "w-full text-sm" }));
187
181
  };
188
182
  if (numberOfInputs === 0)
189
183
  return _jsx(_Fragment, {});
190
- return (_jsx("div", { className: "flex flex-column gap-2", children: values.map(function (val, index) { return (_jsxs("div", { className: "flex gap-2", children: [_jsxs("div", { className: "flex-grow-1", children: [rule.variable.variableType === 'date' && renderDate(val, index), rule.variable.variableType === 'selectionStatic' && _jsx(SelectionStaticInput, { val: val, index: index, updateValue: updateValue, dv: rule.variable }), rule.variable.variableType === 'selectionDynamic' && _jsx(SelectionDynamicInput, { val: val, index: index, updateValue: updateValue, dv: rule.variable })] }), numberOfInputs === null && (_jsxs("div", { className: "flex align-items-center", children: [_jsx(Button, { type: "button", text: true, severity: 'secondary', icon: "pi pi-plus", size: 'small', onClick: addInput, className: 'p-0 mr-2 target-btn', style: { width: 30, minWidth: 30 } }), _jsx(Button, { type: "button", text: true, severity: 'secondary', icon: "pi pi-trash", size: 'small', onClick: function () { return deleteInput(index); }, className: 'p-0 target-btn', style: { width: 30, minWidth: 30 }, disabled: values.length <= 1 })] }))] }, index)); }) }));
184
+ return (_jsx("div", { className: "flex flex-column gap-2", children: values.map(function (val, index) { return (_jsxs("div", { className: "flex gap-2", children: [_jsxs("div", { className: "flex-grow-1", children: [rule.variable.variableType === 'date' && renderDate(val, index), rule.variable.variableType === 'selectionStatic' && _jsx(SelectionStaticInput, { val: val, index: index, updateValue: updateValue, dv: rule.variable }), rule.variable.variableType === 'selectionDynamic' && _jsx(SelectionDynamicInput, { val: val, index: index, updateValue: updateValue, dv: rule.variable })] }), numberOfInputs === null && (_jsxs("div", { className: "flex align-items-center", children: [_jsx(SolidButton, { type: "button", text: true, severity: 'secondary', icon: "si si-plus", size: 'sm', onClick: addInput, className: 'p-0 mr-2 target-btn', style: { width: 30, minWidth: 30 } }), _jsx(SolidButton, { type: "button", text: true, severity: 'secondary', icon: "si si-trash", size: 'sm', onClick: function () { return deleteInput(index); }, className: 'p-0 target-btn', style: { width: 30, minWidth: 30 }, disabled: values.length <= 1 })] }))] }, index)); }) }));
191
185
  };
192
186
  export var DashboardFilter = function (_a) {
193
187
  var dashboardVariables = _a.dashboardVariables, initialFilters = _a.initialFilters, onApply = _a.onApply, visible = _a.visible, onHide = _a.onHide;
@@ -300,6 +294,6 @@ export var DashboardFilter = function (_a) {
300
294
  onApply([]);
301
295
  onHide();
302
296
  };
303
- return (_jsxs(Dialog, { header: false, className: "solid-global-search-filter", showHeader: false, visible: visible, style: { width: '50vw' }, breakpoints: { '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }, onHide: onHide, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Add Dashboard Filter" }), _jsx(Button, { icon: "pi pi-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "small", onClick: onHide })] }), _jsx(Divider, { className: "m-0" }), _jsxs("div", { className: "p-2 lg:p-2", children: [_jsx(Fieldset, { className: 'primary-filter-fieldset', children: _jsxs("div", { className: "flex flex-column gap-3 py-3", children: [rules.map(function (rule) { return (_jsxs("div", { className: "grid grid-nogutter align-items-start", children: [_jsx("div", { className: "col-12 md:col-4 pr-2", children: _jsx("div", { className: "p-inputtext p-disabled w-full flex align-items-center mb-2 md:mb-0", style: { minHeight: '38px' }, children: rule.fieldName }) }), _jsx("div", { className: "col-12 md:col-4 pr-2", children: _jsx(Dropdown, { value: rule.matchMode, onChange: function (e) { return handleChange(rule.id, 'matchMode', e.value); }, options: rule.variable.variableType === 'date' ? dateFilterMatchModeOptions : selectionFilterMatchModeOptions, optionLabel: 'label', optionValue: 'value', placeholder: "Select Operator", className: "p-inputtext-sm w-full" }) }), _jsx("div", { className: "col-12 md:col-4", children: _jsx(FilterValueInput, { rule: rule, onChange: handleChange }) })] }, rule.id)); }), rules.length === 0 && (_jsx("div", { className: "text-color-secondary italic", children: "No variables available for this dashboard." }))] }) }), _jsxs("div", { className: 'flex gap-3 mt-3', children: [_jsx(Button, { label: "Apply", size: "small", onClick: handleApply, autoFocus: true }), _jsx(Button, { type: 'button', label: 'Cancel', outlined: true, size: 'small', onClick: onHide })] })] })] }));
297
+ return (_jsxs(SolidDialog, { showHeader: false, visible: visible, className: "solid-global-search-filter solid-dialog-lg", onHide: onHide, children: [_jsxs("div", { className: "flex align-items-center justify-content-between px-3", children: [_jsx("h5", { className: "solid-custom-title m-0", children: "Add Dashboard Filter" }), _jsx(SolidButton, { icon: "si si-times", rounded: true, text: true, "aria-label": "Cancel", type: "reset", size: "sm", onClick: onHide })] }), _jsx(SolidDivider, { className: "m-0" }), _jsxs("div", { className: "p-2 lg:p-2", children: [_jsx("div", { className: 'primary-filter-fieldset', children: _jsxs("div", { className: "flex flex-column gap-3 py-3", children: [rules.map(function (rule) { return (_jsxs("div", { className: "grid grid-nogutter align-items-start", children: [_jsx("div", { className: "col-12 md:col-4 pr-2", children: _jsx("div", { className: "p-inputtext p-disabled w-full flex align-items-center mb-2 md:mb-0", style: { minHeight: '38px' }, children: rule.fieldName }) }), _jsx("div", { className: "col-12 md:col-4 pr-2", children: _jsx(SolidSelect, { value: rule.matchMode, onChange: function (e) { return handleChange(rule.id, 'matchMode', e.value); }, options: rule.variable.variableType === 'date' ? dateFilterMatchModeOptions : selectionFilterMatchModeOptions, placeholder: "Select Operator", className: "w-full" }) }), _jsx("div", { className: "col-12 md:col-4", children: _jsx(FilterValueInput, { rule: rule, onChange: handleChange }) })] }, rule.id)); }), rules.length === 0 && (_jsx("div", { className: "text-color-secondary italic", children: "No variables available for this dashboard." }))] }) }), _jsxs("div", { className: 'flex gap-3 mt-3', children: [_jsx(SolidButton, { label: "Apply", size: "sm", onClick: handleApply, autoFocus: true }), _jsx(SolidButton, { type: 'button', label: 'Cancel', outlined: true, size: 'sm', onClick: onHide })] })] })] }));
304
298
  };
305
299
  //# sourceMappingURL=DashboardFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardFilter.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/DashboardFilter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Button } from \"primereact/button\";\nimport { Dialog } from \"primereact/dialog\";\nimport { Dropdown } from \"primereact/dropdown\";\nimport { Calendar } from \"primereact/calendar\";\nimport { AutoComplete, AutoCompleteCompleteEvent } from \"primereact/autocomplete\";\nimport { SqlExpression } from \"../../../types/solid-core\";\nimport { DashboardVariableRecord } from \"./SolidDashboard\";\nimport { useLazyGetDashboardVariableSelectionDynamicValuesQuery } from \"../../../redux/api/dashboardApi\";\nimport { Divider } from \"primereact/divider\";\nimport { Fieldset } from \"primereact/fieldset\";\n\ninterface DashboardFilterProps {\n dashboardVariables: DashboardVariableRecord[];\n initialFilters: SqlExpression[];\n onApply: (filters: SqlExpression[]) => void;\n visible: boolean;\n onHide: () => void;\n}\n\nconst getNumberOfInputs = (matchMode: any): number | null => {\n switch (matchMode) {\n case '$between': return 2;\n case '$in': case '$notIn': return null;\n case '$startsWith': case '$contains': case '$notContains': case '$endsWith': case '$equals': case '$notEquals': case '$lt': case '$lte': case '$gt': case '$gte': return 1;\n case '$null': case '$notNull': return 0;\n default: return 1;\n }\n}\n\nconst dateFilterMatchModeOptions = [\n { label: 'Equals', value: \"$eq\" },\n { label: 'Not Equals', value: \"$nei\" },\n { label: 'Less Than', value: \"$lt\" },\n { label: 'Less Than Or Equal', value: \"$lte\" },\n { label: 'Greater Than', value: \"$gt\" },\n { label: 'Greater Than Or Equal', value: \"$gte\" },\n { label: 'In', value: \"$in\" },\n { label: 'Not In', value: \"$notIn\" },\n { label: 'Between', value: \"$between\" }\n];\n\nconst selectionFilterMatchModeOptions = [\n { label: 'In', value: \"$in\" },\n { label: 'Not In', value: \"$notIn\" }\n];\n\nconst FilterValueInput = ({ rule, onChange }: any) => {\n const numberOfInputs = getNumberOfInputs(rule.matchMode);\n\n // Ensure values is an array properly sized immediately on render\n let values = Array.isArray(rule.value) ? [...rule.value] : (rule.value ? [rule.value] : []);\n\n if (numberOfInputs !== null && numberOfInputs > 0 && values.length !== numberOfInputs) {\n if (values.length < numberOfInputs) {\n values = [...values, ...Array(numberOfInputs - values.length).fill('')];\n } else {\n values = values.slice(0, numberOfInputs);\n }\n }\n if (values.length === 0 && (numberOfInputs === null || numberOfInputs > 0)) {\n values = [''];\n }\n\n const updateValue = (index: number, val: any) => {\n const newValues = [...values];\n newValues[index] = val;\n onChange(rule.id, 'value', numberOfInputs === 1 ? newValues[0] : newValues);\n };\n\n const addInput = () => {\n const newValues = [...values, ''];\n onChange(rule.id, 'value', newValues);\n };\n\n const deleteInput = (index: number) => {\n if (values.length > 1) {\n const newValues = values.filter((_: any, i: number) => i !== index);\n onChange(rule.id, 'value', newValues);\n }\n };\n\n // Components for actual rendering\n const renderDate = (val: any, index: number) => {\n let dateVal = val ? new Date(val) : null;\n if (isNaN(dateVal?.getTime() || 0)) dateVal = null;\n return (\n <Calendar\n value={dateVal}\n onChange={(e) => {\n const dateStr = e.value ? (e.value as Date).toISOString().split('T')[0] : '';\n updateValue(index, dateStr);\n }}\n dateFormat=\"mm/dd/yy\"\n placeholder=\"mm/dd/yyyy\"\n mask=\"99/99/9999\"\n className=\"w-full\"\n inputClassName=\"w-full p-inputtext-sm\"\n />\n );\n };\n\n const SelectionStaticInput = ({ val, index, updateValue, dv }: any) => {\n const [filteredItems, setFilteredItems] = useState<{ label: string, value: string }[]>([]);\n const staticValues = JSON.parse(dv.selectionStaticValues || '[]') || [];\n const staticValueItems = staticValues.map((v: any) => ({ value: v.split(':')[0], label: v.split(':')[1] }));\n\n const search = (event: AutoCompleteCompleteEvent) => {\n const query = event.query.toLowerCase();\n const filtered = staticValueItems.filter((item: any) =>\n item.label.toLowerCase().includes(query)\n );\n setFilteredItems(filtered);\n };\n\n return (\n <AutoComplete\n value={val}\n suggestions={filteredItems}\n completeMethod={search}\n onChange={(e) => updateValue(index, e.value)}\n field=\"label\"\n dropdown\n className=\"w-full\"\n inputClassName=\"w-full p-inputtext-sm\"\n />\n );\n };\n\n const SelectionDynamicInput = ({ val, index, updateValue, dv }: any) => {\n const [filteredItems, setFilteredItems] = useState<{ label: string, value: string }[]>([]);\n const [trigger] = useLazyGetDashboardVariableSelectionDynamicValuesQuery();\n\n const search = async (event: AutoCompleteCompleteEvent) => {\n const queryString = `variableId=${dv.id}&q=${event.query}`;\n try {\n const res = await trigger(queryString).unwrap();\n const filtered = res.filter((item: any) =>\n item.label.toLowerCase().includes(event.query.toLowerCase())\n );\n setFilteredItems(filtered);\n } catch (error) {\n console.error(error);\n }\n };\n\n return (\n <AutoComplete\n value={val}\n suggestions={filteredItems}\n completeMethod={search}\n onChange={(e) => updateValue(index, e.value)}\n field=\"label\"\n dropdown\n className=\"w-full\"\n inputClassName=\"w-full p-inputtext-sm\"\n />\n );\n };\n\n if (numberOfInputs === 0) return <></>;\n\n return (\n <div className=\"flex flex-column gap-2\">\n {values.map((val: any, index: number) => (\n <div key={index} className=\"flex gap-2\">\n <div className=\"flex-grow-1\">\n {rule.variable.variableType === 'date' && renderDate(val, index)}\n {rule.variable.variableType === 'selectionStatic' && <SelectionStaticInput val={val} index={index} updateValue={updateValue} dv={rule.variable} />}\n {rule.variable.variableType === 'selectionDynamic' && <SelectionDynamicInput val={val} index={index} updateValue={updateValue} dv={rule.variable} />}\n </div>\n {numberOfInputs === null && (\n <div className=\"flex align-items-center\">\n <Button type=\"button\" text severity='secondary' icon=\"pi pi-plus\" size='small' onClick={addInput} className='p-0 mr-2 target-btn' style={{ width: 30, minWidth: 30 }} />\n <Button type=\"button\" text severity='secondary' icon=\"pi pi-trash\" size='small' onClick={() => deleteInput(index)} className='p-0 target-btn' style={{ width: 30, minWidth: 30 }} disabled={values.length <= 1} />\n </div>\n )}\n </div>\n ))}\n </div>\n );\n};\n\nexport const DashboardFilter: React.FC<DashboardFilterProps> = ({\n dashboardVariables,\n initialFilters,\n onApply,\n visible,\n onHide,\n}) => {\n const [rules, setRules] = useState<any[]>([]);\n\n useEffect(() => {\n if (visible) {\n // Initialize rules based on dashboardVariables\n const newRules = dashboardVariables.map((dv, index) => {\n const existingFilter = initialFilters.find((f: any) => f.variableName === dv.variableName);\n\n const defaultOperator = dv.defaultOperator || (dv.variableType === 'date' ? '$between' : '$in');\n\n let defaultValue = null;\n if (existingFilter && existingFilter.value !== undefined) {\n defaultValue = existingFilter.value;\n } else if (dv.defaultValue) {\n try {\n defaultValue = JSON.parse(dv.defaultValue || '[]');\n } catch (e) {\n defaultValue = null;\n }\n }\n\n return {\n id: index + 1,\n fieldName: dv.variableName,\n matchMode: existingFilter ? existingFilter.operator : defaultOperator,\n value: defaultValue,\n variable: dv\n };\n });\n setRules(newRules);\n }\n }, [visible, dashboardVariables, initialFilters]);\n\n const handleChange = (id: number, key: string, value: any) => {\n setRules((prev) =>\n prev.map((rule) => {\n if (rule.id === id) {\n let newVal = rule.value;\n // Immediate sync of values count when operator matches\n if (key === 'matchMode') {\n const newNum = getNumberOfInputs(value);\n let currentValues = Array.isArray(rule.value) ? [...rule.value] : (rule.value ? [rule.value] : []);\n if (newNum !== null && newNum > 0) {\n if (currentValues.length < newNum) {\n currentValues = [...currentValues, ...Array(newNum - currentValues.length).fill('')];\n } else if (currentValues.length > newNum) {\n currentValues = currentValues.slice(0, newNum);\n }\n } else if (newNum === null && currentValues.length === 0) {\n currentValues = [''];\n }\n newVal = newNum === 1 && currentValues.length === 1 ? currentValues[0] : currentValues;\n return { ...rule, [key]: value, value: newVal };\n }\n return { ...rule, [key]: value };\n }\n return rule;\n })\n );\n };\n\n const handleApply = () => {\n const newFilters: SqlExpression[] = rules\n .filter((rule) => {\n if (['$null', '$notNull'].includes(rule.matchMode)) return true;\n\n if (rule.value === null || rule.value === undefined) return false;\n if (Array.isArray(rule.value)) {\n const hasValidValue = rule.value.some((v: any) => v !== '' && v !== null);\n if (!hasValidValue) return false;\n } else {\n if (rule.value === '') return false;\n }\n return true;\n })\n .map((rule) => {\n let finalValue = rule.value;\n const numberOfInputs = getNumberOfInputs(rule.matchMode);\n // Clean array values or extract single values\n if (Array.isArray(finalValue)) {\n finalValue = finalValue.filter(v => v !== null && v !== '');\n if (numberOfInputs === 1 && finalValue.length > 0) {\n finalValue = finalValue[0];\n }\n }\n\n // For selection static/dynamic, we might have selected an object {label, value} or string\n // We need to extract the 'value' if it's an object from AutoComplete selection\n if (Array.isArray(finalValue)) {\n finalValue = finalValue.map(v => typeof v === 'object' && v !== null && 'value' in v ? v.value : v);\n } else if (typeof finalValue === 'object' && finalValue !== null && 'value' in finalValue) {\n finalValue = finalValue.value;\n }\n\n return {\n variableName: rule.fieldName,\n operator: rule.matchMode,\n value: finalValue,\n }\n });\n\n onApply(newFilters);\n onHide();\n };\n\n const handleClear = () => {\n onApply([]);\n onHide();\n };\n\n return (\n\n\n <Dialog header={false} className=\"solid-global-search-filter\" showHeader={false} visible={visible} style={{ width: '50vw' }} breakpoints={{ '1024px': '75vw', '991px': '90vw', '767px': '94w', '250px': '96vw' }} onHide={onHide}>\n <div className=\"flex align-items-center justify-content-between px-3\">\n <h5 className=\"solid-custom-title m-0\">Add Dashboard Filter</h5>\n <Button icon=\"pi pi-times\" rounded text aria-label=\"Cancel\" type=\"reset\" size=\"small\" onClick={onHide} />\n </div>\n <Divider className=\"m-0\" />\n <div className=\"p-2 lg:p-2\">\n <Fieldset className='primary-filter-fieldset'>\n <div className=\"flex flex-column gap-3 py-3\">\n\n {rules.map((rule) => (\n <div key={rule.id} className=\"grid grid-nogutter align-items-start\">\n <div className=\"col-12 md:col-4 pr-2\">\n <div className=\"p-inputtext p-disabled w-full flex align-items-center mb-2 md:mb-0\" style={{ minHeight: '38px' }}>\n {rule.fieldName}\n </div>\n </div>\n <div className=\"col-12 md:col-4 pr-2\">\n <Dropdown\n value={rule.matchMode}\n onChange={(e: any) => handleChange(rule.id, 'matchMode', e.value)}\n options={rule.variable.variableType === 'date' ? dateFilterMatchModeOptions : selectionFilterMatchModeOptions}\n optionLabel='label'\n optionValue='value'\n placeholder=\"Select Operator\"\n className=\"p-inputtext-sm w-full\"\n />\n </div>\n <div className=\"col-12 md:col-4\">\n <FilterValueInput rule={rule} onChange={handleChange} />\n </div>\n </div>\n ))}\n {rules.length === 0 && (\n <div className=\"text-color-secondary italic\">No variables available for this dashboard.</div>\n )}\n </div>\n </Fieldset>\n {/* <div className=\"flex justify-content-between align-items-center mt-4\">\n <Button label=\"Clear Filters\" icon=\"pi pi-filter-slash\" severity=\"danger\" text onClick={handleClear} />\n <div className=\"flex gap-2\">\n </div>\n </div> */}\n <div className='flex gap-3 mt-3'>\n <Button label=\"Apply\" size=\"small\" onClick={handleApply} autoFocus />\n <Button type='button' label='Cancel' outlined size='small' onClick={onHide} />\n </div>\n\n </div>\n </Dialog>\n\n );\n};\n"]}
1
+ {"version":3,"file":"DashboardFilter.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/DashboardFilter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { SolidAutocomplete, SolidButton, SolidDatePicker, SolidDialog, SolidDivider, SolidSelect } from \"../../shad-cn-ui\";\nimport { SqlExpression } from \"../../../types/solid-core\";\nimport { DashboardVariableRecord } from \"./SolidDashboard\";\nimport { useLazyGetDashboardVariableSelectionDynamicValuesQuery } from \"../../../redux/api/dashboardApi\";\ntype AutoCompleteCompleteEvent = { query: string };\n\ninterface DashboardFilterProps {\n dashboardVariables: DashboardVariableRecord[];\n initialFilters: SqlExpression[];\n onApply: (filters: SqlExpression[]) => void;\n visible: boolean;\n onHide: () => void;\n}\n\nconst getNumberOfInputs = (matchMode: any): number | null => {\n switch (matchMode) {\n case '$between': return 2;\n case '$in': case '$notIn': return null;\n case '$startsWith': case '$contains': case '$notContains': case '$endsWith': case '$equals': case '$notEquals': case '$lt': case '$lte': case '$gt': case '$gte': return 1;\n case '$null': case '$notNull': return 0;\n default: return 1;\n }\n}\n\nconst dateFilterMatchModeOptions = [\n { label: 'Equals', value: \"$eq\" },\n { label: 'Not Equals', value: \"$nei\" },\n { label: 'Less Than', value: \"$lt\" },\n { label: 'Less Than Or Equal', value: \"$lte\" },\n { label: 'Greater Than', value: \"$gt\" },\n { label: 'Greater Than Or Equal', value: \"$gte\" },\n { label: 'In', value: \"$in\" },\n { label: 'Not In', value: \"$notIn\" },\n { label: 'Between', value: \"$between\" }\n];\n\nconst selectionFilterMatchModeOptions = [\n { label: 'In', value: \"$in\" },\n { label: 'Not In', value: \"$notIn\" }\n];\n\nconst FilterValueInput = ({ rule, onChange }: any) => {\n const numberOfInputs = getNumberOfInputs(rule.matchMode);\n\n // Ensure values is an array properly sized immediately on render\n let values = Array.isArray(rule.value) ? [...rule.value] : (rule.value ? [rule.value] : []);\n\n if (numberOfInputs !== null && numberOfInputs > 0 && values.length !== numberOfInputs) {\n if (values.length < numberOfInputs) {\n values = [...values, ...Array(numberOfInputs - values.length).fill('')];\n } else {\n values = values.slice(0, numberOfInputs);\n }\n }\n if (values.length === 0 && (numberOfInputs === null || numberOfInputs > 0)) {\n values = [''];\n }\n\n const updateValue = (index: number, val: any) => {\n const newValues = [...values];\n newValues[index] = val;\n onChange(rule.id, 'value', numberOfInputs === 1 ? newValues[0] : newValues);\n };\n\n const addInput = () => {\n const newValues = [...values, ''];\n onChange(rule.id, 'value', newValues);\n };\n\n const deleteInput = (index: number) => {\n if (values.length > 1) {\n const newValues = values.filter((_: any, i: number) => i !== index);\n onChange(rule.id, 'value', newValues);\n }\n };\n\n // Components for actual rendering\n const renderDate = (val: any, index: number) => {\n let dateVal = val ? new Date(val) : null;\n if (isNaN(dateVal?.getTime() || 0)) dateVal = null;\n return (\n <SolidDatePicker\n selected={dateVal || undefined}\n onChange={(nextDate: Date | null) => {\n const dateStr = nextDate ? nextDate.toISOString().split('T')[0] : '';\n updateValue(index, dateStr);\n }}\n dateFormat=\"MM/dd/yyyy\"\n placeholderText=\"mm/dd/yyyy\"\n className=\"w-full\"\n inputClassName=\"w-full text-sm\"\n />\n );\n };\n\n const SelectionStaticInput = ({ val, index, updateValue, dv }: any) => {\n const [filteredItems, setFilteredItems] = useState<{ label: string, value: string }[]>([]);\n const staticValues = JSON.parse(dv.selectionStaticValues || '[]') || [];\n const staticValueItems = staticValues.map((v: any) => ({ value: v.split(':')[0], label: v.split(':')[1] }));\n\n const search = (event: AutoCompleteCompleteEvent) => {\n const query = event.query.toLowerCase();\n const filtered = staticValueItems.filter((item: any) =>\n item.label.toLowerCase().includes(query)\n );\n setFilteredItems(filtered);\n };\n\n return (\n <SolidAutocomplete\n value={val}\n suggestions={filteredItems}\n completeMethod={search}\n onChange={(e) => updateValue(index, e.value)}\n field=\"label\"\n dropdown\n className=\"w-full\"\n inputClassName=\"w-full text-sm\"\n />\n );\n };\n\n const SelectionDynamicInput = ({ val, index, updateValue, dv }: any) => {\n const [filteredItems, setFilteredItems] = useState<{ label: string, value: string }[]>([]);\n const [trigger] = useLazyGetDashboardVariableSelectionDynamicValuesQuery();\n\n const search = async (event: AutoCompleteCompleteEvent) => {\n const queryString = `variableId=${dv.id}&q=${event.query}`;\n try {\n const res = await trigger(queryString).unwrap();\n const filtered = res.filter((item: any) =>\n item.label.toLowerCase().includes(event.query.toLowerCase())\n );\n setFilteredItems(filtered);\n } catch (error) {\n console.error(error);\n }\n };\n\n return (\n <SolidAutocomplete\n value={val}\n suggestions={filteredItems}\n completeMethod={search}\n onChange={(e) => updateValue(index, e.value)}\n field=\"label\"\n dropdown\n className=\"w-full\"\n inputClassName=\"w-full text-sm\"\n />\n );\n };\n\n if (numberOfInputs === 0) return <></>;\n\n return (\n <div className=\"flex flex-column gap-2\">\n {values.map((val: any, index: number) => (\n <div key={index} className=\"flex gap-2\">\n <div className=\"flex-grow-1\">\n {rule.variable.variableType === 'date' && renderDate(val, index)}\n {rule.variable.variableType === 'selectionStatic' && <SelectionStaticInput val={val} index={index} updateValue={updateValue} dv={rule.variable} />}\n {rule.variable.variableType === 'selectionDynamic' && <SelectionDynamicInput val={val} index={index} updateValue={updateValue} dv={rule.variable} />}\n </div>\n {numberOfInputs === null && (\n <div className=\"flex align-items-center\">\n <SolidButton type=\"button\" text severity='secondary' icon=\"si si-plus\" size='sm' onClick={addInput} className='p-0 mr-2 target-btn' style={{ width: 30, minWidth: 30 }} />\n <SolidButton type=\"button\" text severity='secondary' icon=\"si si-trash\" size='sm' onClick={() => deleteInput(index)} className='p-0 target-btn' style={{ width: 30, minWidth: 30 }} disabled={values.length <= 1} />\n </div>\n )}\n </div>\n ))}\n </div>\n );\n};\n\nexport const DashboardFilter: React.FC<DashboardFilterProps> = ({\n dashboardVariables,\n initialFilters,\n onApply,\n visible,\n onHide,\n}) => {\n const [rules, setRules] = useState<any[]>([]);\n\n useEffect(() => {\n if (visible) {\n // Initialize rules based on dashboardVariables\n const newRules = dashboardVariables.map((dv, index) => {\n const existingFilter = initialFilters.find((f: any) => f.variableName === dv.variableName);\n\n const defaultOperator = dv.defaultOperator || (dv.variableType === 'date' ? '$between' : '$in');\n\n let defaultValue = null;\n if (existingFilter && existingFilter.value !== undefined) {\n defaultValue = existingFilter.value;\n } else if (dv.defaultValue) {\n try {\n defaultValue = JSON.parse(dv.defaultValue || '[]');\n } catch (e) {\n defaultValue = null;\n }\n }\n\n return {\n id: index + 1,\n fieldName: dv.variableName,\n matchMode: existingFilter ? existingFilter.operator : defaultOperator,\n value: defaultValue,\n variable: dv\n };\n });\n setRules(newRules);\n }\n }, [visible, dashboardVariables, initialFilters]);\n\n const handleChange = (id: number, key: string, value: any) => {\n setRules((prev) =>\n prev.map((rule) => {\n if (rule.id === id) {\n let newVal = rule.value;\n // Immediate sync of values count when operator matches\n if (key === 'matchMode') {\n const newNum = getNumberOfInputs(value);\n let currentValues = Array.isArray(rule.value) ? [...rule.value] : (rule.value ? [rule.value] : []);\n if (newNum !== null && newNum > 0) {\n if (currentValues.length < newNum) {\n currentValues = [...currentValues, ...Array(newNum - currentValues.length).fill('')];\n } else if (currentValues.length > newNum) {\n currentValues = currentValues.slice(0, newNum);\n }\n } else if (newNum === null && currentValues.length === 0) {\n currentValues = [''];\n }\n newVal = newNum === 1 && currentValues.length === 1 ? currentValues[0] : currentValues;\n return { ...rule, [key]: value, value: newVal };\n }\n return { ...rule, [key]: value };\n }\n return rule;\n })\n );\n };\n\n const handleApply = () => {\n const newFilters: SqlExpression[] = rules\n .filter((rule) => {\n if (['$null', '$notNull'].includes(rule.matchMode)) return true;\n\n if (rule.value === null || rule.value === undefined) return false;\n if (Array.isArray(rule.value)) {\n const hasValidValue = rule.value.some((v: any) => v !== '' && v !== null);\n if (!hasValidValue) return false;\n } else {\n if (rule.value === '') return false;\n }\n return true;\n })\n .map((rule) => {\n let finalValue = rule.value;\n const numberOfInputs = getNumberOfInputs(rule.matchMode);\n // Clean array values or extract single values\n if (Array.isArray(finalValue)) {\n finalValue = finalValue.filter(v => v !== null && v !== '');\n if (numberOfInputs === 1 && finalValue.length > 0) {\n finalValue = finalValue[0];\n }\n }\n\n // For selection static/dynamic, we might have selected an object {label, value} or string\n // We need to extract the 'value' if it's an object from AutoComplete selection\n if (Array.isArray(finalValue)) {\n finalValue = finalValue.map(v => typeof v === 'object' && v !== null && 'value' in v ? v.value : v);\n } else if (typeof finalValue === 'object' && finalValue !== null && 'value' in finalValue) {\n finalValue = finalValue.value;\n }\n\n return {\n variableName: rule.fieldName,\n operator: rule.matchMode,\n value: finalValue,\n }\n });\n\n onApply(newFilters);\n onHide();\n };\n\n const handleClear = () => {\n onApply([]);\n onHide();\n };\n\n return (\n\n\n <SolidDialog showHeader={false} visible={visible} className=\"solid-global-search-filter solid-dialog-lg\" onHide={onHide}>\n <div className=\"flex align-items-center justify-content-between px-3\">\n <h5 className=\"solid-custom-title m-0\">Add Dashboard Filter</h5>\n <SolidButton icon=\"si si-times\" rounded text aria-label=\"Cancel\" type=\"reset\" size=\"sm\" onClick={onHide} />\n </div>\n <SolidDivider className=\"m-0\" />\n <div className=\"p-2 lg:p-2\">\n <div className='primary-filter-fieldset'>\n <div className=\"flex flex-column gap-3 py-3\">\n\n {rules.map((rule) => (\n <div key={rule.id} className=\"grid grid-nogutter align-items-start\">\n <div className=\"col-12 md:col-4 pr-2\">\n <div className=\"p-inputtext p-disabled w-full flex align-items-center mb-2 md:mb-0\" style={{ minHeight: '38px' }}>\n {rule.fieldName}\n </div>\n </div>\n <div className=\"col-12 md:col-4 pr-2\">\n <SolidSelect\n value={rule.matchMode}\n onChange={(e: any) => handleChange(rule.id, 'matchMode', e.value)}\n options={rule.variable.variableType === 'date' ? dateFilterMatchModeOptions : selectionFilterMatchModeOptions}\n placeholder=\"Select Operator\"\n className=\"w-full\"\n />\n </div>\n <div className=\"col-12 md:col-4\">\n <FilterValueInput rule={rule} onChange={handleChange} />\n </div>\n </div>\n ))}\n {rules.length === 0 && (\n <div className=\"text-color-secondary italic\">No variables available for this dashboard.</div>\n )}\n </div>\n </div>\n {/* <div className=\"flex justify-content-between align-items-center mt-4\">\n <Button label=\"Clear Filters\" icon=\"si si-filter-slash\" severity=\"danger\" text onClick={handleClear} />\n <div className=\"flex gap-2\">\n </div>\n </div> */}\n <div className='flex gap-3 mt-3'>\n <SolidButton label=\"Apply\" size=\"sm\" onClick={handleApply} autoFocus />\n <SolidButton type='button' label='Cancel' outlined size='sm' onClick={onHide} />\n </div>\n\n </div>\n </SolidDialog>\n\n );\n};\n"]}