@solidxai/core-ui 0.1.13-beta.0 → 0.1.13-beta.2
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/adapters/auth/sessionInvalidation.d.ts +3 -0
- package/dist/adapters/auth/sessionInvalidation.d.ts.map +1 -0
- package/dist/{components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js → adapters/auth/sessionInvalidation.js} +33 -25
- package/dist/adapters/auth/sessionInvalidation.js.map +1 -0
- package/dist/adapters/auth/sessionInvalidation.ts +22 -0
- package/dist/adapters/auth/signOut.d.ts.map +1 -1
- package/dist/adapters/auth/signOut.js +0 -2
- package/dist/adapters/auth/signOut.js.map +1 -1
- package/dist/adapters/auth/signOut.ts +0 -2
- package/dist/components/common/SolidFieldTooltip.d.ts.map +1 -1
- package/dist/components/common/SolidFieldTooltip.js +33 -1
- package/dist/components/common/SolidFieldTooltip.js.map +1 -1
- package/dist/components/common/SolidFieldTooltip.tsx +64 -8
- package/dist/components/core/card/CardGrid.d.ts +1 -1
- package/dist/components/core/card/CardGrid.d.ts.map +1 -1
- package/dist/components/core/card/CardGrid.js +2 -2
- package/dist/components/core/card/CardGrid.js.map +1 -1
- package/dist/components/core/card/CardGrid.tsx +2 -0
- package/dist/components/core/card/CardItem.d.ts +1 -0
- package/dist/components/core/card/CardItem.d.ts.map +1 -1
- package/dist/components/core/card/CardItem.js +2 -2
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +11 -0
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +82 -30
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +68 -7
- package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatter.js +4 -2
- package/dist/components/core/chatter/SolidChatter.js.map +1 -1
- package/dist/components/core/chatter/SolidChatter.tsx +4 -1
- package/dist/components/core/chatter/SolidChatterMentionMenu.d.ts +9 -0
- package/dist/components/core/chatter/SolidChatterMentionMenu.d.ts.map +1 -0
- package/dist/components/core/chatter/SolidChatterMentionMenu.js +18 -0
- package/dist/components/core/chatter/SolidChatterMentionMenu.js.map +1 -0
- package/dist/components/core/chatter/SolidChatterMentionMenu.tsx +45 -0
- package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +1 -0
- package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.js +29 -5
- package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.tsx +57 -4
- package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidMessageComposer.js +37 -21
- package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
- package/dist/components/core/chatter/SolidMessageComposer.tsx +65 -22
- package/dist/components/core/chatter/chatter.module.css +63 -0
- package/dist/components/core/chatter/chatterMentions.d.ts +17 -0
- package/dist/components/core/chatter/chatterMentions.d.ts.map +1 -0
- package/dist/components/core/chatter/chatterMentions.js +50 -0
- package/dist/components/core/chatter/chatterMentions.js.map +1 -0
- package/dist/components/core/chatter/chatterMentions.ts +59 -0
- package/dist/components/core/chatter/useChatterMentions.d.ts +26 -0
- package/dist/components/core/chatter/useChatterMentions.d.ts.map +1 -0
- package/dist/components/core/chatter/useChatterMentions.js +204 -0
- package/dist/components/core/chatter/useChatterMentions.js.map +1 -0
- package/dist/components/core/chatter/useChatterMentions.ts +160 -0
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +2 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +3 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +2 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +2 -1
- package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +32 -2
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +3 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +1 -1
- package/dist/components/core/common/globalSearchPersistence.d.ts +7 -0
- package/dist/components/core/common/globalSearchPersistence.d.ts.map +1 -0
- package/dist/components/core/common/globalSearchPersistence.js +89 -0
- package/dist/components/core/common/globalSearchPersistence.js.map +1 -0
- package/dist/components/core/common/globalSearchPersistence.ts +88 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.d.ts +8 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.js +6 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.js.map +1 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.ts +13 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.d.ts +11 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.js +10 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.js.map +1 -0
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.ts +22 -0
- package/dist/components/core/form/SolidFormFooter.js +1 -1
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +6 -8
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +36 -55
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +4 -0
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +6 -0
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +2 -2
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +3 -2
- package/dist/components/core/list/SolidCustomListColumn.d.ts +8 -0
- package/dist/components/core/list/SolidCustomListColumn.d.ts.map +1 -0
- package/dist/components/core/list/SolidCustomListColumn.js +47 -0
- package/dist/components/core/list/SolidCustomListColumn.js.map +1 -0
- package/dist/components/core/list/SolidCustomListColumn.tsx +57 -0
- package/dist/components/core/list/SolidListView.d.ts +0 -6
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +5 -92
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +9 -98
- package/dist/components/core/model/CreateModel.css +1 -0
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +3 -2
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +4 -1
- package/dist/components/core/model/FieldMetaData.d.ts +1 -1
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +17 -17
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.tsx +10 -2
- package/dist/components/core/module/CreateModule.css +1 -0
- package/dist/components/core/module/CreateModule.js +1 -1
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +1 -1
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +135 -41
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +96 -34
- package/dist/components/shad-cn-ui/SolidTextarea.d.ts +1 -1
- package/dist/components/shad-cn-ui/SolidTextarea.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidTextarea.js +4 -3
- package/dist/components/shad-cn-ui/SolidTextarea.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidTextarea.tsx +4 -2
- package/dist/components/workflow/WorkflowFlowCanvas.css +431 -0
- package/dist/components/workflow/WorkflowFlowCanvas.d.ts +41 -0
- package/dist/components/workflow/WorkflowFlowCanvas.d.ts.map +1 -0
- package/dist/components/workflow/WorkflowFlowCanvas.js +705 -0
- package/dist/components/workflow/WorkflowFlowCanvas.js.map +1 -0
- package/dist/components/workflow/WorkflowFlowCanvas.tsx +1274 -0
- package/dist/components/workflow/WorkflowNodeDocsPanel.css +247 -0
- package/dist/components/workflow/WorkflowNodeDocsPanel.d.ts +22 -0
- package/dist/components/workflow/WorkflowNodeDocsPanel.d.ts.map +1 -0
- package/dist/components/workflow/WorkflowNodeDocsPanel.js +97 -0
- package/dist/components/workflow/WorkflowNodeDocsPanel.js.map +1 -0
- package/dist/components/workflow/WorkflowNodeDocsPanel.tsx +363 -0
- package/dist/components/workflow/WorkflowNodeSchemaEditor.d.ts +50 -0
- package/dist/components/workflow/WorkflowNodeSchemaEditor.d.ts.map +1 -0
- package/dist/components/workflow/WorkflowNodeSchemaEditor.js +309 -0
- package/dist/components/workflow/WorkflowNodeSchemaEditor.js.map +1 -0
- package/dist/components/workflow/WorkflowNodeSchemaEditor.tsx +808 -0
- package/dist/constants/error-messages.d.ts +1 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +1 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/error-messages.ts +2 -0
- package/dist/helpers/modulePackageResumeState.d.ts +6 -0
- package/dist/helpers/modulePackageResumeState.d.ts.map +1 -0
- package/dist/helpers/modulePackageResumeState.js +46 -0
- package/dist/helpers/modulePackageResumeState.js.map +1 -0
- package/dist/helpers/modulePackageResumeState.ts +57 -0
- package/dist/http/solidHttp.d.ts.map +1 -1
- package/dist/http/solidHttp.js +28 -16
- package/dist/http/solidHttp.js.map +1 -1
- package/dist/http/solidHttp.ts +7 -1
- package/dist/redux/api/fetchBaseQuery.d.ts.map +1 -1
- package/dist/redux/api/fetchBaseQuery.js +25 -19
- package/dist/redux/api/fetchBaseQuery.js.map +1 -1
- package/dist/redux/api/fetchBaseQuery.tsx +5 -0
- package/dist/redux/api/solidChatterMessageApi.d.ts +2 -2
- package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
- package/dist/redux/api/solidChatterMessageApi.js +3 -3
- package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
- package/dist/redux/api/solidChatterMessageApi.ts +3 -3
- package/dist/redux/api/workflowDefinitionEditorApi.d.ts +17 -0
- package/dist/redux/api/workflowDefinitionEditorApi.d.ts.map +1 -0
- package/dist/redux/api/workflowDefinitionEditorApi.js +38 -0
- package/dist/redux/api/workflowDefinitionEditorApi.js.map +1 -0
- package/dist/redux/api/workflowDefinitionEditorApi.ts +40 -0
- package/dist/redux/api/workflowNodeApi.d.ts +6 -0
- package/dist/redux/api/workflowNodeApi.d.ts.map +1 -0
- package/dist/redux/api/workflowNodeApi.js +14 -0
- package/dist/redux/api/workflowNodeApi.js.map +1 -0
- package/dist/redux/api/workflowNodeApi.ts +18 -0
- package/dist/redux/store/defaultStoreConfig.d.ts +1 -1
- package/dist/resources/globals.css +14 -0
- package/dist/resources/shadcn-base.css +70 -16
- package/dist/resources/solid-custom.css +5 -1
- package/dist/routes/pages/admin/core/DashboardPage.module.css +4 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.css +970 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js +1287 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js.map +1 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.tsx +2572 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.css +151 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.js +250 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.js.map +1 -0
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.tsx +455 -0
- package/dist/types/workflow-node.d.ts +127 -0
- package/dist/types/workflow-node.d.ts.map +1 -0
- package/dist/types/workflow-node.js +2 -0
- package/dist/types/workflow-node.js.map +1 -0
- package/dist/types/workflow-node.ts +162 -0
- package/package.json +1 -1
- package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
- package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
- package/dist/components/auth/SolidOTPVerify.js +0 -67
- package/dist/components/auth/SolidOTPVerify.js.map +0 -1
- package/dist/components/auth/SolidOTPVerify.tsx +0 -133
- package/dist/components/common/AuthBanner.d.ts +0 -3
- package/dist/components/common/AuthBanner.d.ts.map +0 -1
- package/dist/components/common/AuthBanner.js +0 -15
- package/dist/components/common/AuthBanner.js.map +0 -1
- package/dist/components/common/AuthBanner.tsx +0 -41
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts +0 -2
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +0 -1
- package/dist/components/common/SingleSelectAutoCompleteField.js +0 -92
- package/dist/components/common/SingleSelectAutoCompleteField.js.map +0 -1
- package/dist/components/common/SingleSelectAutoCompleteField.tsx +0 -73
- package/dist/components/common/SolidExportStepper.d.ts +0 -12
- package/dist/components/common/SolidExportStepper.d.ts.map +0 -1
- package/dist/components/common/SolidExportStepper.js +0 -30
- package/dist/components/common/SolidExportStepper.js.map +0 -1
- package/dist/components/common/SolidExportStepper.tsx +0 -135
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
- package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +0 -2
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +0 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +0 -16
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +0 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +0 -29
- package/dist/components/core/dashboard/DashboardFilter.d.ts +0 -13
- package/dist/components/core/dashboard/DashboardFilter.d.ts.map +0 -1
- package/dist/components/core/dashboard/DashboardFilter.js +0 -299
- package/dist/components/core/dashboard/DashboardFilter.js.map +0 -1
- package/dist/components/core/dashboard/DashboardFilter.tsx +0 -348
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +0 -3
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +0 -1
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js +0 -21
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +0 -1
- package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +0 -40
- package/dist/components/core/dashboard/SolidDashboard.d.ts +0 -28
- package/dist/components/core/dashboard/SolidDashboard.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboard.js +0 -183
- package/dist/components/core/dashboard/SolidDashboard.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboard.module.css +0 -83
- package/dist/components/core/dashboard/SolidDashboard.tsx +0 -263
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts +0 -24
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardBody.js +0 -162
- package/dist/components/core/dashboard/SolidDashboardBody.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardBody.tsx +0 -168
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +0 -2
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +0 -11
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +0 -28
- package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +0 -3
- package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardHeader.js +0 -6
- package/dist/components/core/dashboard/SolidDashboardHeader.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardHeader.tsx +0 -10
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +0 -2
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardLoading.js +0 -10
- package/dist/components/core/dashboard/SolidDashboardLoading.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardLoading.tsx +0 -61
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +0 -3
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +0 -12
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +0 -32
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +0 -2
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardRenderError.js +0 -11
- package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +0 -28
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +0 -19
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardVariable.js +0 -171
- package/dist/components/core/dashboard/SolidDashboardVariable.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardVariable.tsx +0 -259
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +0 -9
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.js +0 -42
- package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +0 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +0 -99
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +0 -9
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +0 -35
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +0 -48
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +0 -7
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +0 -22
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +0 -51
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +0 -2
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +0 -4
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +0 -25
- package/dist/components/core/dashboard/dashboard-utils.d.ts +0 -2
- package/dist/components/core/dashboard/dashboard-utils.d.ts.map +0 -1
- package/dist/components/core/dashboard/dashboard-utils.js +0 -38
- package/dist/components/core/dashboard/dashboard-utils.js.map +0 -1
- package/dist/components/core/dashboard/dashboard-utils.ts +0 -39
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +0 -10
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +0 -16
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +0 -19
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +0 -8
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +0 -64
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +0 -30
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +0 -8
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +0 -29
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +0 -4
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +0 -23
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +0 -1
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +0 -36
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +0 -3
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +0 -1
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +0 -92
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +0 -1
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +0 -68
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +0 -3
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +0 -1
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +0 -111
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +0 -1
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +0 -122
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +0 -12
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidKanbanViewFields.js +0 -145
- package/dist/components/core/kanban/SolidKanbanViewFields.js.map +0 -1
- package/dist/components/core/kanban/SolidKanbanViewFields.tsx +0 -164
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +0 -2
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js +0 -87
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +0 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +0 -59
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +0 -2
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +0 -73
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +0 -1
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +0 -50
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +0 -2
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +0 -20
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +0 -1
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +0 -32
- package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +0 -12
- package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js +0 -81
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +0 -1
- package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +0 -184
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +0 -16
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +0 -21
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +0 -23
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +0 -14
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +0 -13
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +0 -12
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +0 -14
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +0 -16
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +0 -20
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +0 -56
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +0 -140
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +0 -42
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +0 -164
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +0 -11
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +0 -13
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +0 -14
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +0 -14
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +0 -37
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +0 -121
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +0 -12
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +0 -13
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +0 -16
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +0 -2
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +0 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +0 -39
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +0 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +0 -40
- package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +0 -12
- package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +0 -1
- package/dist/components/core/list/SolidVarInputsFilterElement.js +0 -81
- package/dist/components/core/list/SolidVarInputsFilterElement.js.map +0 -1
- package/dist/components/core/list/SolidVarInputsFilterElement.tsx +0 -184
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +0 -3
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +0 -1
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +0 -87
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +0 -1
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +0 -70
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +0 -3
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +0 -1
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +0 -33
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +0 -1
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +0 -50
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +0 -3
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +0 -1
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +0 -158
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +0 -1
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +0 -185
- package/dist/components/layout/DashboardHeader.d.ts +0 -3
- package/dist/components/layout/DashboardHeader.d.ts.map +0 -1
- package/dist/components/layout/DashboardHeader.js +0 -20
- package/dist/components/layout/DashboardHeader.js.map +0 -1
- package/dist/components/layout/DashboardHeader.tsx +0 -94
- package/dist/helpers/# no such endpoints exist, need to calle +0 -3
- package/dist/helpers/ToastContainer.d.ts +0 -4
- package/dist/helpers/ToastContainer.d.ts.map +0 -1
- package/dist/helpers/ToastContainer.js +0 -49
- package/dist/helpers/ToastContainer.js.map +0 -1
- package/dist/helpers/ToastContainer.tsx +0 -94
- package/dist/helpers/showToast.d.ts +0 -5
- package/dist/helpers/showToast.d.ts.map +0 -1
- package/dist/helpers/showToast.js +0 -17
- package/dist/helpers/showToast.js.map +0 -1
- package/dist/helpers/showToast.ts +0 -13
- package/dist/helpers/studioSandbox.d.ts +0 -31
- package/dist/helpers/studioSandbox.d.ts.map +0 -1
- package/dist/helpers/studioSandbox.js +0 -104
- package/dist/helpers/studioSandbox.js.map +0 -1
- package/dist/helpers/studioSandbox.ts +0 -117
- package/dist/nextAuth/authProviders.d.ts +0 -4
- package/dist/nextAuth/authProviders.d.ts.map +0 -1
- package/dist/nextAuth/authProviders.js +0 -198
- package/dist/nextAuth/authProviders.js.map +0 -1
- package/dist/nextAuth/authProviders.tsx +0 -232
- package/dist/nextAuth/handleLogout.d.ts +0 -2
- package/dist/nextAuth/handleLogout.d.ts.map +0 -1
- package/dist/nextAuth/handleLogout.js +0 -36
- package/dist/nextAuth/handleLogout.js.map +0 -1
- package/dist/nextAuth/handleLogout.tsx +0 -39
- package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
- package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
- package/dist/nextAuth/refreshAccessToken.js +0 -24
- package/dist/nextAuth/refreshAccessToken.js.map +0 -1
- package/dist/nextAuth/refreshAccessToken.tsx +0 -28
- package/dist/redux/api/dashboardApi.d.ts +0 -23
- package/dist/redux/api/dashboardApi.d.ts.map +0 -1
- package/dist/redux/api/dashboardApi.js +0 -35
- package/dist/redux/api/dashboardApi.js.map +0 -1
- package/dist/redux/api/dashboardApi.ts +0 -56
- package/dist/redux/api/dashboardLayoutApi.d.ts +0 -24
- package/dist/redux/api/dashboardLayoutApi.d.ts.map +0 -1
- package/dist/redux/api/dashboardLayoutApi.js +0 -34
- package/dist/redux/api/dashboardLayoutApi.js.map +0 -1
- package/dist/redux/api/dashboardLayoutApi.ts +0 -55
- package/dist/redux/api/dashboardQuestionApi.d.ts +0 -5
- package/dist/redux/api/dashboardQuestionApi.d.ts.map +0 -1
- package/dist/redux/api/dashboardQuestionApi.js +0 -18
- package/dist/redux/api/dashboardQuestionApi.js.map +0 -1
- package/dist/redux/api/dashboardQuestionApi.ts +0 -17
- package/dist/redux/features/settingsSlice.d.ts +0 -20
- package/dist/redux/features/settingsSlice.d.ts.map +0 -1
- package/dist/redux/features/settingsSlice.js +0 -39
- package/dist/redux/features/settingsSlice.js.map +0 -1
- package/dist/redux/features/settingsSlice.ts +0 -60
- package/dist/resources/images/Footerbg.png +0 -0
- package/dist/resources/images/LoginBanner.png +0 -0
- package/dist/resources/images/dashboard/Ellipse 1.svg +0 -10
- package/dist/resources/images/dashboard/Rectangle 17.svg +0 -10
- package/dist/resources/images/dashboard/Rectangle 25.svg +0 -11
- package/dist/resources/images/dashboard/image 5.svg +0 -9
- package/dist/resources/images/loginhero.png +0 -0
- package/dist/resources/images/logo.png +0 -0
- package/dist/resources/images/radix-logo-white.png +0 -0
- package/dist/resources/images/radix-logo.png +0 -0
- package/dist/resources/images/signupBanner.png +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface ChatterMention {
|
|
2
|
+
username: string;
|
|
3
|
+
display_name: string;
|
|
4
|
+
id: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const parseMessageBodyMentions = (value: unknown): ChatterMention[] => {
|
|
8
|
+
if (!value) return [];
|
|
9
|
+
if (Array.isArray(value)) return value as ChatterMention[];
|
|
10
|
+
if (typeof value !== 'string') return [];
|
|
11
|
+
|
|
12
|
+
try {
|
|
13
|
+
const parsed = JSON.parse(value);
|
|
14
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
15
|
+
} catch {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const renderMessageBodyMentions = (messageBody: string | null | undefined, messageBodyMentions: unknown) => {
|
|
21
|
+
const mentions = parseMessageBodyMentions(messageBodyMentions);
|
|
22
|
+
if (!messageBody || mentions.length === 0) return messageBody;
|
|
23
|
+
|
|
24
|
+
return mentions.reduce((nextMessage, mention, index) => (
|
|
25
|
+
nextMessage.replace(new RegExp(`\\{\\{\\s*${index}\\s*\\}\\}`, 'g'), `@${mention.username}`)
|
|
26
|
+
), messageBody);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const escapeRegExp = (value: string) => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
30
|
+
|
|
31
|
+
export const buildMessageBodyWithMentionTokens = (message: string, mentions: ChatterMention[]) => {
|
|
32
|
+
const activeMentions = mentions.filter((mention, index, arr) =>
|
|
33
|
+
message.includes(`@${mention.username}`) &&
|
|
34
|
+
arr.findIndex(item => item.username === mention.username) === index
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
const body = activeMentions.reduce((nextMessage, mention, index) => {
|
|
38
|
+
const mentionRegex = new RegExp(`@${escapeRegExp(mention.username)}\\b`, 'g');
|
|
39
|
+
return nextMessage.replace(mentionRegex, `{{ ${index} }}`);
|
|
40
|
+
}, message);
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
body,
|
|
44
|
+
mentions: activeMentions,
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const getMentionCandidate = (value: string, cursorPosition: number) => {
|
|
49
|
+
const beforeCursor = value.slice(0, cursorPosition);
|
|
50
|
+
const match = beforeCursor.match(/(^|\s)@([\w.]*)$/);
|
|
51
|
+
if (!match || match.index === undefined) return null;
|
|
52
|
+
|
|
53
|
+
const prefixLength = match[1]?.length || 0;
|
|
54
|
+
return {
|
|
55
|
+
query: match[2] || '',
|
|
56
|
+
start: match.index + prefixLength,
|
|
57
|
+
end: cursorPosition,
|
|
58
|
+
};
|
|
59
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ChangeEvent, type KeyboardEvent, type MouseEvent, type RefObject } from 'react';
|
|
2
|
+
import { ChatterMention } from './chatterMentions';
|
|
3
|
+
interface UseChatterMentionsProps {
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
textareaRef: RefObject<HTMLTextAreaElement | null>;
|
|
7
|
+
}
|
|
8
|
+
export declare const useChatterMentions: ({ value, onChange, textareaRef }: UseChatterMentionsProps) => {
|
|
9
|
+
mentions: ChatterMention[];
|
|
10
|
+
setMentions: import("react").Dispatch<import("react").SetStateAction<ChatterMention[]>>;
|
|
11
|
+
mentionRange: {
|
|
12
|
+
start: number;
|
|
13
|
+
end: number;
|
|
14
|
+
} | null;
|
|
15
|
+
mentionSuggestions: any[];
|
|
16
|
+
activeMentionIndex: number;
|
|
17
|
+
isFetchingMentionUsers: boolean;
|
|
18
|
+
handleMentionTextChange: (event: ChangeEvent<HTMLTextAreaElement>) => void;
|
|
19
|
+
handleMentionKeyDown: (event: KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
20
|
+
handleMentionKeyUp: (event: KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
21
|
+
handleMentionClick: (event: MouseEvent<HTMLTextAreaElement>) => void;
|
|
22
|
+
handleSelectMention: (user: any) => void;
|
|
23
|
+
resetMentions: (nextMentions?: ChatterMention[]) => void;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=useChatterMentions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatterMentions.d.ts","sourceRoot":"","sources":["../../../../src/components/core/chatter/useChatterMentions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAEnH,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAExE,UAAU,uBAAuB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,kBAAkB,qCAAsC,uBAAuB;;;;eAG9B,MAAM;aAAO,MAAM;;;;;qCAuBrC,YAAY,mBAAmB,CAAC;kCAMnC,cAAc,mBAAmB,CAAC;gCAmCpC,cAAc,mBAAmB,CAAC;gCAMlC,WAAW,mBAAmB,CAAC;gCAI/B,GAAG;mCA4BD,cAAc,EAAE;CA4CxD,CAAC"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
38
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
+
if (ar || !(i in from)) {
|
|
40
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
41
|
+
ar[i] = from[i];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
45
|
+
};
|
|
46
|
+
import { useEffect, useState } from 'react';
|
|
47
|
+
import { useLazyGetusersQuery } from '../../../redux/api/userApi';
|
|
48
|
+
import { getMentionCandidate } from './chatterMentions';
|
|
49
|
+
export var useChatterMentions = function (_a) {
|
|
50
|
+
var value = _a.value, onChange = _a.onChange, textareaRef = _a.textareaRef;
|
|
51
|
+
var _b = useState([]), mentions = _b[0], setMentions = _b[1];
|
|
52
|
+
var _c = useState(''), mentionQuery = _c[0], setMentionQuery = _c[1];
|
|
53
|
+
var _d = useState(null), mentionRange = _d[0], setMentionRange = _d[1];
|
|
54
|
+
var _e = useState([]), mentionSuggestions = _e[0], setMentionSuggestions = _e[1];
|
|
55
|
+
var _f = useState(0), activeMentionIndex = _f[0], setActiveMentionIndex = _f[1];
|
|
56
|
+
var _g = useLazyGetusersQuery(), getUsers = _g[0], isFetchingMentionUsers = _g[1].isFetching;
|
|
57
|
+
var closeMentionMenu = function () {
|
|
58
|
+
setMentionRange(null);
|
|
59
|
+
setMentionQuery('');
|
|
60
|
+
setMentionSuggestions([]);
|
|
61
|
+
setActiveMentionIndex(0);
|
|
62
|
+
};
|
|
63
|
+
var updateMentionState = function (nextValue, cursorPosition) {
|
|
64
|
+
var candidate = getMentionCandidate(nextValue, cursorPosition);
|
|
65
|
+
if (!candidate) {
|
|
66
|
+
closeMentionMenu();
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
setMentionRange({ start: candidate.start, end: candidate.end });
|
|
70
|
+
setMentionQuery(candidate.query);
|
|
71
|
+
};
|
|
72
|
+
var handleMentionTextChange = function (event) {
|
|
73
|
+
var _a;
|
|
74
|
+
var nextValue = event.target.value;
|
|
75
|
+
onChange(nextValue);
|
|
76
|
+
updateMentionState(nextValue, (_a = event.target.selectionStart) !== null && _a !== void 0 ? _a : nextValue.length);
|
|
77
|
+
};
|
|
78
|
+
var handleMentionKeyDown = function (event) {
|
|
79
|
+
if (!mentionRange)
|
|
80
|
+
return;
|
|
81
|
+
if (event.key === 'ArrowDown') {
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
setActiveMentionIndex(function (prev) {
|
|
84
|
+
if (mentionSuggestions.length === 0)
|
|
85
|
+
return 0;
|
|
86
|
+
return (prev + 1) % mentionSuggestions.length;
|
|
87
|
+
});
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (event.key === 'ArrowUp') {
|
|
91
|
+
event.preventDefault();
|
|
92
|
+
setActiveMentionIndex(function (prev) {
|
|
93
|
+
if (mentionSuggestions.length === 0)
|
|
94
|
+
return 0;
|
|
95
|
+
return (prev - 1 + mentionSuggestions.length) % mentionSuggestions.length;
|
|
96
|
+
});
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (event.key === 'Enter' || event.key === 'Tab') {
|
|
100
|
+
if (mentionSuggestions[activeMentionIndex]) {
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
handleSelectMention(mentionSuggestions[activeMentionIndex]);
|
|
103
|
+
}
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (event.key === 'Escape') {
|
|
107
|
+
event.preventDefault();
|
|
108
|
+
closeMentionMenu();
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
var handleMentionKeyUp = function (event) {
|
|
112
|
+
var _a;
|
|
113
|
+
if (['ArrowDown', 'ArrowUp', 'Enter', 'Tab', 'Escape'].includes(event.key))
|
|
114
|
+
return;
|
|
115
|
+
var target = event.currentTarget;
|
|
116
|
+
updateMentionState(target.value, (_a = target.selectionStart) !== null && _a !== void 0 ? _a : target.value.length);
|
|
117
|
+
};
|
|
118
|
+
var handleMentionClick = function (event) {
|
|
119
|
+
var _a;
|
|
120
|
+
updateMentionState(event.currentTarget.value, (_a = event.currentTarget.selectionStart) !== null && _a !== void 0 ? _a : event.currentTarget.value.length);
|
|
121
|
+
};
|
|
122
|
+
var handleSelectMention = function (user) {
|
|
123
|
+
if (!mentionRange)
|
|
124
|
+
return;
|
|
125
|
+
var username = user === null || user === void 0 ? void 0 : user.username;
|
|
126
|
+
if (!username)
|
|
127
|
+
return;
|
|
128
|
+
var mention = {
|
|
129
|
+
username: username,
|
|
130
|
+
display_name: (user === null || user === void 0 ? void 0 : user.fullName) || username,
|
|
131
|
+
id: String(user === null || user === void 0 ? void 0 : user.id),
|
|
132
|
+
};
|
|
133
|
+
var mentionText = "@".concat(mention.username);
|
|
134
|
+
var nextValue = "".concat(value.slice(0, mentionRange.start)).concat(mentionText, " ").concat(value.slice(mentionRange.end));
|
|
135
|
+
var nextCursorPosition = mentionRange.start + mentionText.length + 1;
|
|
136
|
+
onChange(nextValue);
|
|
137
|
+
setMentions(function (prev) { return (prev.some(function (item) { return item.id === mention.id || item.username === mention.username; })
|
|
138
|
+
? prev
|
|
139
|
+
: __spreadArray(__spreadArray([], prev, true), [mention], false)); });
|
|
140
|
+
closeMentionMenu();
|
|
141
|
+
window.requestAnimationFrame(function () {
|
|
142
|
+
var _a, _b;
|
|
143
|
+
(_a = textareaRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
144
|
+
(_b = textareaRef.current) === null || _b === void 0 ? void 0 : _b.setSelectionRange(nextCursorPosition, nextCursorPosition);
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
var resetMentions = function (nextMentions) {
|
|
148
|
+
if (nextMentions === void 0) { nextMentions = []; }
|
|
149
|
+
setMentions(nextMentions);
|
|
150
|
+
closeMentionMenu();
|
|
151
|
+
};
|
|
152
|
+
useEffect(function () {
|
|
153
|
+
if (!mentionRange)
|
|
154
|
+
return;
|
|
155
|
+
var isActive = true;
|
|
156
|
+
var timeout = window.setTimeout(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
157
|
+
var encodedQuery, queryString, response, error_1;
|
|
158
|
+
var _a;
|
|
159
|
+
return __generator(this, function (_b) {
|
|
160
|
+
switch (_b.label) {
|
|
161
|
+
case 0:
|
|
162
|
+
_b.trys.push([0, 2, , 3]);
|
|
163
|
+
encodedQuery = encodeURIComponent(mentionQuery);
|
|
164
|
+
queryString = mentionQuery
|
|
165
|
+
? "filters[username][$containsi]=".concat(encodedQuery, "&limit=8")
|
|
166
|
+
: 'limit=8';
|
|
167
|
+
return [4 /*yield*/, getUsers(queryString).unwrap()];
|
|
168
|
+
case 1:
|
|
169
|
+
response = _b.sent();
|
|
170
|
+
if (!isActive)
|
|
171
|
+
return [2 /*return*/];
|
|
172
|
+
setMentionSuggestions(((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.records) || []);
|
|
173
|
+
setActiveMentionIndex(0);
|
|
174
|
+
return [3 /*break*/, 3];
|
|
175
|
+
case 2:
|
|
176
|
+
error_1 = _b.sent();
|
|
177
|
+
if (isActive)
|
|
178
|
+
setMentionSuggestions([]);
|
|
179
|
+
return [3 /*break*/, 3];
|
|
180
|
+
case 3: return [2 /*return*/];
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}); }, 180);
|
|
184
|
+
return function () {
|
|
185
|
+
isActive = false;
|
|
186
|
+
window.clearTimeout(timeout);
|
|
187
|
+
};
|
|
188
|
+
}, [mentionQuery, mentionRange, getUsers]);
|
|
189
|
+
return {
|
|
190
|
+
mentions: mentions,
|
|
191
|
+
setMentions: setMentions,
|
|
192
|
+
mentionRange: mentionRange,
|
|
193
|
+
mentionSuggestions: mentionSuggestions,
|
|
194
|
+
activeMentionIndex: activeMentionIndex,
|
|
195
|
+
isFetchingMentionUsers: isFetchingMentionUsers,
|
|
196
|
+
handleMentionTextChange: handleMentionTextChange,
|
|
197
|
+
handleMentionKeyDown: handleMentionKeyDown,
|
|
198
|
+
handleMentionKeyUp: handleMentionKeyUp,
|
|
199
|
+
handleMentionClick: handleMentionClick,
|
|
200
|
+
handleSelectMention: handleSelectMention,
|
|
201
|
+
resetMentions: resetMentions,
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
//# sourceMappingURL=useChatterMentions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatterMentions.js","sourceRoot":"","sources":["../../../../src/components/core/chatter/useChatterMentions.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ChangeEvent, type KeyboardEvent, type MouseEvent, type RefObject, useEffect, useState } from 'react';\nimport { useLazyGetusersQuery } from '../../../redux/api/userApi';\nimport { ChatterMention, getMentionCandidate } from './chatterMentions';\n\ninterface UseChatterMentionsProps {\n value: string;\n onChange: (value: string) => void;\n textareaRef: RefObject<HTMLTextAreaElement | null>;\n}\n\nexport const useChatterMentions = ({ value, onChange, textareaRef }: UseChatterMentionsProps) => {\n const [mentions, setMentions] = useState<ChatterMention[]>([]);\n const [mentionQuery, setMentionQuery] = useState('');\n const [mentionRange, setMentionRange] = useState<{ start: number; end: number } | null>(null);\n const [mentionSuggestions, setMentionSuggestions] = useState<any[]>([]);\n const [activeMentionIndex, setActiveMentionIndex] = useState(0);\n const [getUsers, { isFetching: isFetchingMentionUsers }] = useLazyGetusersQuery();\n\n const closeMentionMenu = () => {\n setMentionRange(null);\n setMentionQuery('');\n setMentionSuggestions([]);\n setActiveMentionIndex(0);\n };\n\n const updateMentionState = (nextValue: string, cursorPosition: number) => {\n const candidate = getMentionCandidate(nextValue, cursorPosition);\n if (!candidate) {\n closeMentionMenu();\n return;\n }\n\n setMentionRange({ start: candidate.start, end: candidate.end });\n setMentionQuery(candidate.query);\n };\n\n const handleMentionTextChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n const nextValue = event.target.value;\n onChange(nextValue);\n updateMentionState(nextValue, event.target.selectionStart ?? nextValue.length);\n };\n\n const handleMentionKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (!mentionRange) return;\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n setActiveMentionIndex(prev => {\n if (mentionSuggestions.length === 0) return 0;\n return (prev + 1) % mentionSuggestions.length;\n });\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n setActiveMentionIndex(prev => {\n if (mentionSuggestions.length === 0) return 0;\n return (prev - 1 + mentionSuggestions.length) % mentionSuggestions.length;\n });\n return;\n }\n\n if (event.key === 'Enter' || event.key === 'Tab') {\n if (mentionSuggestions[activeMentionIndex]) {\n event.preventDefault();\n handleSelectMention(mentionSuggestions[activeMentionIndex]);\n }\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n closeMentionMenu();\n }\n };\n\n const handleMentionKeyUp = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (['ArrowDown', 'ArrowUp', 'Enter', 'Tab', 'Escape'].includes(event.key)) return;\n const target = event.currentTarget;\n updateMentionState(target.value, target.selectionStart ?? target.value.length);\n };\n\n const handleMentionClick = (event: MouseEvent<HTMLTextAreaElement>) => {\n updateMentionState(event.currentTarget.value, event.currentTarget.selectionStart ?? event.currentTarget.value.length);\n };\n\n const handleSelectMention = (user: any) => {\n if (!mentionRange) return;\n const username = user?.username;\n if (!username) return;\n\n const mention: ChatterMention = {\n username,\n display_name: user?.fullName || username,\n id: String(user?.id),\n };\n const mentionText = `@${mention.username}`;\n const nextValue = `${value.slice(0, mentionRange.start)}${mentionText} ${value.slice(mentionRange.end)}`;\n const nextCursorPosition = mentionRange.start + mentionText.length + 1;\n\n onChange(nextValue);\n setMentions(prev => (\n prev.some(item => item.id === mention.id || item.username === mention.username)\n ? prev\n : [...prev, mention]\n ));\n closeMentionMenu();\n\n window.requestAnimationFrame(() => {\n textareaRef.current?.focus();\n textareaRef.current?.setSelectionRange(nextCursorPosition, nextCursorPosition);\n });\n };\n\n const resetMentions = (nextMentions: ChatterMention[] = []) => {\n setMentions(nextMentions);\n closeMentionMenu();\n };\n\n useEffect(() => {\n if (!mentionRange) return;\n\n let isActive = true;\n const timeout = window.setTimeout(async () => {\n try {\n const encodedQuery = encodeURIComponent(mentionQuery);\n const queryString = mentionQuery\n ? `filters[username][$containsi]=${encodedQuery}&limit=8`\n : 'limit=8';\n const response = await getUsers(queryString).unwrap();\n if (!isActive) return;\n setMentionSuggestions(response?.data?.records || []);\n setActiveMentionIndex(0);\n } catch (error) {\n if (isActive) setMentionSuggestions([]);\n }\n }, 180);\n\n return () => {\n isActive = false;\n window.clearTimeout(timeout);\n };\n }, [mentionQuery, mentionRange, getUsers]);\n\n return {\n mentions,\n setMentions,\n mentionRange,\n mentionSuggestions,\n activeMentionIndex,\n isFetchingMentionUsers,\n handleMentionTextChange,\n handleMentionKeyDown,\n handleMentionKeyUp,\n handleMentionClick,\n handleSelectMention,\n resetMentions,\n };\n};\n"]}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { type ChangeEvent, type KeyboardEvent, type MouseEvent, type RefObject, useEffect, useState } from 'react';
|
|
2
|
+
import { useLazyGetusersQuery } from '../../../redux/api/userApi';
|
|
3
|
+
import { ChatterMention, getMentionCandidate } from './chatterMentions';
|
|
4
|
+
|
|
5
|
+
interface UseChatterMentionsProps {
|
|
6
|
+
value: string;
|
|
7
|
+
onChange: (value: string) => void;
|
|
8
|
+
textareaRef: RefObject<HTMLTextAreaElement | null>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const useChatterMentions = ({ value, onChange, textareaRef }: UseChatterMentionsProps) => {
|
|
12
|
+
const [mentions, setMentions] = useState<ChatterMention[]>([]);
|
|
13
|
+
const [mentionQuery, setMentionQuery] = useState('');
|
|
14
|
+
const [mentionRange, setMentionRange] = useState<{ start: number; end: number } | null>(null);
|
|
15
|
+
const [mentionSuggestions, setMentionSuggestions] = useState<any[]>([]);
|
|
16
|
+
const [activeMentionIndex, setActiveMentionIndex] = useState(0);
|
|
17
|
+
const [getUsers, { isFetching: isFetchingMentionUsers }] = useLazyGetusersQuery();
|
|
18
|
+
|
|
19
|
+
const closeMentionMenu = () => {
|
|
20
|
+
setMentionRange(null);
|
|
21
|
+
setMentionQuery('');
|
|
22
|
+
setMentionSuggestions([]);
|
|
23
|
+
setActiveMentionIndex(0);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const updateMentionState = (nextValue: string, cursorPosition: number) => {
|
|
27
|
+
const candidate = getMentionCandidate(nextValue, cursorPosition);
|
|
28
|
+
if (!candidate) {
|
|
29
|
+
closeMentionMenu();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
setMentionRange({ start: candidate.start, end: candidate.end });
|
|
34
|
+
setMentionQuery(candidate.query);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const handleMentionTextChange = (event: ChangeEvent<HTMLTextAreaElement>) => {
|
|
38
|
+
const nextValue = event.target.value;
|
|
39
|
+
onChange(nextValue);
|
|
40
|
+
updateMentionState(nextValue, event.target.selectionStart ?? nextValue.length);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const handleMentionKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {
|
|
44
|
+
if (!mentionRange) return;
|
|
45
|
+
|
|
46
|
+
if (event.key === 'ArrowDown') {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
setActiveMentionIndex(prev => {
|
|
49
|
+
if (mentionSuggestions.length === 0) return 0;
|
|
50
|
+
return (prev + 1) % mentionSuggestions.length;
|
|
51
|
+
});
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (event.key === 'ArrowUp') {
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
setActiveMentionIndex(prev => {
|
|
58
|
+
if (mentionSuggestions.length === 0) return 0;
|
|
59
|
+
return (prev - 1 + mentionSuggestions.length) % mentionSuggestions.length;
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (event.key === 'Enter' || event.key === 'Tab') {
|
|
65
|
+
if (mentionSuggestions[activeMentionIndex]) {
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
handleSelectMention(mentionSuggestions[activeMentionIndex]);
|
|
68
|
+
}
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (event.key === 'Escape') {
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
closeMentionMenu();
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const handleMentionKeyUp = (event: KeyboardEvent<HTMLTextAreaElement>) => {
|
|
79
|
+
if (['ArrowDown', 'ArrowUp', 'Enter', 'Tab', 'Escape'].includes(event.key)) return;
|
|
80
|
+
const target = event.currentTarget;
|
|
81
|
+
updateMentionState(target.value, target.selectionStart ?? target.value.length);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const handleMentionClick = (event: MouseEvent<HTMLTextAreaElement>) => {
|
|
85
|
+
updateMentionState(event.currentTarget.value, event.currentTarget.selectionStart ?? event.currentTarget.value.length);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const handleSelectMention = (user: any) => {
|
|
89
|
+
if (!mentionRange) return;
|
|
90
|
+
const username = user?.username;
|
|
91
|
+
if (!username) return;
|
|
92
|
+
|
|
93
|
+
const mention: ChatterMention = {
|
|
94
|
+
username,
|
|
95
|
+
display_name: user?.fullName || username,
|
|
96
|
+
id: String(user?.id),
|
|
97
|
+
};
|
|
98
|
+
const mentionText = `@${mention.username}`;
|
|
99
|
+
const nextValue = `${value.slice(0, mentionRange.start)}${mentionText} ${value.slice(mentionRange.end)}`;
|
|
100
|
+
const nextCursorPosition = mentionRange.start + mentionText.length + 1;
|
|
101
|
+
|
|
102
|
+
onChange(nextValue);
|
|
103
|
+
setMentions(prev => (
|
|
104
|
+
prev.some(item => item.id === mention.id || item.username === mention.username)
|
|
105
|
+
? prev
|
|
106
|
+
: [...prev, mention]
|
|
107
|
+
));
|
|
108
|
+
closeMentionMenu();
|
|
109
|
+
|
|
110
|
+
window.requestAnimationFrame(() => {
|
|
111
|
+
textareaRef.current?.focus();
|
|
112
|
+
textareaRef.current?.setSelectionRange(nextCursorPosition, nextCursorPosition);
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const resetMentions = (nextMentions: ChatterMention[] = []) => {
|
|
117
|
+
setMentions(nextMentions);
|
|
118
|
+
closeMentionMenu();
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
if (!mentionRange) return;
|
|
123
|
+
|
|
124
|
+
let isActive = true;
|
|
125
|
+
const timeout = window.setTimeout(async () => {
|
|
126
|
+
try {
|
|
127
|
+
const encodedQuery = encodeURIComponent(mentionQuery);
|
|
128
|
+
const queryString = mentionQuery
|
|
129
|
+
? `filters[username][$containsi]=${encodedQuery}&limit=8`
|
|
130
|
+
: 'limit=8';
|
|
131
|
+
const response = await getUsers(queryString).unwrap();
|
|
132
|
+
if (!isActive) return;
|
|
133
|
+
setMentionSuggestions(response?.data?.records || []);
|
|
134
|
+
setActiveMentionIndex(0);
|
|
135
|
+
} catch (error) {
|
|
136
|
+
if (isActive) setMentionSuggestions([]);
|
|
137
|
+
}
|
|
138
|
+
}, 180);
|
|
139
|
+
|
|
140
|
+
return () => {
|
|
141
|
+
isActive = false;
|
|
142
|
+
window.clearTimeout(timeout);
|
|
143
|
+
};
|
|
144
|
+
}, [mentionQuery, mentionRange, getUsers]);
|
|
145
|
+
|
|
146
|
+
return {
|
|
147
|
+
mentions,
|
|
148
|
+
setMentions,
|
|
149
|
+
mentionRange,
|
|
150
|
+
mentionSuggestions,
|
|
151
|
+
activeMentionIndex,
|
|
152
|
+
isFetchingMentionUsers,
|
|
153
|
+
handleMentionTextChange,
|
|
154
|
+
handleMentionKeyDown,
|
|
155
|
+
handleMentionKeyUp,
|
|
156
|
+
handleMentionClick,
|
|
157
|
+
handleSelectMention,
|
|
158
|
+
resetMentions,
|
|
159
|
+
};
|
|
160
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidChangePassword.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"AAqFA,eAAO,MAAM,mBAAmB,0BAA2B,GAAG,
|
|
1
|
+
{"version":3,"file":"SolidChangePassword.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"AAqFA,eAAO,MAAM,mBAAmB,0BAA2B,GAAG,4CA6J7D,CAAC"}
|
|
@@ -169,6 +169,7 @@ export var SolidChangePassword = function (_a) {
|
|
|
169
169
|
var error = formik.errors[field];
|
|
170
170
|
return typeof error === "string" ? error : null;
|
|
171
171
|
};
|
|
172
|
-
|
|
172
|
+
var isChangePasswordDisabled = !formik.dirty || !formik.isValid || formik.isSubmitting;
|
|
173
|
+
return (_jsxs("form", { onSubmit: formik.handleSubmit, className: styles.accountForm, children: [_jsx(ToastMessage, { toast: toast, onClose: function () { return setToast(null); } }), _jsxs("div", { className: styles.accountScroll, children: [_jsxs("div", { className: styles.formStack, children: [_jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "currentPassword", children: "Current Password" }), _jsx(PasswordInput, { id: "currentPassword", name: "currentPassword", value: formik.values.currentPassword, onChange: formik.handleChange, onBlur: formik.handleBlur }), fieldError("currentPassword") ? _jsx("p", { className: styles.errorText, children: fieldError("currentPassword") }) : null] }), _jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "newPassword", children: "New Password" }), _jsx(PasswordInput, { id: "newPassword", name: "newPassword", value: formik.values.newPassword, onChange: formik.handleChange, onBlur: formik.handleBlur }), fieldError("newPassword") ? _jsx("p", { className: styles.errorText, children: fieldError("newPassword") }) : null] }), _jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "confirmPassword", children: "Confirm New Password" }), _jsx(PasswordInput, { id: "confirmPassword", name: "confirmPassword", value: formik.values.confirmPassword, onChange: formik.handleChange, onBlur: formik.handleBlur }), fieldError("confirmPassword") ? _jsx("p", { className: styles.errorText, children: fieldError("confirmPassword") }) : null] })] }), _jsx("div", { className: styles.passwordHintWrap, children: _jsx(SolidPasswordHelperText, { text: (_f = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _f === void 0 ? void 0 : _f.authenticationPasswordComplexityDescription }) })] }), _jsx("div", { className: styles.footerActions, children: _jsx(SolidButton, { type: "submit", size: "sm", loading: formik.isSubmitting, disabled: isChangePasswordDisabled, children: "Change Password" }) })] }));
|
|
173
174
|
};
|
|
174
175
|
//# sourceMappingURL=SolidChangePassword.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ChangeEventHandler, FocusEventHandler, useMemo, useState } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { env } from \"../../../../adapters/env\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { useChangePasswordMutation } from \"../../../../redux/api/authApi\";\nimport { SolidPasswordHelperText } from \"../SolidPasswordHelperText\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\n\ntype ToastState = {\n id: number;\n severity: \"success\" | \"error\" | \"info\" | \"warn\";\n summary: string;\n detail: string;\n sticky?: boolean;\n life?: number;\n} | null;\n\nconst ToastMessage = ({ toast, onClose }: { toast: ToastState; onClose: () => void }) => {\n if (!toast) return null;\n const severityClass =\n toast.severity === \"error\"\n ? styles.toastError\n : toast.severity === \"success\"\n ? styles.toastSuccess\n : toast.severity === \"warn\"\n ? styles.toastWarn\n : styles.toastInfo;\n\n return (\n <div className={`${styles.toast} ${severityClass}`} role=\"status\" aria-live=\"polite\">\n <div>\n <div className={styles.toastTitle}>{toast.summary}</div>\n <div className={styles.toastBody}>{toast.detail}</div>\n </div>\n <button type=\"button\" className={styles.toastClose} onClick={onClose} aria-label=\"Close notification\">\n ×\n </button>\n </div>\n );\n};\n\nconst PasswordInput = ({\n id,\n name,\n value,\n onChange,\n onBlur,\n placeholder,\n}: {\n id: string;\n name: string;\n value: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n onBlur: FocusEventHandler<HTMLInputElement>;\n placeholder?: string;\n}) => {\n const [visible, setVisible] = useState(false);\n return (\n <div className={styles.passwordWrap}>\n <input\n id={id}\n name={name}\n type={visible ? \"text\" : \"password\"}\n className={styles.input}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n placeholder={placeholder}\n />\n <button\n type=\"button\"\n className={styles.passwordToggle}\n onClick={() => setVisible((prev) => !prev)}\n aria-label={visible ? \"Hide password\" : \"Show password\"}\n >\n {visible ? \"Hide\" : \"Show\"}\n </button>\n </div>\n );\n};\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const [toast, setToast] = useState<ToastState>(null);\n const [changePassword] = useChangePasswordMutation();\n const session: any = useSession();\n\n const notify = (\n severity: \"success\" | \"error\" | \"info\" | \"warn\",\n summary: string,\n detail: string,\n opts?: { sticky?: boolean; life?: number }\n ) => {\n setToast({\n id: Date.now(),\n severity,\n summary,\n detail,\n sticky: opts?.sticky,\n life: opts?.life ?? 3000,\n });\n };\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) return new RegExp(backendRegex);\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage || ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"))\n : Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"email\")).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email\")),\n currentPassword: Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Current password\")),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string().oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Confirm password\")),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"User ID\")),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n notify(\"error\", ERROR_MESSAGES.ERROR, response.error);\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n });\n return;\n }\n\n notify(\"success\", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);\n resetForm();\n handleLogout();\n } catch (err: any) {\n notify(\"error\", err?.data?.message || ERROR_MESSAGES.ERROR, err?.data?.data?.message || err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const fieldError = (field: string) => {\n if (!formik.touched[field as keyof typeof formik.touched]) return null;\n const error = formik.errors[field as keyof typeof formik.errors];\n return typeof error === \"string\" ? error : null;\n };\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n <ToastMessage toast={toast} onClose={() => setToast(null)} />\n\n <div className={styles.accountScroll}>\n <div className={styles.formStack}>\n <div className={styles.field}>\n <label htmlFor=\"currentPassword\">Current Password</label>\n <PasswordInput\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"currentPassword\") ? <p className={styles.errorText}>{fieldError(\"currentPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"newPassword\">New Password</label>\n <PasswordInput\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"newPassword\") ? <p className={styles.errorText}>{fieldError(\"newPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"confirmPassword\">Confirm New Password</label>\n <PasswordInput\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"confirmPassword\") ? <p className={styles.errorText}>{fieldError(\"confirmPassword\")}</p> : null}\n </div>\n </div>\n\n <div className={styles.passwordHintWrap}>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Change Password\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ChangeEventHandler, FocusEventHandler, useMemo, useState } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { env } from \"../../../../adapters/env\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { useChangePasswordMutation } from \"../../../../redux/api/authApi\";\nimport { SolidPasswordHelperText } from \"../SolidPasswordHelperText\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\n\ntype ToastState = {\n id: number;\n severity: \"success\" | \"error\" | \"info\" | \"warn\";\n summary: string;\n detail: string;\n sticky?: boolean;\n life?: number;\n} | null;\n\nconst ToastMessage = ({ toast, onClose }: { toast: ToastState; onClose: () => void }) => {\n if (!toast) return null;\n const severityClass =\n toast.severity === \"error\"\n ? styles.toastError\n : toast.severity === \"success\"\n ? styles.toastSuccess\n : toast.severity === \"warn\"\n ? styles.toastWarn\n : styles.toastInfo;\n\n return (\n <div className={`${styles.toast} ${severityClass}`} role=\"status\" aria-live=\"polite\">\n <div>\n <div className={styles.toastTitle}>{toast.summary}</div>\n <div className={styles.toastBody}>{toast.detail}</div>\n </div>\n <button type=\"button\" className={styles.toastClose} onClick={onClose} aria-label=\"Close notification\">\n ×\n </button>\n </div>\n );\n};\n\nconst PasswordInput = ({\n id,\n name,\n value,\n onChange,\n onBlur,\n placeholder,\n}: {\n id: string;\n name: string;\n value: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n onBlur: FocusEventHandler<HTMLInputElement>;\n placeholder?: string;\n}) => {\n const [visible, setVisible] = useState(false);\n return (\n <div className={styles.passwordWrap}>\n <input\n id={id}\n name={name}\n type={visible ? \"text\" : \"password\"}\n className={styles.input}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n placeholder={placeholder}\n />\n <button\n type=\"button\"\n className={styles.passwordToggle}\n onClick={() => setVisible((prev) => !prev)}\n aria-label={visible ? \"Hide password\" : \"Show password\"}\n >\n {visible ? \"Hide\" : \"Show\"}\n </button>\n </div>\n );\n};\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const [toast, setToast] = useState<ToastState>(null);\n const [changePassword] = useChangePasswordMutation();\n const session: any = useSession();\n\n const notify = (\n severity: \"success\" | \"error\" | \"info\" | \"warn\",\n summary: string,\n detail: string,\n opts?: { sticky?: boolean; life?: number }\n ) => {\n setToast({\n id: Date.now(),\n severity,\n summary,\n detail,\n sticky: opts?.sticky,\n life: opts?.life ?? 3000,\n });\n };\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) return new RegExp(backendRegex);\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage || ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"))\n : Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"email\")).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email\")),\n currentPassword: Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Current password\")),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string().oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Confirm password\")),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"User ID\")),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n notify(\"error\", ERROR_MESSAGES.ERROR, response.error);\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n });\n return;\n }\n\n notify(\"success\", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);\n resetForm();\n handleLogout();\n } catch (err: any) {\n notify(\"error\", err?.data?.message || ERROR_MESSAGES.ERROR, err?.data?.data?.message || err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const fieldError = (field: string) => {\n if (!formik.touched[field as keyof typeof formik.touched]) return null;\n const error = formik.errors[field as keyof typeof formik.errors];\n return typeof error === \"string\" ? error : null;\n };\n\n const isChangePasswordDisabled = !formik.dirty || !formik.isValid || formik.isSubmitting;\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n <ToastMessage toast={toast} onClose={() => setToast(null)} />\n\n <div className={styles.accountScroll}>\n <div className={styles.formStack}>\n <div className={styles.field}>\n <label htmlFor=\"currentPassword\">Current Password</label>\n <PasswordInput\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"currentPassword\") ? <p className={styles.errorText}>{fieldError(\"currentPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"newPassword\">New Password</label>\n <PasswordInput\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"newPassword\") ? <p className={styles.errorText}>{fieldError(\"newPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"confirmPassword\">Confirm New Password</label>\n <PasswordInput\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"confirmPassword\") ? <p className={styles.errorText}>{fieldError(\"confirmPassword\")}</p> : null}\n </div>\n </div>\n\n <div className={styles.passwordHintWrap}>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting} disabled={isChangePasswordDisabled}>\n Change Password\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
|
|
@@ -183,6 +183,8 @@ export const SolidChangePassword = ({ solidSettingsData }: any) => {
|
|
|
183
183
|
return typeof error === "string" ? error : null;
|
|
184
184
|
};
|
|
185
185
|
|
|
186
|
+
const isChangePasswordDisabled = !formik.dirty || !formik.isValid || formik.isSubmitting;
|
|
187
|
+
|
|
186
188
|
return (
|
|
187
189
|
<form onSubmit={formik.handleSubmit} className={styles.accountForm}>
|
|
188
190
|
<ToastMessage toast={toast} onClose={() => setToast(null)} />
|
|
@@ -232,7 +234,7 @@ export const SolidChangePassword = ({ solidSettingsData }: any) => {
|
|
|
232
234
|
</div>
|
|
233
235
|
|
|
234
236
|
<div className={styles.footerActions}>
|
|
235
|
-
<SolidButton type="submit" size="sm" loading={formik.isSubmitting}>
|
|
237
|
+
<SolidButton type="submit" size="sm" loading={formik.isSubmitting} disabled={isChangePasswordDisabled}>
|
|
236
238
|
Change Password
|
|
237
239
|
</SolidButton>
|
|
238
240
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidPersonalInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx"],"names":[],"mappings":"AAgFA,eAAO,MAAM,iBAAiB,+
|
|
1
|
+
{"version":3,"file":"SolidPersonalInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx"],"names":[],"mappings":"AAgFA,eAAO,MAAM,iBAAiB,+CA8Q7B,CAAC"}
|
|
@@ -153,6 +153,7 @@ export var SolidPersonalInfo = function () {
|
|
|
153
153
|
}, [initials]);
|
|
154
154
|
var liveAvatarUrl = previewImage || ((_e = (_d = (_c = (_b = userData === null || userData === void 0 ? void 0 : userData.data) === null || _b === void 0 ? void 0 : _b._media) === null || _c === void 0 ? void 0 : _c.profilePicture) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e._full_url) || null;
|
|
155
155
|
var roleLabels = ((_g = (_f = userData === null || userData === void 0 ? void 0 : userData.data) === null || _f === void 0 ? void 0 : _f.roles) === null || _g === void 0 ? void 0 : _g.map(function (role) { return role.name; })) || [];
|
|
156
|
+
var isSaveDisabled = !formik.dirty || formik.isSubmitting;
|
|
156
157
|
var handleFileChange = function (file) {
|
|
157
158
|
var _a, _b, _c;
|
|
158
159
|
var existing = (_c = (_b = (_a = userData === null || userData === void 0 ? void 0 : userData.data) === null || _a === void 0 ? void 0 : _a._media) === null || _b === void 0 ? void 0 : _b.profilePicture) === null || _c === void 0 ? void 0 : _c[0];
|
|
@@ -245,7 +246,7 @@ export var SolidPersonalInfo = function () {
|
|
|
245
246
|
if (file)
|
|
246
247
|
handleFileChange(file);
|
|
247
248
|
event.currentTarget.value = "";
|
|
248
|
-
} })] }), _jsx("div", { className: styles.dashedDivider }), _jsx("div", { className: styles.sectionTitle, children: "Details" }), _jsxs("div", { className: styles.grid, children: [_jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "fullName", children: "Name" }), _jsx("input", { id: "fullName", name: "fullName", value: formik.values.fullName, onChange: formik.handleChange, className: styles.input })] }), _jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "email", children: "Email" }), _jsx("input", { id: "email", disabled: true, value: ((_h = userData === null || userData === void 0 ? void 0 : userData.data) === null || _h === void 0 ? void 0 : _h.email) || "", className: styles.input })] }), _jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "mobile", children: "Contact Number" }), _jsx("input", { id: "mobile", disabled: true, value: ((_j = userData === null || userData === void 0 ? void 0 : userData.data) === null || _j === void 0 ? void 0 : _j.mobile) || "", className: styles.input })] }), _jsxs("div", { className: styles.field, children: [_jsx("label", { children: "Role" }), _jsx("div", { className: styles.roleBox, children: roleLabels.map(function (name) { return (_jsx("span", { className: styles.roleChip, children: name }, name)); }) })] })] })] }), _jsx("div", { className: styles.footerActions, children: _jsx(SolidButton, { type: "submit", size: "sm", loading: formik.isSubmitting, children: "Save" }) })] }), _jsx(ConfirmDialog, { visible: replaceDialogVisible, title: "Replace Profile Picture", text: "Do you want to replace the existing profile picture?", onConfirm: confirmReplace, onCancel: function () {
|
|
249
|
+
} })] }), _jsx("div", { className: styles.dashedDivider }), _jsx("div", { className: styles.sectionTitle, children: "Details" }), _jsxs("div", { className: styles.grid, children: [_jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "fullName", children: "Name" }), _jsx("input", { id: "fullName", name: "fullName", value: formik.values.fullName, onChange: formik.handleChange, className: styles.input })] }), _jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "email", children: "Email" }), _jsx("input", { id: "email", disabled: true, value: ((_h = userData === null || userData === void 0 ? void 0 : userData.data) === null || _h === void 0 ? void 0 : _h.email) || "", className: styles.input })] }), _jsxs("div", { className: styles.field, children: [_jsx("label", { htmlFor: "mobile", children: "Contact Number" }), _jsx("input", { id: "mobile", disabled: true, value: ((_j = userData === null || userData === void 0 ? void 0 : userData.data) === null || _j === void 0 ? void 0 : _j.mobile) || "", className: styles.input })] }), _jsxs("div", { className: styles.field, children: [_jsx("label", { children: "Role" }), _jsx("div", { className: styles.roleBox, children: roleLabels.map(function (name) { return (_jsx("span", { className: styles.roleChip, children: name }, name)); }) })] })] })] }), _jsx("div", { className: styles.footerActions, children: _jsx(SolidButton, { type: "submit", size: "sm", loading: formik.isSubmitting, disabled: isSaveDisabled, children: "Save" }) })] }), _jsx(ConfirmDialog, { visible: replaceDialogVisible, title: "Replace Profile Picture", text: "Do you want to replace the existing profile picture?", onConfirm: confirmReplace, onCancel: function () {
|
|
249
250
|
setReplaceDialogVisible(false);
|
|
250
251
|
setPendingFile(null);
|
|
251
252
|
} }), _jsx(ConfirmDialog, { visible: deleteDialogVisible, title: "Delete Profile Picture", text: "Do you want to delete your profile picture?", onConfirm: confirmDelete, onCancel: function () { return setDeleteDialogVisible(false); } })] }));
|