@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,260 @@
1
+ "use client";
2
+ const countries = [
3
+ { name: "+93 Afghanistan", code: "AF", numberCode: "+93" },
4
+ { name: "Albania", code: "AL", numberCode: "+355" },
5
+ { name: "Algeria", code: "DZ", numberCode: "+213" },
6
+ { name: "American Samoa", code: "AS", numberCode: "+1-684" },
7
+ { name: "Andorra", code: "AD", numberCode: "+376" },
8
+ { name: "Angola", code: "AO", numberCode: "+244" },
9
+ { name: "Anguilla", code: "AI", numberCode: "+1-264" },
10
+ { name: "Antigua and Barbuda", code: "AG", numberCode: "+1-268" },
11
+ { name: "Argentina", code: "AR", numberCode: "+54" },
12
+ { name: "Armenia", code: "AM", numberCode: "+374" },
13
+ { name: "Aruba", code: "AW", numberCode: "+297" },
14
+ { name: "Australia", code: "AU", numberCode: "+61" },
15
+ { name: "Austria", code: "AT", numberCode: "+43" },
16
+ { name: "Azerbaijan", code: "AZ", numberCode: "+994" },
17
+ { name: "Bahamas", code: "BS", numberCode: "+1-242" },
18
+ { name: "Bahrain", code: "BH", numberCode: "+973" },
19
+ { name: "Bangladesh", code: "BD", numberCode: "+880" },
20
+ { name: "Barbados", code: "BB", numberCode: "+1-246" },
21
+ { name: "Belarus", code: "BY", numberCode: "+375" },
22
+ { name: "Belgium", code: "BE", numberCode: "+32" },
23
+ { name: "Belize", code: "BZ", numberCode: "+501" },
24
+ { name: "Benin", code: "BJ", numberCode: "+229" },
25
+ { name: "Bermuda", code: "BM", numberCode: "+1-441" },
26
+ { name: "Bhutan", code: "BT", numberCode: "+975" },
27
+ { name: "Bolivia", code: "BO", numberCode: "+591" },
28
+ { name: "Bosnia and Herzegovina", code: "BA", numberCode: "+387" },
29
+ { name: "Botswana", code: "BW", numberCode: "+267" },
30
+ { name: "Brazil", code: "BR", numberCode: "+55" },
31
+ { name: "British Indian Ocean Territory", code: "IO", numberCode: "+246" },
32
+ { name: "Brunei Darussalam", code: "BN", numberCode: "+673" },
33
+ { name: "Bulgaria", code: "BG", numberCode: "+359" },
34
+ { name: "Burkina Faso", code: "BF", numberCode: "+226" },
35
+ { name: "Burundi", code: "BI", numberCode: "+257" },
36
+ { name: "Cambodia", code: "KH", numberCode: "+855" },
37
+ { name: "Cameroon", code: "CM", numberCode: "+237" },
38
+ { name: "Canada", code: "CA", numberCode: "+1" },
39
+ { name: "Cape Verde", code: "CV", numberCode: "+238" },
40
+ { name: "Cayman Islands", code: "KY", numberCode: "+1-345" },
41
+ { name: "Central African Republic", code: "CF", numberCode: "+236" },
42
+ { name: "Chad", code: "TD", numberCode: "+235" },
43
+ { name: "Chile", code: "CL", numberCode: "+56" },
44
+ { name: "China", code: "CN", numberCode: "+86" },
45
+ { name: "Christmas Island", code: "CX", numberCode: "+61" },
46
+ { name: "Cocos (Keeling) Islands", code: "CC", numberCode: "+61" },
47
+ { name: "Colombia", code: "CO", numberCode: "+57" },
48
+ { name: "Comoros", code: "KM", numberCode: "+269" },
49
+ { name: "Congo", code: "CG", numberCode: "+242" },
50
+ {
51
+ name: "Congo, the Democratic Republic of the",
52
+ code: "CD",
53
+ numberCode: "+243",
54
+ },
55
+ { name: "Cook Islands", code: "CK", numberCode: "+682" },
56
+ { name: "Costa Rica", code: "CR", numberCode: "+506" },
57
+ { name: "Cote D'Ivoire", code: "CI", numberCode: "+225" },
58
+ { name: "Croatia", code: "HR", numberCode: "+385" },
59
+ { name: "Cuba", code: "CU", numberCode: "+53" },
60
+ { name: "Cyprus", code: "CY", numberCode: "+357" },
61
+ { name: "Czech Republic", code: "CZ", numberCode: "+420" },
62
+ { name: "Denmark", code: "DK", numberCode: "+45" },
63
+ { name: "Djibouti", code: "DJ", numberCode: "+253" },
64
+ { name: "Dominica", code: "DM", numberCode: "+1-767" },
65
+ {
66
+ name: "Dominican Republic",
67
+ code: "DO",
68
+ numberCode: "+1-809, +1-829, +1-849",
69
+ },
70
+ { name: "Ecuador", code: "EC", numberCode: "+593" },
71
+ { name: "Egypt", code: "EG", numberCode: "+20" },
72
+ { name: "El Salvador", code: "SV", numberCode: "+503" },
73
+ { name: "Equatorial Guinea", code: "GQ", numberCode: "+240" },
74
+ { name: "Eritrea", code: "ER", numberCode: "+291" },
75
+ { name: "Estonia", code: "EE", numberCode: "+372" },
76
+ { name: "Ethiopia", code: "ET", numberCode: "+251" },
77
+ { name: "Falkland Islands (Malvinas)", code: "FK", numberCode: "+500" },
78
+ { name: "Faroe Islands", code: "FO", numberCode: "+298" },
79
+ { name: "Fiji", code: "FJ", numberCode: "+679" },
80
+ { name: "Finland", code: "FI", numberCode: "+358" },
81
+ { name: "France", code: "FR", numberCode: "+33" },
82
+ { name: "French Guiana", code: "GF", numberCode: "+594" },
83
+ { name: "French Polynesia", code: "PF", numberCode: "+689" },
84
+ { name: "Gabon", code: "GA", numberCode: "+241" },
85
+ { name: "Gambia", code: "GM", numberCode: "+220" },
86
+ { name: "Georgia", code: "GE", numberCode: "+995" },
87
+ { name: "Germany", code: "DE", numberCode: "+49" },
88
+ { name: "Ghana", code: "GH", numberCode: "+233" },
89
+ { name: "Gibraltar", code: "GI", numberCode: "+350" },
90
+ { name: "Greece", code: "GR", numberCode: "+30" },
91
+ { name: "Greenland", code: "GL", numberCode: "+299" },
92
+ { name: "Grenada", code: "GD", numberCode: "+1-473" },
93
+ { name: "Guadeloupe", code: "GP", numberCode: "+590" },
94
+ { name: "Guam", code: "GU", numberCode: "+1-671" },
95
+ { name: "Guatemala", code: "GT", numberCode: "+502" },
96
+ { name: "Guinea", code: "GN", numberCode: "+224" },
97
+ { name: "Guinea-Bissau", code: "GW", numberCode: "+245" },
98
+ { name: "Guyana", code: "GY", numberCode: "+592" },
99
+ { name: "Haiti", code: "HT", numberCode: "+509" },
100
+ { name: "Holy See (Vatican City State)", code: "VA", numberCode: "+379" },
101
+ { name: "Honduras", code: "HN", numberCode: "+504" },
102
+ { name: "Hong Kong", code: "HK", numberCode: "+852" },
103
+ { name: "Hungary", code: "HU", numberCode: "+36" },
104
+ { name: "Iceland", code: "IS", numberCode: "+354" },
105
+ { name: "India", code: "IN", numberCode: "+91" },
106
+ { name: "Indonesia", code: "ID", numberCode: "+62" },
107
+ { name: "Iran, Islamic Republic of", code: "IR", numberCode: "+98" },
108
+ { name: "Iraq", code: "IQ", numberCode: "+964" },
109
+ { name: "Ireland", code: "IE", numberCode: "+353" },
110
+ { name: "Israel", code: "IL", numberCode: "+972" },
111
+ { name: "Italy", code: "IT", numberCode: "+39" },
112
+ { name: "Jamaica", code: "JM", numberCode: "+1-876" },
113
+ { name: "Japan", code: "JP", numberCode: "+81" },
114
+ { name: "Jordan", code: "JO", numberCode: "+962" },
115
+ { name: "Kazakhstan", code: "KZ", numberCode: "+7" },
116
+ { name: "Kenya", code: "KE", numberCode: "+254" },
117
+ { name: "Kiribati", code: "KI", numberCode: "+686" },
118
+ {
119
+ name: "Korea, Democratic People's Republic of",
120
+ code: "KP",
121
+ numberCode: "+850",
122
+ },
123
+ { name: "Korea, Republic of", code: "KR", numberCode: "+82" },
124
+ { name: "Kuwait", code: "KW", numberCode: "+965" },
125
+ { name: "Kyrgyzstan", code: "KG", numberCode: "+996" },
126
+ {
127
+ name: "Lao People's Democratic Republic",
128
+ code: "LA",
129
+ numberCode: "+856",
130
+ },
131
+ { name: "Latvia", code: "LV", numberCode: "+371" },
132
+ { name: "Lebanon", code: "LB", numberCode: "+961" },
133
+ { name: "Lesotho", code: "LS", numberCode: "+266" },
134
+ { name: "Liberia", code: "LR", numberCode: "+231" },
135
+ { name: "Libyan Arab Jamahiriya", code: "LY", numberCode: "+218" },
136
+ { name: "Liechtenstein", code: "LI", numberCode: "+423" },
137
+ { name: "Lithuania", code: "LT", numberCode: "+370" },
138
+ { name: "Luxembourg", code: "LU", numberCode: "+352" },
139
+ { name: "Macao", code: "MO", numberCode: "+853" },
140
+ {
141
+ name: "Macedonia, the Former Yugoslav Republic of",
142
+ code: "MK",
143
+ numberCode: "+389",
144
+ },
145
+ { name: "Madagascar", code: "MG", numberCode: "+261" },
146
+ { name: "Malawi", code: "MW", numberCode: "+265" },
147
+ { name: "Malaysia", code: "MY", numberCode: "+60" },
148
+ { name: "Maldives", code: "MV", numberCode: "+960" },
149
+ { name: "Mali", code: "ML", numberCode: "+223" },
150
+ { name: "Malta", code: "MT", numberCode: "+356" },
151
+ { name: "Marshall Islands", code: "MH", numberCode: "+692" },
152
+ { name: "Martinique", code: "MQ", numberCode: "+596" },
153
+ { name: "Mauritania", code: "MR", numberCode: "+222" },
154
+ { name: "Mauritius", code: "MU", numberCode: "+230" },
155
+ { name: "Mayotte", code: "YT", numberCode: "+262" },
156
+ { name: "Mexico", code: "MX", numberCode: "+52" },
157
+ { name: "Micronesia, Federated States of", code: "FM", numberCode: "+691" },
158
+ { name: "Moldova, Republic of", code: "MD", numberCode: "+373" },
159
+ { name: "Monaco", code: "MC", numberCode: "+377" },
160
+ { name: "Mongolia", code: "MN", numberCode: "+976" },
161
+ { name: "Montserrat", code: "MS", numberCode: "+1-664" },
162
+ { name: "Morocco", code: "MA", numberCode: "+212" },
163
+ { name: "Mozambique", code: "MZ", numberCode: "+258" },
164
+ { name: "Myanmar", code: "MM", numberCode: "+95" },
165
+ { name: "Namibia", code: "NA", numberCode: "+264" },
166
+ { name: "Nauru", code: "NR", numberCode: "+674" },
167
+ { name: "Nepal", code: "NP", numberCode: "+977" },
168
+ { name: "Netherlands", code: "NL", numberCode: "+31" },
169
+ { name: "Netherlands Antilles", code: "AN", numberCode: "+599" },
170
+ { name: "New Caledonia", code: "NC", numberCode: "+687" },
171
+ { name: "New Zealand", code: "NZ", numberCode: "+64" },
172
+ { name: "Nicaragua", code: "NI", numberCode: "+505" },
173
+ { name: "Niger", code: "NE", numberCode: "+227" },
174
+ { name: "Nigeria", code: "NG", numberCode: "+234" },
175
+ { name: "Niue", code: "NU", numberCode: "+683" },
176
+ { name: "Norfolk Island", code: "NF", numberCode: "+672" },
177
+ { name: "Northern Mariana Islands", code: "MP", numberCode: "+1-670" },
178
+ { name: "Norway", code: "NO", numberCode: "+47" },
179
+ { name: "Oman", code: "OM", numberCode: "+968" },
180
+ { name: "Pakistan", code: "PK", numberCode: "+92" },
181
+ { name: "Palau", code: "PW", numberCode: "+680" },
182
+ { name: "Palestinian Territory, Occupied", code: "PS", numberCode: "+970" },
183
+ { name: "Panama", code: "PA", numberCode: "+507" },
184
+ { name: "Papua New Guinea", code: "PG", numberCode: "+675" },
185
+ { name: "Paraguay", code: "PY", numberCode: "+595" },
186
+ { name: "Peru", code: "PE", numberCode: "+51" },
187
+ { name: "Philippines", code: "PH", numberCode: "+63" },
188
+ { name: "Pitcairn", code: "PN", numberCode: "+64" },
189
+ { name: "Poland", code: "PL", numberCode: "+48" },
190
+ { name: "Portugal", code: "PT", numberCode: "+351" },
191
+ { name: "Puerto Rico", code: "PR", numberCode: "+1-787, +1-939" },
192
+ { name: "Qatar", code: "QA", numberCode: "+974" },
193
+ { name: "Reunion", code: "RE", numberCode: "+262" },
194
+ { name: "Romania", code: "RO", numberCode: "+40" },
195
+ { name: "Russian Federation", code: "RU", numberCode: "+7" },
196
+ { name: "Rwanda", code: "RW", numberCode: "+250" },
197
+ { name: "Saint Helena", code: "SH", numberCode: "+290" },
198
+ { name: "Saint Kitts and Nevis", code: "KN", numberCode: "+1-869" },
199
+ { name: "Saint Lucia", code: "LC", numberCode: "+1-758" },
200
+ { name: "Saint Pierre and Miquelon", code: "PM", numberCode: "+508" },
201
+ {
202
+ name: "Saint Vincent and the Grenadines",
203
+ code: "VC",
204
+ numberCode: "+1-784",
205
+ },
206
+ { name: "Samoa", code: "WS", numberCode: "+685" },
207
+ { name: "San Marino", code: "SM", numberCode: "+378" },
208
+ { name: "Sao Tome and Principe", code: "ST", numberCode: "+239" },
209
+ { name: "Saudi Arabia", code: "SA", numberCode: "+966" },
210
+ { name: "Senegal", code: "SN", numberCode: "+221" },
211
+ { name: "Serbia and Montenegro", code: "CS", numberCode: "+381" },
212
+ { name: "Seychelles", code: "SC", numberCode: "+248" },
213
+ { name: "Sierra Leone", code: "SL", numberCode: "+232" },
214
+ { name: "Singapore", code: "SG", numberCode: "+65" },
215
+ { name: "Slovakia", code: "SK", numberCode: "+421" },
216
+ { name: "Slovenia", code: "SI", numberCode: "+386" },
217
+ { name: "Solomon Islands", code: "SB", numberCode: "+677" },
218
+ { name: "Somalia", code: "SO", numberCode: "+252" },
219
+ { name: "South Africa", code: "ZA", numberCode: "+27" },
220
+ { name: "Spain", code: "ES", numberCode: "+34" },
221
+ { name: "Sri Lanka", code: "LK", numberCode: "+94" },
222
+ { name: "Sudan", code: "SD", numberCode: "+249" },
223
+ { name: "Suriname", code: "SR", numberCode: "+597" },
224
+ { name: "Svalbard and Jan Mayen", code: "SJ", numberCode: "+47" },
225
+ { name: "Swaziland", code: "SZ", numberCode: "+268" },
226
+ { name: "Sweden", code: "SE", numberCode: "+46" },
227
+ { name: "Switzerland", code: "CH", numberCode: "+41" },
228
+ { name: "Syrian Arab Republic", code: "SY", numberCode: "+963" },
229
+ { name: "Taiwan, Province of China", code: "TW", numberCode: "+886" },
230
+ { name: "Tajikistan", code: "TJ", numberCode: "+992" },
231
+ { name: "Tanzania, United Republic of", code: "TZ", numberCode: "+255" },
232
+ { name: "Thailand", code: "TH", numberCode: "+66" },
233
+ { name: "Timor-Leste", code: "TL", numberCode: "+670" },
234
+ { name: "Togo", code: "TG", numberCode: "+228" },
235
+ { name: "Tokelau", code: "TK", numberCode: "+690" },
236
+ { name: "Tonga", code: "TO", numberCode: "+676" },
237
+ { name: "Trinidad and Tobago", code: "TT", numberCode: "+1-868" },
238
+ { name: "Tunisia", code: "TN", numberCode: "+216" },
239
+ { name: "Turkey", code: "TR", numberCode: "+90" },
240
+ { name: "Turkmenistan", code: "TM", numberCode: "+993" },
241
+ { name: "Turks and Caicos Islands", code: "TC", numberCode: "+1-649" },
242
+ { name: "Tuvalu", code: "TV", numberCode: "+688" },
243
+ { name: "Uganda", code: "UG", numberCode: "+256" },
244
+ { name: "Ukraine", code: "UA", numberCode: "+380" },
245
+ { name: "United Arab Emirates", code: "AE", numberCode: "+971" },
246
+ { name: "United Kingdom", code: "GB", numberCode: "+44" },
247
+ { name: "United States", code: "US", numberCode: "+1" },
248
+ { name: "Uruguay", code: "UY", numberCode: "+598" },
249
+ { name: "Uzbekistan", code: "UZ", numberCode: "+998" },
250
+ { name: "Vanuatu", code: "VU", numberCode: "+678" },
251
+ { name: "Venezuela", code: "VE", numberCode: "+58" },
252
+ { name: "Viet Nam", code: "VN", numberCode: "+84" },
253
+ { name: "Virgin Islands, British", code: "VG", numberCode: "+1-284" },
254
+ { name: "Virgin Islands, U.s.", code: "VI", numberCode: "+1-340" },
255
+ { name: "Wallis and Futuna", code: "WF", numberCode: "+681" },
256
+ { name: "Western Sahara", code: "EH", numberCode: "+212" },
257
+ { name: "Yemen", code: "YE", numberCode: "+967" },
258
+ { name: "Zambia", code: "ZM", numberCode: "+260" },
259
+ { name: "Zimbabwe", code: "ZW", numberCode: "+263" },
260
+ ];
@@ -0,0 +1,91 @@
1
+ import { ERROR_MESSAGES } from "../constants/error-messages";
2
+ import { getSession } from "next-auth/react";
3
+
4
+ export async function downloadFileWithProgress(
5
+ url: string,
6
+ handlers: {
7
+ onProgress?: (progress: number) => void;
8
+ onStatusChange?: (status: "In Progress" | "success" | "error", message: string, submessage: string) => void;
9
+ },
10
+ filters:any,
11
+ checkApplyFilter: boolean,
12
+ updateDto: any
13
+ ): Promise<{ fileName: string; blob: Blob }> {
14
+ const baseUrl = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api`;
15
+
16
+ try {
17
+ handlers.onStatusChange?.("In Progress", "Downloading File", "Please wait...");
18
+ const session = await getSession();
19
+ const headers = new Headers();
20
+ if (session?.user?.accessToken) {
21
+ headers.set("Authorization", `Bearer ${session.user.accessToken}`);
22
+ }
23
+ headers.set("Content-Type", "application/json");
24
+ const requestBody = {
25
+ ...updateDto,
26
+ ...(checkApplyFilter ? { filters } : {})
27
+ };
28
+
29
+ const response = await fetch(`${baseUrl}${url}`, {
30
+ method: "POST",
31
+ headers,
32
+ body: JSON.stringify(requestBody)
33
+ });
34
+ if (!response.ok || !response.body) {
35
+ throw new Error(ERROR_MESSAGES.FAILED_TO_FETCH_FILE);
36
+ }
37
+ const contentDisposition = response.headers.get("Content-Disposition");
38
+ const fileNameMatch = contentDisposition?.match(/filename="?([^"]+)"?/);
39
+ const fileName = fileNameMatch?.[1] || "exported-file";
40
+
41
+ const contentType = response.headers.get("content-type") || "application/octet-stream";
42
+ const extension = contentType.includes("excel")
43
+ ? ".xlsx"
44
+ : contentType.includes("csv")
45
+ ? ".csv"
46
+ : "";
47
+
48
+ const contentLength = response.headers.get("content-length");
49
+ const total = contentLength ? parseInt(contentLength) : 2130;
50
+ const reader = response.body.getReader();
51
+ const chunks: Uint8Array[] = [];
52
+ let received = 0;
53
+ let progress = 0;
54
+ const totalDuration = 500; // 1 seconds
55
+ const totalSteps = 100; // Progress steps from 0 to 100
56
+ const progressInterval = totalDuration / totalSteps;
57
+ while (true) {
58
+ const { done, value } = await reader.read();
59
+ if (done) break;
60
+
61
+ if (value) {
62
+ chunks.push(value);
63
+ const interval = setInterval(() => {
64
+ progress += 1;
65
+ handlers.onProgress?.(progress);
66
+
67
+ if (progress >= 100) {
68
+ clearInterval(interval);
69
+ }
70
+ }, progressInterval);
71
+ }
72
+ }
73
+
74
+ const blob = new Blob(chunks, { type: contentType });
75
+ const downloadUrl = URL.createObjectURL(blob);
76
+
77
+ const link = document.createElement("a");
78
+ link.href = downloadUrl;
79
+ link.download = fileName.endsWith(".csv") || fileName.endsWith(".xlsx")
80
+ ? fileName
81
+ : `${fileName}${extension}`;
82
+ link.click();
83
+ URL.revokeObjectURL(link.href);
84
+ handlers.onStatusChange?.("success", `${fileName}`, ERROR_MESSAGES.EXPORT_SUCCESSFULLY);
85
+ return { fileName, blob };
86
+
87
+ } catch (error) {
88
+ handlers.onStatusChange?.("error", ERROR_MESSAGES.DOWNLOAD_FAILED, ERROR_MESSAGES.TRY_AGAIN);
89
+ throw error;
90
+ }
91
+ }
@@ -0,0 +1,21 @@
1
+ import { ERROR_MESSAGES } from "../constants/error-messages";
2
+
3
+ export const downloadMediaFile = async (fileUrl: string, fileName: string) => {
4
+ try {
5
+ const response = await fetch(`${process.env.NEXT_PUBLIC_BACKEND_API_URL}/${fileUrl}`);
6
+ const blob = await response.blob();
7
+
8
+ const link = document.createElement("a");
9
+ link.href = URL.createObjectURL(blob);
10
+ link.setAttribute("download", fileName || "download");
11
+
12
+ document.body.appendChild(link);
13
+ link.click();
14
+ document.body.removeChild(link);
15
+
16
+ // Clean up the object URL
17
+ URL.revokeObjectURL(link.href);
18
+ } catch (error) {
19
+ console.error(ERROR_MESSAGES.DOWNLOAD_FAILED, error);
20
+ }
21
+ };
@@ -0,0 +1,22 @@
1
+ export default function getAcceptedFileTypes(mediaTypes: string[]) {
2
+ if (!mediaTypes || mediaTypes.length === 0) return {}; // Default empty
3
+
4
+ const fileTypeMapping: Record<string, string> = {
5
+ image: "image/*",
6
+ audio: "audio/*",
7
+ video: "video/*",
8
+ pdf: "application/pdf",
9
+ file: "",
10
+ };
11
+
12
+ // If "file" exists in mediaTypes, allow all files
13
+ if (mediaTypes.includes("file")) {
14
+ return {};
15
+ }
16
+
17
+ const acceptedTypes = mediaTypes
18
+ .map(type => fileTypeMapping[type.toLowerCase()])
19
+ .filter(Boolean); // Remove undefined values
20
+
21
+ return acceptedTypes.length > 0 ? Object.fromEntries(acceptedTypes.map(type => [type, []])) : {};
22
+ }
@@ -0,0 +1,68 @@
1
+ // export function getTextColor(bgColor: string) {
2
+ // // Convert hex to RGB using slice instead of deprecated substr
3
+ // const r = parseInt(bgColor.slice(1, 3), 16)
4
+ // const g = parseInt(bgColor.slice(3, 5), 16)
5
+ // const b = parseInt(bgColor.slice(5, 7), 16)
6
+
7
+ // // Brightness formula (standard luminance)
8
+ // const brightness = (r * 299 + g * 587 + b * 114) / 1000
9
+ // return brightness > 128 ? '#000000' : '#FFFFFF'
10
+ // }
11
+
12
+ export function getRandomHexColor() {
13
+ const letters = '0123456789ABCDEF'
14
+ let color = '#'
15
+ for (let i = 0; i < 6; i++) {
16
+ color += letters[Math.floor(Math.random() * 16)]
17
+ }
18
+ return color
19
+ }
20
+
21
+ export const stringToColor = (str: string) => {
22
+ let hash = 0;
23
+ for (let i = 0; i < str.length; i++) {
24
+ hash = str.charCodeAt(i) + ((hash << 5) - hash);
25
+ }
26
+
27
+ // Convert hash to a color
28
+ const hue = hash % 360;
29
+ const saturation = 70 + (hash % 20); // 70-90% saturation
30
+ const lightness = 40 + (hash % 20); // 40-60% lightness
31
+
32
+ return `hsl(${hue}, ${saturation}%, ${lightness}%)`;
33
+ };
34
+
35
+ export const getTextColor = (bgColor: string) => {
36
+ const hsl = bgColor.match(/\d+/g);
37
+ if (!hsl) return '#000000';
38
+
39
+ const h = parseInt(hsl[0]) / 360;
40
+ const s = parseInt(hsl[1]) / 100;
41
+ const l = parseInt(hsl[2]) / 100;
42
+
43
+ let r, g, b;
44
+
45
+ if (s === 0) {
46
+ r = g = b = l;
47
+ } else {
48
+ const hue2rgb = (p: number, q: number, t: number) => {
49
+ if (t < 0) t += 1;
50
+ if (t > 1) t -= 1;
51
+ if (t < 1/6) return p + (q - p) * 6 * t;
52
+ if (t < 1/2) return q;
53
+ if (t < 2/3) return p + (q - p) * (2/3 - t) * 6;
54
+ return p;
55
+ };
56
+
57
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
58
+ const p = 2 * l - q;
59
+
60
+ r = hue2rgb(p, q, h + 1/3);
61
+ g = hue2rgb(p, q, h);
62
+ b = hue2rgb(p, q, h - 1/3);
63
+ }
64
+
65
+ const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;
66
+
67
+ return luminance > 0.5 ? '#000000' : '#FFFFFF';
68
+ };
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { camelCase, kebabCase, snakeCase } from "lodash";
3
+ import moment from "moment";
4
+ import pluralize from "pluralize";
5
+ import qs from "qs";
6
+
7
+ export const calculateDaysOfStay = (checkInDate: Date, checkOutDate: Date) => {
8
+ const startDate = moment(checkInDate);
9
+ const endDate = moment(checkOutDate);
10
+
11
+ return endDate.diff(startDate, "days") + 1;
12
+ };
13
+
14
+ export const addCommasToAmount = (amount: string) => {
15
+ amount = amount.toString();
16
+
17
+ const parts = amount.split(".");
18
+
19
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
20
+
21
+ return parts.join(".");
22
+ };
23
+
24
+
25
+ export const getSingularAndPlural = (displayName: any) => {
26
+ // Convert display name to kebab-case (lowercase with hyphens)
27
+ const toKebabCase: any = kebabCase(displayName);
28
+
29
+ const toSnakeCase: any = snakeCase(displayName);
30
+
31
+ const toCamelCase: any = camelCase(displayName);
32
+
33
+
34
+ // Get the plural form using pluralize
35
+ const toPluralKebabCase = pluralize(toKebabCase);
36
+
37
+ const toPluralCamelCase = pluralize(toCamelCase);
38
+
39
+
40
+ return { toKebabCase, toSnakeCase, toPluralKebabCase, toPluralCamelCase,toCamelCase };
41
+ };
42
+
43
+ function cleanForQuery(values: any) {
44
+ // remove files, blobs, data: URIs, null/undefined
45
+ return JSON.parse(JSON.stringify(values, (k, v) => {
46
+ if (v === null || v === undefined) return undefined;
47
+ if (v instanceof File || v instanceof Blob) return undefined;
48
+ if (typeof v === "string" && v.startsWith("data:")) return undefined;
49
+ return v;
50
+ }));
51
+ }
52
+
53
+ export function formikValuestoQueryString(values: any) {
54
+ const filtered = cleanForQuery(values);
55
+ return qs.stringify(filtered, {
56
+ encode: true,
57
+ arrayFormat: "brackets",
58
+ allowDots: true,
59
+ skipNulls: true,
60
+ });
61
+ }
@@ -0,0 +1,120 @@
1
+ import { FilterRule, FilterRuleType } from "../components/core/common/FilterComponent";
2
+ import { createSolidEntityApi } from "../redux/api/solidEntityApi";
3
+ import axios from "axios";
4
+ import { kebabCase } from "change-case";
5
+ import { getSession } from "next-auth/react";
6
+
7
+ interface RelationHydrationBucket {
8
+ meta: any;
9
+ rules: FilterRule[];
10
+ ids: Set<number>;
11
+ }
12
+
13
+ const API_URL = process.env.NEXT_PUBLIC_BACKEND_API_URL;
14
+
15
+ export async function hydrateRelationRules(
16
+ rootRules: FilterRule[],
17
+ viewData: any
18
+ ): Promise<FilterRule[]> {
19
+ const relationMap = new Map<string, RelationHydrationBucket>();
20
+
21
+ // 1️⃣ Collect all relation rules
22
+ const walk = (rule: FilterRule): void => {
23
+ if (rule.type === FilterRuleType.RULE && rule.fieldName) {
24
+ const meta =
25
+ viewData?.data?.solidFieldsMetadata?.[rule.fieldName];
26
+
27
+ if (
28
+ meta?.type === "relation" &&
29
+ meta.relationType === "many-to-many" &&
30
+ Array.isArray(rule.value) &&
31
+ typeof rule.value[0] === "number"
32
+ ) {
33
+ if (!relationMap.has(rule.fieldName)) {
34
+ relationMap.set(rule.fieldName, {
35
+ meta,
36
+ rules: [],
37
+ ids: new Set<number>()
38
+ });
39
+ }
40
+
41
+ const bucket = relationMap.get(rule.fieldName)!;
42
+ (rule.value as number[]).forEach(id => bucket.ids.add(id));
43
+ bucket.rules.push(rule);
44
+ }
45
+ }
46
+
47
+ if (Array.isArray(rule.children)) {
48
+ rule.children.forEach(walk);
49
+ }
50
+ };
51
+
52
+ rootRules.forEach(walk);
53
+
54
+ // 2️⃣ Fetch & hydrate per relation field (ARRAY SAFE)
55
+ const buckets = Array.from(relationMap.values());
56
+
57
+ const session: any = await getSession();
58
+ const token = session?.user?.accessToken;
59
+
60
+ if (!token) {
61
+ console.error("hydrateRelationRules: Not authenticated");
62
+ return rootRules;
63
+ }
64
+
65
+
66
+ for (const bucket of buckets) {
67
+ const { meta, rules, ids } = bucket;
68
+
69
+ if (
70
+ !meta.relationCoModelSingularName ||
71
+ !meta.relationModel?.userKeyField?.name
72
+ ) {
73
+ continue;
74
+ }
75
+
76
+ // const { useLazyGetSolidEntitiesQuery } = entityApi;
77
+ // const [triggerGetSolidEntities] = useLazyGetSolidEntitiesQuery();
78
+
79
+ // const response = await triggerGetSolidEntities({
80
+ // filters: { id: { $in: Array.from(ids) } },
81
+ // limit: 100
82
+ // });
83
+ const kebabEntityName = kebabCase(meta.relationCoModelSingularName);
84
+
85
+ const resp = await axios.get(`${API_URL}/api/${kebabEntityName}`,
86
+ {
87
+ params: {
88
+ offset: 0,
89
+ limit: 100,
90
+ filters: {
91
+ id: { $in: Array.from(ids) },
92
+ },
93
+ },
94
+ headers: {
95
+ Authorization: `Bearer ${token}`,
96
+ },
97
+ }
98
+ );
99
+ const records = resp?.data?.data?.records ?? [];
100
+
101
+ const labelField = meta.relationModel.userKeyField.name;
102
+
103
+ const idToLabel = new Map<number, string>(
104
+ records.map((item: any) => [
105
+ item.id,
106
+ item[labelField]
107
+ ])
108
+ );
109
+
110
+ // 3️⃣ Replace numeric IDs with { label, value }
111
+ rules.forEach((rule: FilterRule) => {
112
+ rule.value = (rule.value as number[]).map(id => ({
113
+ label: idToLabel.get(id) ?? String(id),
114
+ value: id
115
+ }));
116
+ });
117
+ }
118
+
119
+ return rootRules;
120
+ }
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import { pascalCase } from "change-case";
3
+
4
+ //Dynamic permission expression
5
+ export const permissionExpression = (modelName: string, permissionName : string) => {
6
+ return `${pascalCase(modelName)}Controller.${permissionName}`
7
+ };