@solidstarters/solid-core-ui 1.1.211 → 1.1.212

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 (373) hide show
  1. package/dist/components/Svg/DevDocs.tsx +9 -0
  2. package/dist/components/Svg/DocsSvg.tsx +9 -0
  3. package/dist/components/Svg/ExcelSvg.tsx +15 -0
  4. package/dist/components/Svg/FieldSvg.tsx +9 -0
  5. package/dist/components/Svg/FileSvg.tsx +18 -0
  6. package/dist/components/Svg/HomePageModuleSvg.tsx +179 -0
  7. package/dist/components/Svg/ModelSvg.tsx +9 -0
  8. package/dist/components/Svg/ModuleSvg.tsx +9 -0
  9. package/dist/components/Svg/PDFSvg.tsx +15 -0
  10. package/dist/components/Svg/RightArrowSvg.tsx +9 -0
  11. package/dist/components/Svg/SettingsSvg.tsx +9 -0
  12. package/dist/components/auth/AuthLayout.tsx +223 -0
  13. package/dist/components/auth/ForgotPasswordThankYou.tsx +33 -0
  14. package/dist/components/auth/GoogleAuthChecking.tsx +63 -0
  15. package/dist/components/auth/SolidChangeForcePassword.tsx +222 -0
  16. package/dist/components/auth/SolidForgotPassword.tsx +127 -0
  17. package/dist/components/auth/SolidInitialLoginOtp.tsx +271 -0
  18. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +218 -0
  19. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  20. package/dist/components/auth/SolidLogin.js +14 -8
  21. package/dist/components/auth/SolidLogin.js.map +1 -1
  22. package/dist/components/auth/SolidLogin.tsx +428 -0
  23. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  24. package/dist/components/auth/SolidRegister.tsx +454 -0
  25. package/dist/components/auth/SolidResetPassword.tsx +194 -0
  26. package/dist/components/common/AuthBanner.tsx +41 -0
  27. package/dist/components/common/AutoCompleteField.tsx +79 -0
  28. package/dist/components/common/BackButton.tsx +72 -0
  29. package/dist/components/common/CancelButton.tsx +61 -0
  30. package/dist/components/common/CodeEditor.tsx +38 -0
  31. package/dist/components/common/CreateButton.tsx +17 -0
  32. package/dist/components/common/DownloadProgressToast.tsx +55 -0
  33. package/dist/components/common/DropzonePlaceholder.tsx +31 -0
  34. package/dist/components/common/DropzoneUpload.tsx +11 -0
  35. package/dist/components/common/FileReaderExt.tsx +20 -0
  36. package/dist/components/common/GeneralSettings.tsx +1225 -0
  37. package/dist/components/common/HeaderDynamicTitles.tsx +13 -0
  38. package/dist/components/common/MarkdownViewer.tsx +84 -0
  39. package/dist/components/common/MultipleSelectAutoCompleteField.tsx +64 -0
  40. package/dist/components/common/NotFound.tsx +22 -0
  41. package/dist/components/common/SingleSelectAutoCompleteField.tsx +73 -0
  42. package/dist/components/common/SocialMediaLogin.tsx +53 -0
  43. package/dist/components/common/SolidAdmin.tsx +6 -0
  44. package/dist/components/common/SolidBreadcrumb.tsx +129 -0
  45. package/dist/components/common/SolidExport.tsx +563 -0
  46. package/dist/components/common/SolidExportStepper.tsx +135 -0
  47. package/dist/components/common/SolidFieldTooltip.tsx +23 -0
  48. package/dist/components/common/SolidFormHeader.tsx +25 -0
  49. package/dist/components/common/SolidFormStepper.tsx +350 -0
  50. package/dist/components/common/SolidModuleHome.tsx +128 -0
  51. package/dist/components/common/SolidPopupContainer.tsx +37 -0
  52. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +45 -0
  53. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +45 -0
  54. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +20 -0
  55. package/dist/components/common/SolidSettings/SettingsImageRemoveButton.tsx +15 -0
  56. package/dist/components/common/SolidSettings/SolidUploadedImage.tsx +16 -0
  57. package/dist/components/common/SolidThemeLink.tsx +6 -0
  58. package/dist/components/common/SolidThemeProvider.tsx +44 -0
  59. package/dist/components/common/StepperArrows/ActiveArrowStep.tsx +18 -0
  60. package/dist/components/common/StepperArrows/ActiveBeforeStepArrow.tsx +18 -0
  61. package/dist/components/common/StepperArrows/InactiveStepArrow.tsx +19 -0
  62. package/dist/components/common/error.tsx +30 -0
  63. package/dist/components/common/useHandleFormCustomButtonClick.ts +40 -0
  64. package/dist/components/common/useHandleListCustomButtonClick.ts +42 -0
  65. package/dist/components/core/chatter/SolidChatter.tsx +248 -0
  66. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +35 -0
  67. package/dist/components/core/chatter/SolidChatterCustomMessage.tsx +46 -0
  68. package/dist/components/core/chatter/SolidChatterDateDivider.tsx +16 -0
  69. package/dist/components/core/chatter/SolidChatterHeader.tsx +218 -0
  70. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +163 -0
  71. package/dist/components/core/chatter/SolidMessageComposer.tsx +146 -0
  72. package/dist/components/core/common/AvatarWidget.tsx +55 -0
  73. package/dist/components/core/common/DateFieldViewComponent.tsx +36 -0
  74. package/dist/components/core/common/FilterComponent.tsx +458 -0
  75. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  76. package/dist/components/core/common/PDFViewer.tsx +117 -0
  77. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +89 -0
  78. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +188 -0
  79. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +139 -0
  80. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +311 -0
  81. package/dist/components/core/common/SolidCreateButton.tsx +48 -0
  82. package/dist/components/core/common/SolidGenericImport/DocumentSvg.tsx +15 -0
  83. package/dist/components/core/common/SolidGenericImport/SolidGenericImport.tsx +64 -0
  84. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +125 -0
  85. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +122 -0
  86. package/dist/components/core/common/SolidGenericImport/SolidImportStepper.tsx +217 -0
  87. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +205 -0
  88. package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.tsx +158 -0
  89. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +29 -0
  90. package/dist/components/core/common/SolidGlobalSearchElement.tsx +1470 -0
  91. package/dist/components/core/common/SolidLayoutViews.tsx +87 -0
  92. package/dist/components/core/common/SolidListViewOptions.tsx +31 -0
  93. package/dist/components/core/common/SolidLoaders/SolidCircularLoader.tsx +7 -0
  94. package/dist/components/core/common/SolidPasswordHelperText.tsx +34 -0
  95. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +75 -0
  96. package/dist/components/core/common/SolidSearchBox.tsx +17 -0
  97. package/dist/components/core/common/SolidViewLayoutManager.ts +421 -0
  98. package/dist/components/core/common/SolidXAiIframe.tsx +77 -0
  99. package/dist/components/core/dashboard/SolidDashboard.tsx +332 -0
  100. package/dist/components/core/dashboard/SolidDashboardBody.tsx +117 -0
  101. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +28 -0
  102. package/dist/components/core/dashboard/SolidDashboardHeader.tsx +10 -0
  103. package/dist/components/core/dashboard/SolidDashboardLoading.tsx +55 -0
  104. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +32 -0
  105. package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +29 -0
  106. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +256 -0
  107. package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +78 -0
  108. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +18 -0
  109. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +54 -0
  110. package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +25 -0
  111. package/dist/components/core/dashboard/dashboard-utils.ts +39 -0
  112. package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.tsx +17 -0
  113. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +36 -0
  114. package/dist/components/core/extension/solid-core/emailTemplate/emailFormTypeChangeHandler.ts +18 -0
  115. package/dist/components/core/extension/solid-core/emailTemplate/emailFormTypeLoad.ts +18 -0
  116. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +114 -0
  117. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +213 -0
  118. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +138 -0
  119. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +209 -0
  120. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +131 -0
  121. package/dist/components/core/field/FieldListViewData.tsx +313 -0
  122. package/dist/components/core/filter/SolidBooleanFilterElement.tsx +30 -0
  123. package/dist/components/core/filter/SolidFilterFields.tsx +131 -0
  124. package/dist/components/core/filter/SolidManyToManyFilterElement.tsx +64 -0
  125. package/dist/components/core/filter/SolidManyToOneFilterElement.tsx +61 -0
  126. package/dist/components/core/filter/SolidSelectionDynamicFilterElement.tsx +50 -0
  127. package/dist/components/core/filter/SolidSelectionStaticFilterElement.tsx +32 -0
  128. package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +209 -0
  129. package/dist/components/core/filter/fields/SolidBigintField.tsx +9 -0
  130. package/dist/components/core/filter/fields/SolidBooleanField.tsx +68 -0
  131. package/dist/components/core/filter/fields/SolidComputedField.tsx +23 -0
  132. package/dist/components/core/filter/fields/SolidDateField.tsx +63 -0
  133. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +54 -0
  134. package/dist/components/core/filter/fields/SolidDecimalField.tsx +9 -0
  135. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +52 -0
  136. package/dist/components/core/filter/fields/SolidFloatField.tsx +9 -0
  137. package/dist/components/core/filter/fields/SolidIdField.tsx +46 -0
  138. package/dist/components/core/filter/fields/SolidIntField.tsx +61 -0
  139. package/dist/components/core/filter/fields/SolidLongTextField.tsx +9 -0
  140. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +60 -0
  141. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +62 -0
  142. package/dist/components/core/filter/fields/SolidRelationField.tsx +17 -0
  143. package/dist/components/core/filter/fields/SolidRichTextField.tsx +9 -0
  144. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +52 -0
  145. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +54 -0
  146. package/dist/components/core/filter/fields/SolidShortTextField.tsx +60 -0
  147. package/dist/components/core/filter/fields/SolidTimeField.tsx +48 -0
  148. package/dist/components/core/filter/fields/SolidUuidField.tsx +51 -0
  149. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +62 -0
  150. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +84 -0
  151. package/dist/components/core/form/SolidFormActionHeader.tsx +497 -0
  152. package/dist/components/core/form/SolidFormFieldRender.tsx +53 -0
  153. package/dist/components/core/form/SolidFormFieldRenderExtension.tsx +26 -0
  154. package/dist/components/core/form/SolidFormFooter.tsx +162 -0
  155. package/dist/components/core/form/SolidFormLayouts.tsx +104 -0
  156. package/dist/components/core/form/SolidFormUserViewLayout.tsx +84 -0
  157. package/dist/components/core/form/SolidFormView.tsx +1856 -0
  158. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +52 -0
  159. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +52 -0
  160. package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +109 -0
  161. package/dist/components/core/form/fields/ISolidField.tsx +71 -0
  162. package/dist/components/core/form/fields/SolidBooleanField.tsx +434 -0
  163. package/dist/components/core/form/fields/SolidDateField.tsx +247 -0
  164. package/dist/components/core/form/fields/SolidDateTimeField.tsx +229 -0
  165. package/dist/components/core/form/fields/SolidDecimalField.tsx +171 -0
  166. package/dist/components/core/form/fields/SolidEmailField.tsx +176 -0
  167. package/dist/components/core/form/fields/SolidIntegerField.tsx +282 -0
  168. package/dist/components/core/form/fields/SolidJsonField.tsx +185 -0
  169. package/dist/components/core/form/fields/SolidLongTextField.tsx +618 -0
  170. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +663 -0
  171. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +547 -0
  172. package/dist/components/core/form/fields/SolidPasswordField.tsx +390 -0
  173. package/dist/components/core/form/fields/SolidRelationField.tsx +56 -0
  174. package/dist/components/core/form/fields/SolidRichTextField.tsx +188 -0
  175. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +340 -0
  176. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +462 -0
  177. package/dist/components/core/form/fields/SolidShortTextField.tsx +399 -0
  178. package/dist/components/core/form/fields/SolidTimeField.tsx +245 -0
  179. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +453 -0
  180. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +1036 -0
  181. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +627 -0
  182. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +38 -0
  183. package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.ts +64 -0
  184. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.tsx +135 -0
  185. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +144 -0
  186. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +265 -0
  187. package/dist/components/core/form/fields/widgets/SolidIconViewWidget.tsx +32 -0
  188. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +50 -0
  189. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +222 -0
  190. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +70 -0
  191. package/dist/components/core/form/widgets/CustomHtml.tsx +20 -0
  192. package/dist/components/core/kanban/KanbanBoard.tsx +150 -0
  193. package/dist/components/core/kanban/KanbanCard.tsx +279 -0
  194. package/dist/components/core/kanban/KanbanColumn.tsx +139 -0
  195. package/dist/components/core/kanban/KanbanUserViewLayout.tsx +84 -0
  196. package/dist/components/core/kanban/SolidKanbanView.tsx +894 -0
  197. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +154 -0
  198. package/dist/components/core/kanban/SolidKanbanViewFields.tsx +164 -0
  199. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
  200. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
  201. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
  202. package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
  203. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
  204. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +16 -0
  205. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
  206. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
  207. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
  208. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
  209. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
  210. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
  211. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
  212. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +20 -0
  213. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
  214. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +140 -0
  215. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +164 -0
  216. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
  217. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
  218. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +14 -0
  219. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
  220. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +121 -0
  221. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
  222. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
  223. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
  224. package/dist/components/core/list/ListViewRowActionPopup.tsx +41 -0
  225. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +242 -0
  226. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +111 -0
  227. package/dist/components/core/list/SolidListView.tsx +2007 -0
  228. package/dist/components/core/list/SolidListViewColumn.tsx +165 -0
  229. package/dist/components/core/list/SolidListViewConfigure.tsx +339 -0
  230. package/dist/components/core/list/SolidListViewHeaderButton.tsx +31 -0
  231. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +30 -0
  232. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +41 -0
  233. package/dist/components/core/list/SolidListViewShimmerLoading.tsx +78 -0
  234. package/dist/components/core/list/SolidListingHeader.tsx +42 -0
  235. package/dist/components/core/list/SolidManyToOneFilterElement.tsx +60 -0
  236. package/dist/components/core/list/SolidSelectionDynamicFilterElement.tsx +50 -0
  237. package/dist/components/core/list/SolidSelectionStaticFilterElement.tsx +32 -0
  238. package/dist/components/core/list/SolidTableRowCell.tsx +35 -0
  239. package/dist/components/core/list/SolidVarInputsFilterElement.tsx +184 -0
  240. package/dist/components/core/list/columns/SolidBigintColumn.tsx +9 -0
  241. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +90 -0
  242. package/dist/components/core/list/columns/SolidComputedColumn.tsx +27 -0
  243. package/dist/components/core/list/columns/SolidDateColumn.tsx +90 -0
  244. package/dist/components/core/list/columns/SolidDatetimeColumn.tsx +79 -0
  245. package/dist/components/core/list/columns/SolidDecimalColumn.tsx +9 -0
  246. package/dist/components/core/list/columns/SolidExternalIdColumn.tsx +80 -0
  247. package/dist/components/core/list/columns/SolidFloatColumn.tsx +9 -0
  248. package/dist/components/core/list/columns/SolidIdColumn.tsx +79 -0
  249. package/dist/components/core/list/columns/SolidIntColumn.tsx +87 -0
  250. package/dist/components/core/list/columns/SolidLongTextColumn.tsx +9 -0
  251. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +301 -0
  252. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +170 -0
  253. package/dist/components/core/list/columns/SolidRelationColumn.tsx +21 -0
  254. package/dist/components/core/list/columns/SolidRichTextColumn.tsx +9 -0
  255. package/dist/components/core/list/columns/SolidSelectionDynamicColumn.tsx +80 -0
  256. package/dist/components/core/list/columns/SolidSelectionStaticColumn.tsx +81 -0
  257. package/dist/components/core/list/columns/SolidShortTextColumn.tsx +160 -0
  258. package/dist/components/core/list/columns/SolidTimeColumn.tsx +78 -0
  259. package/dist/components/core/list/columns/SolidUuidColumn.tsx +79 -0
  260. package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +106 -0
  261. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +117 -0
  262. package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +110 -0
  263. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.tsx +30 -0
  264. package/dist/components/core/list/widgets/SolidManyToOneRelationAvatarListWidget.tsx +30 -0
  265. package/dist/components/core/list/widgets/SolidShortTextAvatarWidget.tsx +70 -0
  266. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +21 -0
  267. package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +91 -0
  268. package/dist/components/core/locales/SolidLocale.tsx +127 -0
  269. package/dist/components/core/model/CreateModel.tsx +495 -0
  270. package/dist/components/core/model/FieldMetaData.tsx +263 -0
  271. package/dist/components/core/model/FieldMetaDataForm.tsx +3509 -0
  272. package/dist/components/core/model/FieldSelector.tsx +62 -0
  273. package/dist/components/core/model/ModelListViewData.tsx +384 -0
  274. package/dist/components/core/model/ModelMetaData.tsx +921 -0
  275. package/dist/components/core/module/CreateModule.tsx +617 -0
  276. package/dist/components/core/module/ModuleListViewData.tsx +431 -0
  277. package/dist/components/core/solid-ai/SolidAiMainWrapper.tsx +8 -0
  278. package/dist/components/core/solid-ai/SolidXAIIcon.tsx +37 -0
  279. package/dist/components/core/users/CreateUser.tsx +467 -0
  280. package/dist/components/core/users/CreateUserRole.tsx +212 -0
  281. package/dist/components/core/users/UserListView.tsx +376 -0
  282. package/dist/components/layout/AdminLayout.tsx +57 -0
  283. package/dist/components/layout/AdminSidebar.tsx +65 -0
  284. package/dist/components/layout/AppConfig.tsx +104 -0
  285. package/dist/components/layout/AppSidebar.tsx +232 -0
  286. package/dist/components/layout/ButtonLoader.tsx +7 -0
  287. package/dist/components/layout/CustomPagination.tsx +55 -0
  288. package/dist/components/layout/DashboardHeader.tsx +89 -0
  289. package/dist/components/layout/FilterMenu.tsx +122 -0
  290. package/dist/components/layout/Footer.tsx +13 -0
  291. package/dist/components/layout/GlobalSearch.tsx +37 -0
  292. package/dist/components/layout/Header.tsx +8 -0
  293. package/dist/components/layout/Layout.tsx +205 -0
  294. package/dist/components/layout/ListingHeader.tsx +204 -0
  295. package/dist/components/layout/Loader.tsx +16 -0
  296. package/dist/components/layout/UserSidebar.tsx +53 -0
  297. package/dist/components/layout/context/layoutcontext.tsx +52 -0
  298. package/dist/components/layout/navbar-one.tsx +258 -0
  299. package/dist/components/layout/navbar-two-menu.tsx +72 -0
  300. package/dist/components/layout/navbar-two.tsx +37 -0
  301. package/dist/components/layout/user-profile-menu.tsx +213 -0
  302. package/dist/components/layout/user-profile.tsx +7 -0
  303. package/dist/components/modelsComponents/filterIcon.tsx +9 -0
  304. package/dist/constants/error-messages.ts +238 -0
  305. package/dist/declarations.d.ts +22 -0
  306. package/dist/helpers/AppTitle.tsx +12 -0
  307. package/dist/helpers/ToastContainer.tsx +94 -0
  308. package/dist/helpers/autoCompleteVirtualScroll.ts +41 -0
  309. package/dist/helpers/countries.tsx +260 -0
  310. package/dist/helpers/downloadFileWithProgress.ts +91 -0
  311. package/dist/helpers/downloadMediaFile.tsx +21 -0
  312. package/dist/helpers/getAcceptedFileTypes.tsx +22 -0
  313. package/dist/helpers/getRandomColors.tsx +68 -0
  314. package/dist/helpers/helpers.ts +61 -0
  315. package/dist/helpers/hydrateRelationRules.ts +120 -0
  316. package/dist/helpers/permissions.ts +7 -0
  317. package/dist/helpers/registry.ts +337 -0
  318. package/dist/helpers/resendOtpHelper.tsx +5 -0
  319. package/dist/helpers/revalidate.ts +7 -0
  320. package/dist/helpers/rolesHelper.ts +17 -0
  321. package/dist/helpers/solidIcons.tsx +1831 -0
  322. package/dist/helpers/updatePasswordField.ts +41 -0
  323. package/dist/index.ts +421 -0
  324. package/dist/nextAuth/authProviders.d.ts.map +1 -1
  325. package/dist/nextAuth/authProviders.js +6 -5
  326. package/dist/nextAuth/authProviders.js.map +1 -1
  327. package/dist/nextAuth/authProviders.tsx +232 -0
  328. package/dist/nextAuth/handleLogout.tsx +39 -0
  329. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  330. package/dist/redux/api/aiInteractionApi.ts +59 -0
  331. package/dist/redux/api/authApi.ts +131 -0
  332. package/dist/redux/api/dashboardApi.ts +56 -0
  333. package/dist/redux/api/dashboardQuestionApi.ts +17 -0
  334. package/dist/redux/api/exportTemplateApi.tsx +59 -0
  335. package/dist/redux/api/fetchBaseQuery.tsx +118 -0
  336. package/dist/redux/api/fieldApi.ts +86 -0
  337. package/dist/redux/api/importTransactionApi.tsx +69 -0
  338. package/dist/redux/api/mediaApi.ts +55 -0
  339. package/dist/redux/api/mediaStorageProviderApi.ts +55 -0
  340. package/dist/redux/api/modelApi.ts +80 -0
  341. package/dist/redux/api/moduleApi.ts +72 -0
  342. package/dist/redux/api/permissionApi.ts +32 -0
  343. package/dist/redux/api/pincodeApi.tsx +56 -0
  344. package/dist/redux/api/roleApi.ts +58 -0
  345. package/dist/redux/api/solidActionApi.ts +66 -0
  346. package/dist/redux/api/solidChatterMessageApi.ts +25 -0
  347. package/dist/redux/api/solidEntityApi.tsx +164 -0
  348. package/dist/redux/api/solidMenuApi.ts +71 -0
  349. package/dist/redux/api/solidServiceApi.ts +31 -0
  350. package/dist/redux/api/solidSettingsApi.tsx +83 -0
  351. package/dist/redux/api/solidViewApi.ts +73 -0
  352. package/dist/redux/api/stateApi.tsx +56 -0
  353. package/dist/redux/api/testApi.ts +21 -0
  354. package/dist/redux/api/userApi.ts +135 -0
  355. package/dist/redux/features/authSlice.ts +19 -0
  356. package/dist/redux/features/dataViewSlice.ts +26 -0
  357. package/dist/redux/features/navbarSlice.ts +21 -0
  358. package/dist/redux/features/popupSlice.ts +37 -0
  359. package/dist/redux/features/settingsSlice.ts +60 -0
  360. package/dist/redux/features/themeSlice.ts +17 -0
  361. package/dist/redux/features/userSlice.ts +28 -0
  362. package/dist/redux/hooks/useSolidPopup.ts +20 -0
  363. package/dist/redux/store/defaultStoreConfig.ts +62 -0
  364. package/dist/styles.ts +4 -0
  365. package/dist/types/handlebars.d.ts +4 -0
  366. package/dist/types/index.d.ts +76 -0
  367. package/dist/types/layout.d.ts +94 -0
  368. package/dist/types/next-auth.d.ts +0 -0
  369. package/dist/types/next.d.ts +46 -0
  370. package/dist/types/solid-core.d.ts +320 -0
  371. package/package.json +1 -1
  372. package/src/components/auth/SolidLogin.tsx +26 -13
  373. package/src/nextAuth/authProviders.tsx +9 -5
