@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.
- package/dist/components/Svg/DevDocs.tsx +9 -0
- package/dist/components/Svg/DocsSvg.tsx +9 -0
- package/dist/components/Svg/ExcelSvg.tsx +15 -0
- package/dist/components/Svg/FieldSvg.tsx +9 -0
- package/dist/components/Svg/FileSvg.tsx +18 -0
- package/dist/components/Svg/HomePageModuleSvg.tsx +179 -0
- package/dist/components/Svg/ModelSvg.tsx +9 -0
- package/dist/components/Svg/ModuleSvg.tsx +9 -0
- package/dist/components/Svg/PDFSvg.tsx +15 -0
- package/dist/components/Svg/RightArrowSvg.tsx +9 -0
- package/dist/components/Svg/SettingsSvg.tsx +9 -0
- package/dist/components/auth/AuthLayout.tsx +223 -0
- package/dist/components/auth/ForgotPasswordThankYou.tsx +33 -0
- package/dist/components/auth/GoogleAuthChecking.tsx +63 -0
- package/dist/components/auth/SolidChangeForcePassword.tsx +222 -0
- package/dist/components/auth/SolidForgotPassword.tsx +127 -0
- package/dist/components/auth/SolidInitialLoginOtp.tsx +271 -0
- package/dist/components/auth/SolidInitiateRegisterOtp.tsx +218 -0
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +14 -8
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +428 -0
- package/dist/components/auth/SolidOTPVerify.tsx +133 -0
- package/dist/components/auth/SolidRegister.tsx +454 -0
- package/dist/components/auth/SolidResetPassword.tsx +194 -0
- package/dist/components/common/AuthBanner.tsx +41 -0
- package/dist/components/common/AutoCompleteField.tsx +79 -0
- package/dist/components/common/BackButton.tsx +72 -0
- package/dist/components/common/CancelButton.tsx +61 -0
- package/dist/components/common/CodeEditor.tsx +38 -0
- package/dist/components/common/CreateButton.tsx +17 -0
- package/dist/components/common/DownloadProgressToast.tsx +55 -0
- package/dist/components/common/DropzonePlaceholder.tsx +31 -0
- package/dist/components/common/DropzoneUpload.tsx +11 -0
- package/dist/components/common/FileReaderExt.tsx +20 -0
- package/dist/components/common/GeneralSettings.tsx +1225 -0
- package/dist/components/common/HeaderDynamicTitles.tsx +13 -0
- package/dist/components/common/MarkdownViewer.tsx +84 -0
- package/dist/components/common/MultipleSelectAutoCompleteField.tsx +64 -0
- package/dist/components/common/NotFound.tsx +22 -0
- package/dist/components/common/SingleSelectAutoCompleteField.tsx +73 -0
- package/dist/components/common/SocialMediaLogin.tsx +53 -0
- package/dist/components/common/SolidAdmin.tsx +6 -0
- package/dist/components/common/SolidBreadcrumb.tsx +129 -0
- package/dist/components/common/SolidExport.tsx +563 -0
- package/dist/components/common/SolidExportStepper.tsx +135 -0
- package/dist/components/common/SolidFieldTooltip.tsx +23 -0
- package/dist/components/common/SolidFormHeader.tsx +25 -0
- package/dist/components/common/SolidFormStepper.tsx +350 -0
- package/dist/components/common/SolidModuleHome.tsx +128 -0
- package/dist/components/common/SolidPopupContainer.tsx +37 -0
- package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +45 -0
- package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +45 -0
- package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +20 -0
- package/dist/components/common/SolidSettings/SettingsImageRemoveButton.tsx +15 -0
- package/dist/components/common/SolidSettings/SolidUploadedImage.tsx +16 -0
- package/dist/components/common/SolidThemeLink.tsx +6 -0
- package/dist/components/common/SolidThemeProvider.tsx +44 -0
- package/dist/components/common/StepperArrows/ActiveArrowStep.tsx +18 -0
- package/dist/components/common/StepperArrows/ActiveBeforeStepArrow.tsx +18 -0
- package/dist/components/common/StepperArrows/InactiveStepArrow.tsx +19 -0
- package/dist/components/common/error.tsx +30 -0
- package/dist/components/common/useHandleFormCustomButtonClick.ts +40 -0
- package/dist/components/common/useHandleListCustomButtonClick.ts +42 -0
- package/dist/components/core/chatter/SolidChatter.tsx +248 -0
- package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +35 -0
- package/dist/components/core/chatter/SolidChatterCustomMessage.tsx +46 -0
- package/dist/components/core/chatter/SolidChatterDateDivider.tsx +16 -0
- package/dist/components/core/chatter/SolidChatterHeader.tsx +218 -0
- package/dist/components/core/chatter/SolidChatterMessageBox.tsx +163 -0
- package/dist/components/core/chatter/SolidMessageComposer.tsx +146 -0
- package/dist/components/core/common/AvatarWidget.tsx +55 -0
- package/dist/components/core/common/DateFieldViewComponent.tsx +36 -0
- package/dist/components/core/common/FilterComponent.tsx +458 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
- package/dist/components/core/common/PDFViewer.tsx +117 -0
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +89 -0
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +188 -0
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +139 -0
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +311 -0
- package/dist/components/core/common/SolidCreateButton.tsx +48 -0
- package/dist/components/core/common/SolidGenericImport/DocumentSvg.tsx +15 -0
- package/dist/components/core/common/SolidGenericImport/SolidGenericImport.tsx +64 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +125 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +122 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportStepper.tsx +217 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +205 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.tsx +158 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +29 -0
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +1470 -0
- package/dist/components/core/common/SolidLayoutViews.tsx +87 -0
- package/dist/components/core/common/SolidListViewOptions.tsx +31 -0
- package/dist/components/core/common/SolidLoaders/SolidCircularLoader.tsx +7 -0
- package/dist/components/core/common/SolidPasswordHelperText.tsx +34 -0
- package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +75 -0
- package/dist/components/core/common/SolidSearchBox.tsx +17 -0
- package/dist/components/core/common/SolidViewLayoutManager.ts +421 -0
- package/dist/components/core/common/SolidXAiIframe.tsx +77 -0
- package/dist/components/core/dashboard/SolidDashboard.tsx +332 -0
- package/dist/components/core/dashboard/SolidDashboardBody.tsx +117 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +28 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.tsx +10 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.tsx +55 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +32 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +29 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.tsx +256 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +78 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +18 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +54 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +25 -0
- package/dist/components/core/dashboard/dashboard-utils.ts +39 -0
- package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.tsx +17 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +36 -0
- package/dist/components/core/extension/solid-core/emailTemplate/emailFormTypeChangeHandler.ts +18 -0
- package/dist/components/core/extension/solid-core/emailTemplate/emailFormTypeLoad.ts +18 -0
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +114 -0
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +213 -0
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +138 -0
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +209 -0
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +131 -0
- package/dist/components/core/field/FieldListViewData.tsx +313 -0
- package/dist/components/core/filter/SolidBooleanFilterElement.tsx +30 -0
- package/dist/components/core/filter/SolidFilterFields.tsx +131 -0
- package/dist/components/core/filter/SolidManyToManyFilterElement.tsx +64 -0
- package/dist/components/core/filter/SolidManyToOneFilterElement.tsx +61 -0
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.tsx +50 -0
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.tsx +32 -0
- package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +209 -0
- package/dist/components/core/filter/fields/SolidBigintField.tsx +9 -0
- package/dist/components/core/filter/fields/SolidBooleanField.tsx +68 -0
- package/dist/components/core/filter/fields/SolidComputedField.tsx +23 -0
- package/dist/components/core/filter/fields/SolidDateField.tsx +63 -0
- package/dist/components/core/filter/fields/SolidDatetimeField.tsx +54 -0
- package/dist/components/core/filter/fields/SolidDecimalField.tsx +9 -0
- package/dist/components/core/filter/fields/SolidExternalIdField.tsx +52 -0
- package/dist/components/core/filter/fields/SolidFloatField.tsx +9 -0
- package/dist/components/core/filter/fields/SolidIdField.tsx +46 -0
- package/dist/components/core/filter/fields/SolidIntField.tsx +61 -0
- package/dist/components/core/filter/fields/SolidLongTextField.tsx +9 -0
- package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +60 -0
- package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +62 -0
- package/dist/components/core/filter/fields/SolidRelationField.tsx +17 -0
- package/dist/components/core/filter/fields/SolidRichTextField.tsx +9 -0
- package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +52 -0
- package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +54 -0
- package/dist/components/core/filter/fields/SolidShortTextField.tsx +60 -0
- package/dist/components/core/filter/fields/SolidTimeField.tsx +48 -0
- package/dist/components/core/filter/fields/SolidUuidField.tsx +51 -0
- package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +62 -0
- package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +84 -0
- package/dist/components/core/form/SolidFormActionHeader.tsx +497 -0
- package/dist/components/core/form/SolidFormFieldRender.tsx +53 -0
- package/dist/components/core/form/SolidFormFieldRenderExtension.tsx +26 -0
- package/dist/components/core/form/SolidFormFooter.tsx +162 -0
- package/dist/components/core/form/SolidFormLayouts.tsx +104 -0
- package/dist/components/core/form/SolidFormUserViewLayout.tsx +84 -0
- package/dist/components/core/form/SolidFormView.tsx +1856 -0
- package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +52 -0
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +52 -0
- package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +109 -0
- package/dist/components/core/form/fields/ISolidField.tsx +71 -0
- package/dist/components/core/form/fields/SolidBooleanField.tsx +434 -0
- package/dist/components/core/form/fields/SolidDateField.tsx +247 -0
- package/dist/components/core/form/fields/SolidDateTimeField.tsx +229 -0
- package/dist/components/core/form/fields/SolidDecimalField.tsx +171 -0
- package/dist/components/core/form/fields/SolidEmailField.tsx +176 -0
- package/dist/components/core/form/fields/SolidIntegerField.tsx +282 -0
- package/dist/components/core/form/fields/SolidJsonField.tsx +185 -0
- package/dist/components/core/form/fields/SolidLongTextField.tsx +618 -0
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +663 -0
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +547 -0
- package/dist/components/core/form/fields/SolidPasswordField.tsx +390 -0
- package/dist/components/core/form/fields/SolidRelationField.tsx +56 -0
- package/dist/components/core/form/fields/SolidRichTextField.tsx +188 -0
- package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +340 -0
- package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +462 -0
- package/dist/components/core/form/fields/SolidShortTextField.tsx +399 -0
- package/dist/components/core/form/fields/SolidTimeField.tsx +245 -0
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +453 -0
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +1036 -0
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +627 -0
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +38 -0
- package/dist/components/core/form/fields/relations/widgets/helpers/useRelationEntityHandler.ts +64 -0
- package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.tsx +135 -0
- package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +144 -0
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +265 -0
- package/dist/components/core/form/fields/widgets/SolidIconViewWidget.tsx +32 -0
- package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +50 -0
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +222 -0
- package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +70 -0
- package/dist/components/core/form/widgets/CustomHtml.tsx +20 -0
- package/dist/components/core/kanban/KanbanBoard.tsx +150 -0
- package/dist/components/core/kanban/KanbanCard.tsx +279 -0
- package/dist/components/core/kanban/KanbanColumn.tsx +139 -0
- package/dist/components/core/kanban/KanbanUserViewLayout.tsx +84 -0
- package/dist/components/core/kanban/SolidKanbanView.tsx +894 -0
- package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +154 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.tsx +164 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +16 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +20 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +140 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +164 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +121 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
- package/dist/components/core/list/ListViewRowActionPopup.tsx +41 -0
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +242 -0
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +111 -0
- package/dist/components/core/list/SolidListView.tsx +2007 -0
- package/dist/components/core/list/SolidListViewColumn.tsx +165 -0
- package/dist/components/core/list/SolidListViewConfigure.tsx +339 -0
- package/dist/components/core/list/SolidListViewHeaderButton.tsx +31 -0
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +30 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +41 -0
- package/dist/components/core/list/SolidListViewShimmerLoading.tsx +78 -0
- package/dist/components/core/list/SolidListingHeader.tsx +42 -0
- package/dist/components/core/list/SolidManyToOneFilterElement.tsx +60 -0
- package/dist/components/core/list/SolidSelectionDynamicFilterElement.tsx +50 -0
- package/dist/components/core/list/SolidSelectionStaticFilterElement.tsx +32 -0
- package/dist/components/core/list/SolidTableRowCell.tsx +35 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.tsx +184 -0
- package/dist/components/core/list/columns/SolidBigintColumn.tsx +9 -0
- package/dist/components/core/list/columns/SolidBooleanColumn.tsx +90 -0
- package/dist/components/core/list/columns/SolidComputedColumn.tsx +27 -0
- package/dist/components/core/list/columns/SolidDateColumn.tsx +90 -0
- package/dist/components/core/list/columns/SolidDatetimeColumn.tsx +79 -0
- package/dist/components/core/list/columns/SolidDecimalColumn.tsx +9 -0
- package/dist/components/core/list/columns/SolidExternalIdColumn.tsx +80 -0
- package/dist/components/core/list/columns/SolidFloatColumn.tsx +9 -0
- package/dist/components/core/list/columns/SolidIdColumn.tsx +79 -0
- package/dist/components/core/list/columns/SolidIntColumn.tsx +87 -0
- package/dist/components/core/list/columns/SolidLongTextColumn.tsx +9 -0
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +301 -0
- package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +170 -0
- package/dist/components/core/list/columns/SolidRelationColumn.tsx +21 -0
- package/dist/components/core/list/columns/SolidRichTextColumn.tsx +9 -0
- package/dist/components/core/list/columns/SolidSelectionDynamicColumn.tsx +80 -0
- package/dist/components/core/list/columns/SolidSelectionStaticColumn.tsx +81 -0
- package/dist/components/core/list/columns/SolidShortTextColumn.tsx +160 -0
- package/dist/components/core/list/columns/SolidTimeColumn.tsx +78 -0
- package/dist/components/core/list/columns/SolidUuidColumn.tsx +79 -0
- package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +106 -0
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +117 -0
- package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +110 -0
- package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.tsx +30 -0
- package/dist/components/core/list/widgets/SolidManyToOneRelationAvatarListWidget.tsx +30 -0
- package/dist/components/core/list/widgets/SolidShortTextAvatarWidget.tsx +70 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +21 -0
- package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +91 -0
- package/dist/components/core/locales/SolidLocale.tsx +127 -0
- package/dist/components/core/model/CreateModel.tsx +495 -0
- package/dist/components/core/model/FieldMetaData.tsx +263 -0
- package/dist/components/core/model/FieldMetaDataForm.tsx +3509 -0
- package/dist/components/core/model/FieldSelector.tsx +62 -0
- package/dist/components/core/model/ModelListViewData.tsx +384 -0
- package/dist/components/core/model/ModelMetaData.tsx +921 -0
- package/dist/components/core/module/CreateModule.tsx +617 -0
- package/dist/components/core/module/ModuleListViewData.tsx +431 -0
- package/dist/components/core/solid-ai/SolidAiMainWrapper.tsx +8 -0
- package/dist/components/core/solid-ai/SolidXAIIcon.tsx +37 -0
- package/dist/components/core/users/CreateUser.tsx +467 -0
- package/dist/components/core/users/CreateUserRole.tsx +212 -0
- package/dist/components/core/users/UserListView.tsx +376 -0
- package/dist/components/layout/AdminLayout.tsx +57 -0
- package/dist/components/layout/AdminSidebar.tsx +65 -0
- package/dist/components/layout/AppConfig.tsx +104 -0
- package/dist/components/layout/AppSidebar.tsx +232 -0
- package/dist/components/layout/ButtonLoader.tsx +7 -0
- package/dist/components/layout/CustomPagination.tsx +55 -0
- package/dist/components/layout/DashboardHeader.tsx +89 -0
- package/dist/components/layout/FilterMenu.tsx +122 -0
- package/dist/components/layout/Footer.tsx +13 -0
- package/dist/components/layout/GlobalSearch.tsx +37 -0
- package/dist/components/layout/Header.tsx +8 -0
- package/dist/components/layout/Layout.tsx +205 -0
- package/dist/components/layout/ListingHeader.tsx +204 -0
- package/dist/components/layout/Loader.tsx +16 -0
- package/dist/components/layout/UserSidebar.tsx +53 -0
- package/dist/components/layout/context/layoutcontext.tsx +52 -0
- package/dist/components/layout/navbar-one.tsx +258 -0
- package/dist/components/layout/navbar-two-menu.tsx +72 -0
- package/dist/components/layout/navbar-two.tsx +37 -0
- package/dist/components/layout/user-profile-menu.tsx +213 -0
- package/dist/components/layout/user-profile.tsx +7 -0
- package/dist/components/modelsComponents/filterIcon.tsx +9 -0
- package/dist/constants/error-messages.ts +238 -0
- package/dist/declarations.d.ts +22 -0
- package/dist/helpers/AppTitle.tsx +12 -0
- package/dist/helpers/ToastContainer.tsx +94 -0
- package/dist/helpers/autoCompleteVirtualScroll.ts +41 -0
- package/dist/helpers/countries.tsx +260 -0
- package/dist/helpers/downloadFileWithProgress.ts +91 -0
- package/dist/helpers/downloadMediaFile.tsx +21 -0
- package/dist/helpers/getAcceptedFileTypes.tsx +22 -0
- package/dist/helpers/getRandomColors.tsx +68 -0
- package/dist/helpers/helpers.ts +61 -0
- package/dist/helpers/hydrateRelationRules.ts +120 -0
- package/dist/helpers/permissions.ts +7 -0
- package/dist/helpers/registry.ts +337 -0
- package/dist/helpers/resendOtpHelper.tsx +5 -0
- package/dist/helpers/revalidate.ts +7 -0
- package/dist/helpers/rolesHelper.ts +17 -0
- package/dist/helpers/solidIcons.tsx +1831 -0
- package/dist/helpers/updatePasswordField.ts +41 -0
- package/dist/index.ts +421 -0
- package/dist/nextAuth/authProviders.d.ts.map +1 -1
- package/dist/nextAuth/authProviders.js +6 -5
- package/dist/nextAuth/authProviders.js.map +1 -1
- package/dist/nextAuth/authProviders.tsx +232 -0
- package/dist/nextAuth/handleLogout.tsx +39 -0
- package/dist/nextAuth/refreshAccessToken.tsx +28 -0
- package/dist/redux/api/aiInteractionApi.ts +59 -0
- package/dist/redux/api/authApi.ts +131 -0
- package/dist/redux/api/dashboardApi.ts +56 -0
- package/dist/redux/api/dashboardQuestionApi.ts +17 -0
- package/dist/redux/api/exportTemplateApi.tsx +59 -0
- package/dist/redux/api/fetchBaseQuery.tsx +118 -0
- package/dist/redux/api/fieldApi.ts +86 -0
- package/dist/redux/api/importTransactionApi.tsx +69 -0
- package/dist/redux/api/mediaApi.ts +55 -0
- package/dist/redux/api/mediaStorageProviderApi.ts +55 -0
- package/dist/redux/api/modelApi.ts +80 -0
- package/dist/redux/api/moduleApi.ts +72 -0
- package/dist/redux/api/permissionApi.ts +32 -0
- package/dist/redux/api/pincodeApi.tsx +56 -0
- package/dist/redux/api/roleApi.ts +58 -0
- package/dist/redux/api/solidActionApi.ts +66 -0
- package/dist/redux/api/solidChatterMessageApi.ts +25 -0
- package/dist/redux/api/solidEntityApi.tsx +164 -0
- package/dist/redux/api/solidMenuApi.ts +71 -0
- package/dist/redux/api/solidServiceApi.ts +31 -0
- package/dist/redux/api/solidSettingsApi.tsx +83 -0
- package/dist/redux/api/solidViewApi.ts +73 -0
- package/dist/redux/api/stateApi.tsx +56 -0
- package/dist/redux/api/testApi.ts +21 -0
- package/dist/redux/api/userApi.ts +135 -0
- package/dist/redux/features/authSlice.ts +19 -0
- package/dist/redux/features/dataViewSlice.ts +26 -0
- package/dist/redux/features/navbarSlice.ts +21 -0
- package/dist/redux/features/popupSlice.ts +37 -0
- package/dist/redux/features/settingsSlice.ts +60 -0
- package/dist/redux/features/themeSlice.ts +17 -0
- package/dist/redux/features/userSlice.ts +28 -0
- package/dist/redux/hooks/useSolidPopup.ts +20 -0
- package/dist/redux/store/defaultStoreConfig.ts +62 -0
- package/dist/styles.ts +4 -0
- package/dist/types/handlebars.d.ts +4 -0
- package/dist/types/index.d.ts +76 -0
- package/dist/types/layout.d.ts +94 -0
- package/dist/types/next-auth.d.ts +0 -0
- package/dist/types/next.d.ts +46 -0
- package/dist/types/solid-core.d.ts +320 -0
- package/package.json +1 -1
- package/src/components/auth/SolidLogin.tsx +26 -13
- 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
|
+
}
|