@@ -0,0 +1,256 @@
1
+ "use client";
2
+ import { SqlExpression } from "../../../types/solid-core";
3
+ import { AutoComplete, AutoCompleteChangeEvent, AutoCompleteCompleteEvent } from "primereact/autocomplete";
4
+ import { Calendar } from "primereact/calendar";
5
+ import { Nullable } from "primereact/ts-helpers";
6
+ import React, { Dispatch, SetStateAction, useEffect, useState } from "react";
7
+ import styles from './SolidDashboard.module.css';
8
+ import { useGetDashboardVariableSelectionDynamicValuesQuery } from "../../../redux/api/dashboardApi";
9
+ import { ProgressSpinner } from "primereact/progressspinner";
10
+ import { DashboardVariableRecord } from "./SolidDashboard";
11
+ import { Button } from "primereact/button";
12
+
13
+
14
+ export interface DashboardVariableFilterProps {
15
+ setFilters: Dispatch<SetStateAction<SqlExpression[]>>;
16
+ clearSignal: number;
17
+ dashboardVariable: DashboardVariableRecord;
18
+ }
19
+
20
+ export const DateVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {
21
+ // Initialize the default dates state
22
+ // If the dashboardVariable has a defaultOperator as Between and a defaultValue as two dates, we can set those as the initial values, otherwise null
23
+ const defaultDatesString = dashboardVariable.defaultOperator === '$between' && dashboardVariable.defaultValue
24
+ const defaultDatesArray = JSON.parse(defaultDatesString || '[]');
25
+ // Map the defaultDatesArray to Date objects
26
+ const defaultDates: Nullable<(Date | null)[]> = defaultDatesArray.length === 2 ? [
27
+ new Date(defaultDatesArray[0]),
28
+ new Date(defaultDatesArray[1])
29
+ ] : null;
30
+ const [dates, setDates] = useState<Nullable<(Date | null)[]>>(defaultDates);
31
+
32
+ useEffect(() => {
33
+ setDates(null); // reset UI
34
+ }, [clearSignal]);
35
+
36
+ return (
37
+ <div className={`flex align-items-center ${styles.SolidDashboardDateRangeFilterWrapper}`}>
38
+ <Calendar value={dates} onChange={(e) => {
39
+ console.log(`Calendar changed values are: `);
40
+ console.log(e.value);
41
+ const newDates = e.value as Date[] | null;
42
+ setDates(newDates);
43
+
44
+ if (newDates && newDates.length === 2 && newDates[0] && newDates[1]) {
45
+ const filter: SqlExpression = {
46
+ variableName: dashboardVariable.variableName,
47
+ // @ts-ignore
48
+ operator: '$between',
49
+ value: [
50
+ newDates[0].toISOString().split('T')[0],
51
+ newDates[1].toISOString().split('T')[0]
52
+ ]
53
+ };
54
+ setFilters(prev => {
55
+ // Remove any existing dashboardDate filter and replace with the new one
56
+ // const filtered = prev.filter(f => f.variableName !== 'dashboardDate');
57
+ return [filter];
58
+ });
59
+ }
60
+
61
+ }} selectionMode="range" readOnlyInput hideOnRangeSelection inputStyle={{ height: 36.38 }} className={styles.SolidDashboardDateRangeFilter} />
62
+ <div className="px-2">
63
+ <i className="pi pi-calendar opacity-50"></i>
64
+ </div>
65
+ </div>
66
+ )
67
+ }
68
+
69
+ export const SelectionDynamicVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {
70
+ // Initialize the selection dynamic values state
71
+ // Pick the values from defaultValue if present, for default operator $in
72
+ const defaultDynamicValuesString = dashboardVariable.defaultOperator === '$in' && dashboardVariable.defaultValue;
73
+ const defaultDynamicValues = JSON.parse(defaultDynamicValuesString || '[]');
74
+
75
+ // Selection Dynamic Values
76
+ const [selectionDynamicValues, setSelectionDynamicValues] = useState<string[]>(defaultDynamicValues);
77
+ const [filteredItems, setFilteredItems] = useState<string[]>([]);
78
+
79
+ // Using rtk query to fetch dynamic values based on variableId
80
+ const variableId = dashboardVariable.id;
81
+ const queryString = `variableId=${variableId}`;
82
+ const { data: dynamicValues, isLoading, isError } = useGetDashboardVariableSelectionDynamicValuesQuery(queryString);
83
+
84
+ const allItems = dynamicValues ? dynamicValues : [];
85
+
86
+ // Dynamic search
87
+ const searchDynamic = (event: AutoCompleteCompleteEvent) => {
88
+ const query = event.query.toLowerCase();
89
+ const filtered = allItems.map(item => item.label).filter(item =>
90
+ item.toLowerCase().includes(query)
91
+ );
92
+ setFilteredItems(filtered);
93
+ };
94
+
95
+ // Set the filters whenever selectionDynamicValues change
96
+ useEffect(() => {
97
+ console.log(`Selection Dynamic Values changed:`, selectionDynamicValues);
98
+ if (selectionDynamicValues.length > 0) {
99
+ const filter: SqlExpression = {
100
+ variableName: dashboardVariable.variableName,
101
+ // @ts-ignore
102
+ operator: '$in',
103
+ value: selectionDynamicValues
104
+ };
105
+ setFilters(prev => {
106
+ // Remove any existing filter for this variable and replace with the new one
107
+ const filtered = prev.filter(f => f.variableName !== dashboardVariable.variableName);
108
+ return [...filtered, filter];
109
+ });
110
+ }
111
+ // else {
112
+ // // If no values selected, remove the filter for this variable
113
+ // setFilters(prev => prev.filter(f => f.variableName !== dashboardVariable.variableName));
114
+ // }
115
+ }, [selectionDynamicValues]);
116
+
117
+ useEffect(() => {
118
+ setSelectionDynamicValues([]);
119
+ }, [clearSignal]);
120
+
121
+ return (
122
+ <>
123
+ {isLoading && <ProgressSpinner></ProgressSpinner>}
124
+ {isError && <div>Error loading values</div>}
125
+ {!isLoading && !isError &&
126
+ <AutoComplete
127
+ value={selectionDynamicValues}
128
+ suggestions={filteredItems}
129
+ completeMethod={searchDynamic}
130
+ onChange={(e: AutoCompleteChangeEvent) => {
131
+ console.log('AutoComplete changed values are:');
132
+ console.log(e);
133
+ setSelectionDynamicValues(e.value)
134
+ }}
135
+ multiple
136
+ dropdown
137
+ placeholder={dashboardVariable.variableName}
138
+ className="solid-standard-autocomplete"
139
+ style={{ minHeight: 38 }}
140
+ />
141
+ }
142
+ </>
143
+ );
144
+ }
145
+
146
+ export const SelectionStaticVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {
147
+ // Initialize the selection static values state
148
+ // Pick the values from defaultValue if present, for default operator $in
149
+ const defaultStaticValuesString = dashboardVariable.defaultOperator === '$in' && dashboardVariable.defaultValue;
150
+ const defaultStaticValues = JSON.parse(defaultStaticValuesString || '[]');
151
+
152
+ // Selection Static Values
153
+ const [selectionStaticValues, setSelectionStaticValues] = useState<string[]>(defaultStaticValues);
154
+ const [filteredStaticItems, setFilteredStaticItems] = useState<string[]>([]);
155
+ const staticValues = dashboardVariable.selectionStaticValues || [];
156
+
157
+ // The values are in the format val:label, we need to extract the labels
158
+ const staticValueItems = staticValues.map((val: any) => ({ value: val.split(':')[0], label: val.split(':')[1] }));
159
+
160
+ // Static search
161
+ const searchStatic = (event: AutoCompleteCompleteEvent) => {
162
+ const query = event.query.toLowerCase();
163
+ const filtered = staticValueItems.map(
164
+ (item: { label: any; }) => item.label
165
+ ).filter((item: string) =>
166
+ item.toLowerCase().includes(query)
167
+ );
168
+ setFilteredStaticItems(filtered);
169
+ };
170
+
171
+ // Set the filters whenever selectionStaticValues change
172
+ useEffect(() => {
173
+ // console.log(`Selection Static Values changed:`, selectionStaticValues);
174
+ if (selectionStaticValues.length > 0) {
175
+ const filter: SqlExpression = {
176
+ variableName: dashboardVariable.variableName,
177
+ // @ts-ignore
178
+ operator: '$in',
179
+ value: selectionStaticValues
180
+ };
181
+ setFilters(prev => {
182
+ // Remove any existing filter for this variable and replace with the new one
183
+ const filtered = prev.filter(f => f.variableName !== dashboardVariable.variableName);
184
+ return [...filtered, filter];
185
+ });
186
+ }
187
+ // else {
188
+ // // If no values selected, remove the filter for this variable
189
+ // setFilters(prev => prev.filter(f => f.variableName !== dashboardVariable.variableName));
190
+ // }
191
+ }, [selectionStaticValues]);
192
+
193
+ useEffect(() => {
194
+ setSelectionStaticValues([]);
195
+ }, [clearSignal]);
196
+
197
+ return (
198
+ <AutoComplete
199
+ value={selectionStaticValues}
200
+ suggestions={filteredStaticItems}
201
+ completeMethod={searchStatic}
202
+ onChange={(e: AutoCompleteChangeEvent) => setSelectionStaticValues(e.value)}
203
+ multiple
204
+ dropdown
205
+ placeholder={dashboardVariable.variableName}
206
+ className="solid-standard-autocomplete"
207
+ style={{ minHeight: 38 }}
208
+ />
209
+ );
210
+ }
211
+
212
+ export interface SolidDashboardVariableProps {
213
+ dashboardVariables: any;
214
+ filters: SqlExpression[];
215
+ setFilters: Dispatch<SetStateAction<SqlExpression[]>>;
216
+ }
217
+
218
+ const SolidDashboardVariable: React.FC<SolidDashboardVariableProps> = ({ dashboardVariables, filters, setFilters }) => {
219
+ const [clearSignal, setClearSignal] = useState(0);
220
+ const dashboardVariableComponents = dashboardVariables.map((dashboardVariable: any, index: number) => {
221
+ switch (dashboardVariable.variableType) {
222
+ case 'date':
223
+ return <DateVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;
224
+ case 'selectionStatic':
225
+ return <SelectionStaticVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;
226
+ case 'selectionDynamic':
227
+ return <SelectionDynamicVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;
228
+ default:
229
+ return null;
230
+ }
231
+ });
232
+
233
+ const clearAllFilters = () => {
234
+ setFilters([]);
235
+ setClearSignal(prev => prev + 1); // triggers children to reset
236
+ };
237
+
238
+ // TODO [HP]: Currently this is static, we need this to be dynamic how we are invoking setFilters below has to be fully dynamic...
239
+ return (
240
+ <div className="flex align-items-center gap-3">
241
+ {dashboardVariableComponents}
242
+ {filters.length > 0 && (
243
+ <Button
244
+ onClick={clearAllFilters}
245
+ size="small"
246
+ outlined
247
+ // severity="info"
248
+ icon="pi pi-filter-slash"
249
+ />
250
+ )}
251
+ </div>
252
+ );
253
+ }
254
+
255
+ export default SolidDashboardVariable;
256
+
@@ -0,0 +1,78 @@
1
+ "use client"
2
+ import { useGetDashboardQuestionDataByIdQuery } from '../../../redux/api/dashboardQuestionApi';
3
+ import { SqlExpression } from '../../../types/solid-core';
4
+ import { Message } from 'primereact/message';
5
+ import { MeterGroup } from 'primereact/metergroup';
6
+ import { ProgressSpinner } from 'primereact/progressspinner';
7
+ import qs from 'qs';
8
+ import { ChartJsRenderer } from './chart-renderers/ChartJsRenderer';
9
+ import PrimeReactDatatableRenderer from './chart-renderers/PrimeReactDatatableRenderer';
10
+ import styles from './SolidDashboard.module.css';
11
+
12
+ type SolidQuestionRendererProps = {
13
+ question: any;
14
+ filters: SqlExpression[];
15
+ isPreview: boolean;
16
+ };
17
+
18
+ type DataItem= {
19
+ value: number;
20
+ label?: string | HTMLElement;
21
+ color?: string;
22
+ }
23
+
24
+ export const SolidQuestionRenderer = ({ question, filters = [], isPreview = false }: SolidQuestionRendererProps) => {
25
+ if (!question) {
26
+ return (
27
+ <div className={`${styles.SolidChartCardWrapper} p-4`}>
28
+ <Message text="Preview Unavailable" />
29
+ </div>
30
+ );
31
+ }
32
+
33
+ const textAlign = question?.textAlign ?? 'start'
34
+ if (!question) {
35
+ return (
36
+ <>
37
+ <Message text="Preview Unavailable" />
38
+ </>
39
+ )
40
+ }
41
+ // console.log(`Rendering BarChartRenderer using question id: ${question.id}`);
42
+
43
+ // load the question data.
44
+ const queryParams = qs.stringify(
45
+ {
46
+ isPreview,
47
+ filters,
48
+ },
49
+ // ensures proper handling of arrays
50
+ // { arrayFormat: 'indices' }
51
+ );
52
+ const { data: questionData, isLoading: questionDataIsLoading, error: questionDataError } = useGetDashboardQuestionDataByIdQuery({ id: question.id, qs: queryParams });
53
+
54
+
55
+ // console.log(`Question data: `); console.log(questionData);
56
+ // console.log(`Question data is loading: `); console.log(questionDataIsLoading);
57
+ // console.log(`Question data error: `); console.log(questionDataError);
58
+ const options = JSON.parse(question?.chartOptions);
59
+ // const kpi = questionData.data.kpi;
60
+ // const visualizationData = questionData.data.visualizationData;
61
+ // const visualizedAs = question.data.visualisedAs;
62
+ return (
63
+ <>
64
+ {questionDataIsLoading && <ProgressSpinner />}
65
+ {!questionDataIsLoading &&
66
+ <div className={`${styles.SolidChartCardWrapper} p-4 h-full`}>
67
+ <div className={`font-medium text-${textAlign} ${styles.SolidChartTitle}`}>{question.name}</div>
68
+ <div className={`mt-2 font-bold text-3xl text-${textAlign} ${styles.SolidChartTitle}`}>{questionData.data.kpi}</div>
69
+ <div className='mt-3'>
70
+ {['bar', 'line', 'pie'].includes(question.visualisedAs) && <ChartJsRenderer options={options} visualizationData={questionData.data.visualizationData} visualizedAs={question.visualisedAs} />}
71
+ {question.visualisedAs === 'prime-meter-group' && <MeterGroup values={questionData.data.visualizationData.dataset} max={questionData?.data?.visualizationData?.dataset?.reduce((total: number, item: DataItem) => total + item.value, 0)}/>}
72
+ {question.visualisedAs === 'prime-datatable' && <PrimeReactDatatableRenderer options={options} visualizationData={questionData.data.visualizationData} />}
73
+ </div>
74
+ </div>
75
+ }
76
+ </>
77
+ )
78
+ }
@@ -0,0 +1,18 @@
1
+ "use client"
2
+ import "../../../../components/core/dashboard/chart-renderers/init-chartjs";
3
+ import { Bar, Line, Pie } from "react-chartjs-2";
4
+
5
+ type ChartJsRendererProps = {
6
+ options: any;
7
+ visualizationData: any;
8
+ visualizedAs: 'bar' | 'line' | 'pie';
9
+ };
10
+ export const ChartJsRenderer = ({ options, visualizationData, visualizedAs }: ChartJsRendererProps) => {
11
+ return (
12
+ <>
13
+ {visualizedAs === 'bar' && <Bar options={options} data={visualizationData} />}
14
+ {visualizedAs === 'line' && <Line options={options} data={visualizationData} />}
15
+ {visualizedAs === 'pie' && <Pie data={visualizationData} />}
16
+ </>
17
+ );
18
+ }
@@ -0,0 +1,54 @@
1
+ "use client";
2
+ // import "../../../../components/core/dashboard/chart-renderers/init-chartjs";
3
+ import { Column } from "primereact/column";
4
+ import { DataTable } from "primereact/datatable";
5
+ import { ProgressSpinner } from "primereact/progressspinner";
6
+
7
+ type PrimeReactDatatableRendererProps = {
8
+ options: any;
9
+ visualizationData: any;
10
+ }
11
+
12
+ const PrimeReactDatatableRenderer = ({ options, visualizationData }: PrimeReactDatatableRendererProps) => {
13
+ // {
14
+ // "size": "small",
15
+ // "showGridlines": true,
16
+ // "stripedRows": true,
17
+ // "pagination": {
18
+ // "rows": 10,
19
+ // "rowsPerPageOptions": [5, 10, 25, 50]
20
+ // }
21
+ // }
22
+
23
+ const size = options?.size || 'small';
24
+ const showGridlines = options?.showGridLines || false;
25
+ const stripedRows = options?.stripedRows || false;
26
+ const paginator = options?.pagination || false;
27
+ const rows = options?.pagination?.rows || 10;
28
+ const rowsPerPageOptions = options?.pagination?.rowsPerPageOptions || [5, 10, 25, 50];
29
+
30
+ if (!visualizationData) {
31
+ return (
32
+ <>
33
+ <ProgressSpinner />
34
+ </>
35
+ );
36
+ }
37
+
38
+ const columns = visualizationData.columns;
39
+ const data = visualizationData.rows;
40
+
41
+ return (
42
+ <>
43
+ <DataTable value={data} tableStyle={{ minWidth: '50rem' }} size={size} showGridlines={showGridlines} stripedRows={stripedRows} paginator={paginator} rows={rows} rowsPerPageOptions={rowsPerPageOptions} >
44
+ {
45
+ columns.map((col: any, i: number) => (
46
+ <Column key={col.field} field={col.field} header={col.header} />
47
+ ))
48
+ }
49
+ </DataTable>
50
+ </>
51
+ )
52
+ };
53
+
54
+ export default PrimeReactDatatableRenderer;
@@ -0,0 +1,25 @@
1
+ import {
2
+ Chart as ChartJS,
3
+ CategoryScale,
4
+ LinearScale,
5
+ BarElement,
6
+ LineElement,
7
+ PointElement,
8
+ Title,
9
+ Tooltip,
10
+ Legend,
11
+ ArcElement,
12
+ } from 'chart.js';
13
+
14
+ // Only register once globally
15
+ ChartJS.register(
16
+ CategoryScale,
17
+ LinearScale,
18
+ BarElement,
19
+ LineElement,
20
+ PointElement,
21
+ Title,
22
+ Tooltip,
23
+ Legend,
24
+ ArcElement
25
+ );
@@ -0,0 +1,39 @@
1
+ // export enum RuleMatchMode {
2
+ // EQUALS = '$equals',
3
+ // NOT_EQUALS = '$notEquals',
4
+ // CONTAINS = '$contains',
5
+ // NOT_CONTAINS = '$notContains',
6
+ // STARTS_WITH = '$startsWith',
7
+ // ENDS_WITH = '$endsWith',
8
+ // IN = '$in',
9
+ // NOT_IN = '$notIn',
10
+ // BETWEEN = '$between',
11
+ // LT = '$lt',
12
+ // LTE = '$lte',
13
+ // GT = '$gt',
14
+ // GTE = '$gte'
15
+ // }
16
+
17
+ export const getNumberOfInputs = (matchMode: any): number | null => {
18
+
19
+ switch (matchMode) {
20
+ case '$between':
21
+ return 2;
22
+ case '$in':
23
+ case '$notIn':
24
+ return null;
25
+ case '$startsWith':
26
+ case '$contains':
27
+ case '$notContains':
28
+ case '$endsWith':
29
+ case '$equals':
30
+ case '$notEquals':
31
+ case '$lt':
32
+ case '$lte':
33
+ case '$gt':
34
+ case '$gte':
35
+ return 1;
36
+ default:
37
+ return 1; // Default to single input if no specific match is found
38
+ }
39
+ }
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import 'primeicons/primeicons.css';
3
+
4
+ interface StatusIconProps {
5
+ isPublished: boolean;
6
+ }
7
+
8
+ export const StatusIcon: React.FC<StatusIconProps> = ({ isPublished }) => {
9
+ return (
10
+ <span
11
+ className={`status-icon ${isPublished ? 'success' : 'danger'}`}
12
+ title={isPublished ? 'Published' : 'Not Published'}
13
+ >
14
+ <i className={`pi ${isPublished ? 'pi-check' : 'pi-times'}`} />
15
+ </span>
16
+ );
17
+ };
@@ -0,0 +1,36 @@
1
+ "use client";
2
+
3
+ import { SolidFormWidgetProps } from "../../../../../types";
4
+ import { Message } from 'primereact/message';
5
+ import { SolidQuestionRenderer } from "../../../../../components/core/dashboard/SolidQuestionRenderer";
6
+
7
+ const ChartFormPreviewWidget = ({ formData, field, fieldsMetadata, viewMetadata, formViewData }: SolidFormWidgetProps) => {
8
+ console.log(`formData: `);
9
+ console.log(formData);
10
+ console.log(`field: `);
11
+ console.log(field);
12
+ console.log(`fieldsMetadata: `);
13
+ console.log(fieldsMetadata);
14
+ console.log(`viewMetadata: `);
15
+ console.log(viewMetadata);
16
+ console.log(`formViewData: `);
17
+ console.log(formViewData);
18
+
19
+ if (!formData || !formData.visualisedAs) {
20
+ return (
21
+ <>
22
+ <Message text="Preview Unavailable" />
23
+ </>
24
+ )
25
+ }
26
+
27
+ const visualisedAs = formData.visualisedAs.value;
28
+
29
+ return (
30
+ <div className="mt-3 p-2">
31
+ <SolidQuestionRenderer question={formViewData?.data} isPreview={true} filters={[]} />
32
+ </div>
33
+ );
34
+ };
35
+
36
+ export default ChartFormPreviewWidget;
@@ -0,0 +1,18 @@
1
+ import { SolidViewLayoutManager } from "../../../../../components/core/common/SolidViewLayoutManager";
2
+
3
+ const hanldeEmailFormTypeChange = (event: any) => {
4
+
5
+ const { modifiedField, modifiedFieldValue, viewMetadata, } = event;
6
+ const layout = viewMetadata.layout;
7
+ if (modifiedField === 'type') {
8
+ const layoutManager = new SolidViewLayoutManager(layout);
9
+ const renderMode = modifiedFieldValue.value === 'text' ? 'DefaultLongTextFormEditWidget' : 'DefaultRichTextFormEditWidget';
10
+ layoutManager.updateNodeAttributes('body', { "editWidget": renderMode});
11
+ return {
12
+ layoutChanged: true,
13
+ dataChanged: false,
14
+ newLayout: layoutManager.getLayout(),
15
+ }
16
+ }
17
+ }
18
+ export default hanldeEmailFormTypeChange;
@@ -0,0 +1,18 @@
1
+ import { SolidViewLayoutManager } from "../../../../../components/core/common/SolidViewLayoutManager";
2
+
3
+ const hanldeEmailFormTypeLoad = (event: any) => {
4
+
5
+ const { formData, type, viewMetadata } = event;
6
+ const layout = viewMetadata.layout;
7
+ if (formData?.type && type === 'onFormLayoutLoad') {
8
+ const layoutManager = new SolidViewLayoutManager(layout);
9
+ const renderMode = formData.type === 'text' ? 'DefaultLongTextFormEditWidget' : 'DefaultRichTextFormEditWidget';
10
+ layoutManager.updateNodeAttributes('body', { "editWidget": renderMode});
11
+ return {
12
+ layoutChanged: true,
13
+ dataChanged: false,
14
+ newLayout: layoutManager.getLayout(),
15
+ }
16
+ }
17
+ }
18
+ export default hanldeEmailFormTypeLoad;