@solidxai/core-ui 0.1.13-beta.2 → 0.1.13-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
- package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
- package/dist/components/auth/SolidOTPVerify.js +67 -0
- package/dist/components/auth/SolidOTPVerify.js.map +1 -0
- package/dist/components/auth/SolidOTPVerify.tsx +133 -0
- package/dist/components/common/AuthBanner.d.ts +3 -0
- package/dist/components/common/AuthBanner.d.ts.map +1 -0
- package/dist/components/common/AuthBanner.js +15 -0
- package/dist/components/common/AuthBanner.js.map +1 -0
- package/dist/components/common/AuthBanner.tsx +41 -0
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts +2 -0
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -0
- package/dist/components/common/SingleSelectAutoCompleteField.js +92 -0
- package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -0
- package/dist/components/common/SingleSelectAutoCompleteField.tsx +73 -0
- package/dist/components/common/SolidExportStepper.d.ts +12 -0
- package/dist/components/common/SolidExportStepper.d.ts.map +1 -0
- package/dist/components/common/SolidExportStepper.js +30 -0
- package/dist/components/common/SolidExportStepper.js.map +1 -0
- package/dist/components/common/SolidExportStepper.tsx +135 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +2 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +1 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +16 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +1 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +29 -0
- package/dist/components/core/dashboard/DashboardFilter.d.ts +13 -0
- package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/components/core/dashboard/DashboardFilter.js +299 -0
- package/dist/components/core/dashboard/DashboardFilter.js.map +1 -0
- package/dist/components/core/dashboard/DashboardFilter.tsx +348 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +3 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +1 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js +21 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +40 -0
- package/dist/components/core/dashboard/SolidDashboard.d.ts +28 -0
- package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboard.js +183 -0
- package/dist/components/core/dashboard/SolidDashboard.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboard.module.css +83 -0
- package/dist/components/core/dashboard/SolidDashboard.tsx +263 -0
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts +24 -0
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardBody.js +162 -0
- package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardBody.tsx +168 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +2 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +11 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +28 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +3 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.js +6 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.tsx +10 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +2 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.js +10 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.tsx +61 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +3 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +12 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +32 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +2 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.js +11 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +28 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +19 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.js +171 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.tsx +259 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +9 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.js +42 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +99 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +9 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +35 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +48 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +7 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +22 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +51 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +2 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +4 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +25 -0
- package/dist/components/core/dashboard/dashboard-utils.d.ts +2 -0
- package/dist/components/core/dashboard/dashboard-utils.d.ts.map +1 -0
- package/dist/components/core/dashboard/dashboard-utils.js +38 -0
- package/dist/components/core/dashboard/dashboard-utils.js.map +1 -0
- package/dist/components/core/dashboard/dashboard-utils.ts +39 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +10 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +16 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +19 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +8 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +64 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +30 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +8 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +62 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +29 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +4 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +23 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +36 -0
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +111 -106
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +165 -134
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +81 -84
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +97 -86
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +12 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.js +145 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.js.map +1 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.tsx +164 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +2 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js +87 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +2 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +73 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +1 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +2 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +20 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +1 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +12 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js +81 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +1 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +16 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +21 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +16 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +20 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +56 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +140 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +42 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +164 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +11 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +37 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +121 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +2 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +39 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +40 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +12 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +1 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.js +81 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.js.map +1 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.tsx +184 -0
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +42 -81
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +90 -120
- package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js +34 -42
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +51 -46
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
- package/dist/components/layout/DashboardHeader.d.ts +3 -0
- package/dist/components/layout/DashboardHeader.d.ts.map +1 -0
- package/dist/components/layout/DashboardHeader.js +20 -0
- package/dist/components/layout/DashboardHeader.js.map +1 -0
- package/dist/components/layout/DashboardHeader.tsx +94 -0
- package/dist/helpers/# no such endpoints exist, need to calle +3 -0
- package/dist/helpers/ToastContainer.d.ts +4 -0
- package/dist/helpers/ToastContainer.d.ts.map +1 -0
- package/dist/helpers/ToastContainer.js +49 -0
- package/dist/helpers/ToastContainer.js.map +1 -0
- package/dist/helpers/ToastContainer.tsx +94 -0
- package/dist/helpers/downloadMediaFile.d.ts.map +1 -1
- package/dist/helpers/downloadMediaFile.js +10 -3
- package/dist/helpers/downloadMediaFile.js.map +1 -1
- package/dist/helpers/downloadMediaFile.tsx +13 -7
- package/dist/helpers/fileTypeIcon.d.ts +3 -2
- package/dist/helpers/fileTypeIcon.d.ts.map +1 -1
- package/dist/helpers/fileTypeIcon.js +11 -7
- package/dist/helpers/fileTypeIcon.js.map +1 -1
- package/dist/helpers/fileTypeIcon.tsx +12 -7
- package/dist/helpers/mediaType.d.ts +7 -0
- package/dist/helpers/mediaType.d.ts.map +1 -1
- package/dist/helpers/mediaType.js +39 -8
- package/dist/helpers/mediaType.js.map +1 -1
- package/dist/helpers/mediaType.ts +46 -7
- package/dist/helpers/mediaUrl.d.ts +2 -0
- package/dist/helpers/mediaUrl.d.ts.map +1 -0
- package/dist/helpers/mediaUrl.js +10 -0
- package/dist/helpers/mediaUrl.js.map +1 -0
- package/dist/helpers/mediaUrl.ts +11 -0
- package/dist/helpers/showToast.d.ts +5 -0
- package/dist/helpers/showToast.d.ts.map +1 -0
- package/dist/helpers/showToast.js +17 -0
- package/dist/helpers/showToast.js.map +1 -0
- package/dist/helpers/showToast.ts +13 -0
- package/dist/helpers/studioSandbox.d.ts +31 -0
- package/dist/helpers/studioSandbox.d.ts.map +1 -0
- package/dist/helpers/studioSandbox.js +104 -0
- package/dist/helpers/studioSandbox.js.map +1 -0
- package/dist/helpers/studioSandbox.ts +117 -0
- package/dist/nextAuth/authProviders.d.ts +4 -0
- package/dist/nextAuth/authProviders.d.ts.map +1 -0
- package/dist/nextAuth/authProviders.js +198 -0
- package/dist/nextAuth/authProviders.js.map +1 -0
- package/dist/nextAuth/authProviders.tsx +232 -0
- package/dist/nextAuth/handleLogout.d.ts +2 -0
- package/dist/nextAuth/handleLogout.d.ts.map +1 -0
- package/dist/nextAuth/handleLogout.js +36 -0
- package/dist/nextAuth/handleLogout.js.map +1 -0
- package/dist/nextAuth/handleLogout.tsx +39 -0
- package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
- package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
- package/dist/nextAuth/refreshAccessToken.js +24 -0
- package/dist/nextAuth/refreshAccessToken.js.map +1 -0
- package/dist/nextAuth/refreshAccessToken.tsx +28 -0
- package/dist/redux/api/dashboardApi.d.ts +23 -0
- package/dist/redux/api/dashboardApi.d.ts.map +1 -0
- package/dist/redux/api/dashboardApi.js +35 -0
- package/dist/redux/api/dashboardApi.js.map +1 -0
- package/dist/redux/api/dashboardApi.ts +56 -0
- package/dist/redux/api/dashboardLayoutApi.d.ts +24 -0
- package/dist/redux/api/dashboardLayoutApi.d.ts.map +1 -0
- package/dist/redux/api/dashboardLayoutApi.js +34 -0
- package/dist/redux/api/dashboardLayoutApi.js.map +1 -0
- package/dist/redux/api/dashboardLayoutApi.ts +55 -0
- package/dist/redux/api/dashboardQuestionApi.d.ts +5 -0
- package/dist/redux/api/dashboardQuestionApi.d.ts.map +1 -0
- package/dist/redux/api/dashboardQuestionApi.js +18 -0
- package/dist/redux/api/dashboardQuestionApi.js.map +1 -0
- package/dist/redux/api/dashboardQuestionApi.ts +17 -0
- package/dist/redux/features/settingsSlice.d.ts +20 -0
- package/dist/redux/features/settingsSlice.d.ts.map +1 -0
- package/dist/redux/features/settingsSlice.js +39 -0
- package/dist/redux/features/settingsSlice.js.map +1 -0
- package/dist/redux/features/settingsSlice.ts +60 -0
- package/dist/resources/images/Footerbg.png +0 -0
- package/dist/resources/images/LoginBanner.png +0 -0
- package/dist/resources/images/dashboard/Ellipse 1.svg +10 -0
- package/dist/resources/images/dashboard/Rectangle 17.svg +10 -0
- package/dist/resources/images/dashboard/Rectangle 25.svg +11 -0
- package/dist/resources/images/dashboard/image 5.svg +9 -0
- 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
- package/dist/resources/shadcn-base.css +16 -70
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/package.json +1 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.d.ts +0 -8
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.js +0 -6
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.js.map +0 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.ts +0 -13
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.d.ts +0 -11
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.js +0 -10
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.js.map +0 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.ts +0 -22
- package/dist/components/core/list/SolidCustomListColumn.d.ts +0 -8
- package/dist/components/core/list/SolidCustomListColumn.d.ts.map +0 -1
- package/dist/components/core/list/SolidCustomListColumn.js +0 -47
- package/dist/components/core/list/SolidCustomListColumn.js.map +0 -1
- package/dist/components/core/list/SolidCustomListColumn.tsx +0 -57
- package/dist/components/workflow/WorkflowFlowCanvas.css +0 -431
- package/dist/components/workflow/WorkflowFlowCanvas.d.ts +0 -41
- package/dist/components/workflow/WorkflowFlowCanvas.d.ts.map +0 -1
- package/dist/components/workflow/WorkflowFlowCanvas.js +0 -705
- package/dist/components/workflow/WorkflowFlowCanvas.js.map +0 -1
- package/dist/components/workflow/WorkflowFlowCanvas.tsx +0 -1274
- package/dist/components/workflow/WorkflowNodeDocsPanel.css +0 -247
- package/dist/components/workflow/WorkflowNodeDocsPanel.d.ts +0 -22
- package/dist/components/workflow/WorkflowNodeDocsPanel.d.ts.map +0 -1
- package/dist/components/workflow/WorkflowNodeDocsPanel.js +0 -97
- package/dist/components/workflow/WorkflowNodeDocsPanel.js.map +0 -1
- package/dist/components/workflow/WorkflowNodeDocsPanel.tsx +0 -363
- package/dist/components/workflow/WorkflowNodeSchemaEditor.d.ts +0 -50
- package/dist/components/workflow/WorkflowNodeSchemaEditor.d.ts.map +0 -1
- package/dist/components/workflow/WorkflowNodeSchemaEditor.js +0 -309
- package/dist/components/workflow/WorkflowNodeSchemaEditor.js.map +0 -1
- package/dist/components/workflow/WorkflowNodeSchemaEditor.tsx +0 -808
- package/dist/helpers/modulePackageResumeState.d.ts +0 -6
- package/dist/helpers/modulePackageResumeState.d.ts.map +0 -1
- package/dist/helpers/modulePackageResumeState.js +0 -46
- package/dist/helpers/modulePackageResumeState.js.map +0 -1
- package/dist/helpers/modulePackageResumeState.ts +0 -57
- package/dist/redux/api/workflowDefinitionEditorApi.d.ts +0 -17
- package/dist/redux/api/workflowDefinitionEditorApi.d.ts.map +0 -1
- package/dist/redux/api/workflowDefinitionEditorApi.js +0 -38
- package/dist/redux/api/workflowDefinitionEditorApi.js.map +0 -1
- package/dist/redux/api/workflowDefinitionEditorApi.ts +0 -40
- package/dist/redux/api/workflowNodeApi.d.ts +0 -6
- package/dist/redux/api/workflowNodeApi.d.ts.map +0 -1
- package/dist/redux/api/workflowNodeApi.js +0 -14
- package/dist/redux/api/workflowNodeApi.js.map +0 -1
- package/dist/redux/api/workflowNodeApi.ts +0 -18
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.css +0 -970
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.d.ts +0 -3
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.d.ts.map +0 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js +0 -1287
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js.map +0 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.tsx +0 -2572
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.css +0 -151
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.d.ts +0 -3
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.d.ts.map +0 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.js +0 -250
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.js.map +0 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.tsx +0 -455
- package/dist/types/workflow-node.d.ts +0 -127
- package/dist/types/workflow-node.d.ts.map +0 -1
- package/dist/types/workflow-node.js +0 -2
- package/dist/types/workflow-node.js.map +0 -1
- package/dist/types/workflow-node.ts +0 -162
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaMultipleField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { DropzonePlaceholder } from \"../../../../components/common/DropzonePlaceholder\";\nimport { DropzoneUpload } from \"../../../../components/common/DropzoneUpload\";\nimport { useDeleteMediaMutation } from \"../../../../redux/api/mediaApi\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"../../../shad-cn-ui/SolidDialog\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { SolidProgressBar } from \"../../../shad-cn-ui/SolidProgressBar\";\nimport { useEffect, useState } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { FileReaderExt } from \"../../../../components/common/FileReaderExt\";\nimport getAcceptedFileTypes from \"../../../../helpers/getAcceptedFileTypes\";\nimport { downloadMediaFile } from \"../../../../helpers/downloadMediaFile\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps, SolidMediaFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\nimport { SolidIcon } from \"../../../shad-cn-ui\";\nimport { buildMediaFieldKey, getPersistedMediaId } from \"./mediaFieldUtils\";\nexport class SolidMediaMultipleField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n private setLightboxUrls?: (urls: { src: string; downloadUrl: string }[]) => void;\n private setOpenLightbox?: (open: boolean) => void;\n constructor(fieldContext: SolidFieldProps, setLightboxUrls?: (urls: { src: string; downloadUrl: string }[]) => void,\n setOpenLightbox?: (open: boolean) => void) {\n this.fieldContext = fieldContext;\n this.setLightboxUrls = setLightboxUrls;\n this.setOpenLightbox = setOpenLightbox;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n // @ts-ignore\n for (let i = 0; i < value.length; i++) {\n // @ts-ignore\n const file = value[i];\n if (file instanceof File) {\n formData.append(fieldLayoutInfo.attrs.name, file);\n }\n }\n }\n\n initialValue(): any {\n const mediaUrls = this.fieldContext.data && this.fieldContext.data._media && this.fieldContext.data._media[this.fieldContext.field.attrs.name].map((i: any) => i)\n return mediaUrls;\n }\n\n validationSchema(): Yup.Schema {\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.label ?? fieldMetadata.displayName;\n\n let schema: Yup.ArraySchema<any, any, any, any>; // Correctly specifying type arguments for ArraySchema\n if (fieldMetadata.required) {\n // For required fields: disallow null, undefined, and empty arrays\n schema = Yup.array()\n .of(\n Yup.mixed<File | object>()\n .required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .test(\n ERROR_MESSAGES.FILE_OBJECT,\n ERROR_MESSAGES.MUST_BE_FILE_OBJECT(fieldLabel),\n (value) =>\n value instanceof File || typeof value === \"object\" // Validate File or object\n )\n )\n .min(1, ERROR_MESSAGES.FIELD_MUST_HAVE_ITEM(fieldLabel)); // Ensure array has at least one item\n } else {\n // For optional fields: allow null, undefined, or an empty array\n schema = Yup.array()\n .of(\n Yup.mixed<File | object>()\n .nullable() // Allow null explicitly\n .test(\n ERROR_MESSAGES.FILE_OBJECT,\n ERROR_MESSAGES.MUST_BE_FILE_OBJECT(fieldLabel),\n (value) =>\n value === null || // Allow null\n value === undefined || // Allow undefined\n value instanceof File || // Allow File\n typeof value === \"object\" // Allow object\n )\n )\n .nullable() // Allow null array explicitly\n .test(\n ERROR_MESSAGES.EMPTY_VALID_ARRAY,\n ERROR_MESSAGES.CONTAIN_EMPTY_ARRAY_OR_FILE_OBECT(fieldLabel),\n (value) => value === null || value === undefined || Array.isArray(value)\n );\n }\n\n\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultMediaMultipleFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultMediaMultipleFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidMediaFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n setLightboxUrls: this.setLightboxUrls,\n setOpenLightbox: this.setOpenLightbox\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\nexport const DefaultMediaMultipleFormEditWidget = ({ formik, fieldContext, setLightboxUrls, setOpenLightbox }: SolidMediaFormFieldWidgetProps) => {\n type MediaFileDetail = { name: string; type: string; size: number; mediaId: number | string | null; fileKey: string; fileUrl: string };\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const viewMode: string = fieldContext.viewMode;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly ? fieldContext.readOnly : fieldLayoutInfo.attrs.readonly;\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isFieldDisabled = formDisabled || fieldDisabled;\n const isFieldReadonly = formReadonly || fieldReadonly || readOnlyPermission;\n\n const [isDeleteImageDialogVisible, setDeleteImageDialogVisible] = useState(false);\n const [fileDetails, setFileDetails] = useState<MediaFileDetail[]>([]);\n const [selectedFileId, setSelectedFileId] = useState<string | null>(null);\n const [fileSizeError, setFileSizeError] = useState<string | null>(null);\n\n const formatFileSize = (size: number) => {\n return size >= 1024 * 1024\n ? `${(size / (1024 * 1024)).toFixed(1)} MB`\n : `${(size / 1024).toFixed(1)} KB`;\n };\n const [deleteMedia] = useDeleteMediaMutation();\n useEffect(() => {\n const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];\n const objectUrls: string[] = [];\n\n if (Array.isArray(fieldValue) && fieldValue.length > 0) {\n const details: MediaFileDetail[] = [];\n fieldValue.forEach((file: File | any) => {\n if (file instanceof File) {\n const fileUrl = URL.createObjectURL(file);\n objectUrls.push(fileUrl);\n\n details.push({\n name: file.name,\n type: file.type,\n size: file.size,\n mediaId: null,\n fileKey: buildMediaFieldKey(file),\n fileUrl: fileUrl\n });\n } else if (typeof file === \"object\" && file._full_url) {\n details.push({\n name: file.originalFileName,\n type: file.mimeType,\n size: file.fileSize,\n mediaId: getPersistedMediaId(file),\n fileKey: buildMediaFieldKey(file),\n fileUrl: file._full_url\n });\n }\n });\n setFileDetails(details);\n } else {\n setFileDetails([]);\n }\n\n return () => {\n objectUrls.forEach((url) => URL.revokeObjectURL(url));\n };\n }, [formik.values, fieldLayoutInfo.attrs.name]);\n\n const handleDropImages = (acceptedFiles: any[]) => {\n if (!acceptedFiles.length) return;\n setFileSizeError(null);\n const existingFiles = Array.isArray(formik?.values[fieldLayoutInfo.attrs.name])\n ? formik.values[fieldLayoutInfo.attrs.name]\n : [];\n acceptedFiles.forEach((file) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n });\n\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: [...existingFiles, ...acceptedFiles],\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n };\n\n const confirmDeleteFile = (fileId: string) => {\n setSelectedFileId(fileId);\n setDeleteImageDialogVisible(true);\n };\n\n const deleteFile = async () => {\n if (!selectedFileId) {\n return;\n }\n\n const currentFiles = Array.isArray(formik?.values[fieldLayoutInfo.attrs.name])\n ? formik.values[fieldLayoutInfo.attrs.name]\n : [];\n const fileToDelete = currentFiles.find((file: File | any) => buildMediaFieldKey(file) === selectedFileId);\n\n if (!fileToDelete) {\n setDeleteImageDialogVisible(false);\n setShowAllFiles(false);\n setSelectedFileId(null);\n return;\n }\n\n try {\n const persistedMediaId = getPersistedMediaId(fileToDelete);\n if (persistedMediaId !== null) {\n await deleteMedia(persistedMediaId).unwrap();\n }\n\n const nextValue = currentFiles.filter((file: File | any) => buildMediaFieldKey(file) !== selectedFileId);\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: nextValue,\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n setFileDetails((prev) => prev.filter((file) => file.fileKey !== selectedFileId));\n } catch (error) {\n console.error(ERROR_MESSAGES.ERROR_DELETING_FILE, error);\n }\n\n setDeleteImageDialogVisible(false);\n setShowAllFiles(false);\n setSelectedFileId(null);\n };\n\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n } = useDropzone({\n onDrop: handleDropImages,\n onDropRejected: (fileRejections) => {\n const rejection = fileRejections[0];\n const sizeError = rejection.errors.find(err => err.code === 'file-too-large');\n if (sizeError) {\n setFileSizeError(ERROR_MESSAGES.FILE_TOO_LAREG(fieldMetadata.mediaMaxSizeKb));\n ERROR_MESSAGES.FILE_TOO_LAREG(fieldMetadata.mediaMaxSizeKb)\n } else {\n setFileSizeError(rejection.errors[0]?.message || ERROR_MESSAGES.FILE_NOT_ACCEPT);\n }\n },\n accept: getAcceptedFileTypes(fieldMetadata.mediaTypes),\n maxSize: fieldMetadata.mediaMaxSizeKb * 1024,\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const [isShowAllFiles, setShowAllFiles] = useState(false);\n let DynamicWidget = getExtensionComponent(\"SolidFormFieldViewMediaMultipleWidget\");\n const widgetProps = {\n formik: formik,\n fieldContext: fieldContext,\n setLightboxUrls: setLightboxUrls,\n setOpenLightbox: setOpenLightbox\n }\n\n const handleFileView = (url: any) => {\n const downloadOnlyExt = [\n \"txt\", \"zip\", \"rar\",\n \"doc\", \"docx\",\n \"xls\", \"xlsx\",\n \"ppt\", \"pptx\"\n ];\n\n const fileUrl = url?.fileUrl || \"\";\n const cleanUrl = fileUrl.split(\"?\")[0];\n const ext = cleanUrl.split(\".\").pop()?.toLowerCase();\n\n if (ext && downloadOnlyExt.includes(ext)) {\n const link = document.createElement('a');\n link.href = url.fileUrl;\n link.download = ''; // or specify a file name like 'file.pdf'\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n } else {\n setLightboxUrls?.([\n { src: url.fileUrl, downloadUrl: url.fileUrl },\n ]);\n setOpenLightbox?.(true);\n }\n }\n\n\n return (\n <div style={readOnlyPermission === true ? { filter: 'opacity(50%)', pointerEvents: 'none' } : {}}>\n <div className={`${styles.fieldWrapper} relative`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <div className=\"relative\">\n <div\n {...getRootProps()}\n className=\"solid-dropzone-wrapper\"\n >\n <input {...getInputProps()} />\n <DropzonePlaceholder\n mediaTypes={fieldMetadata.mediaTypes}\n mediaMaxSizeKb={fieldMetadata.mediaMaxSizeKb}\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n {\n fileSizeError &&\n <SolidMessage severity=\"error\" text={fileSizeError?.toString()} />\n }\n </div>\n {fileDetails.length > 0 &&\n <div className=\"solid-file-upload-wrapper\">\n <div className=\"flex items-center md:gap-2\">\n <FileReaderExt fileDetails={fileDetails[0]} />\n <div className=\"w-full flex flex-col gap-1\">\n <div className=\"flex items-center justify-between\">\n <p className=\"m-0 w-9 font-normal text-[var(--primary-color)] solid-img-text-wrapper\" style={{ cursor: 'pointer' }} onClick={() => handleFileView(fileDetails[0])}>{fileDetails[0].name}</p>\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Download file\"\n onClick={() => downloadMediaFile(fileDetails[0]?.fileUrl, fileDetails[0]?.name)}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn is-danger\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Remove file\"\n onClick={() => confirmDeleteFile(fileDetails[0].fileKey)}\n >\n <SolidIcon name=\"si-times\" aria-hidden />\n </button>\n </div>\n </div>\n <div className=\"flex items-center gap-2 text-sm\">\n {formatFileSize(fileDetails[0].size)}\n </div>\n </div>\n </div>\n </div>\n }\n\n {fileDetails.length > 1 &&\n <div className=\"flex items-center mt-1\">\n <p className=\"m-0\">\n {fileDetails.length - 1} items\n </p>\n <div>\n <SolidButton type=\"button\" size=\"sm\" variant=\"ghost\" onClick={() => setShowAllFiles(true)}>\n View\n </SolidButton>\n </div>\n </div>\n }\n\n <SolidDialog\n open={isShowAllFiles}\n onOpenChange={setShowAllFiles}\n style={{ minWidth: 450 }}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Items Uploaded</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody>\n {fileDetails.length > 1 &&\n fileDetails.map((file, index) => {\n const fileId = file.fileKey;\n return (\n <div key={fileId} className=\"solid-file-upload-wrapper\">\n <div className=\"flex items-center md:gap-2\">\n <FileReaderExt fileDetails={file} />\n <div className=\"w-full flex flex-col gap-1\">\n <div className=\"flex items-center justify-between\">\n <p className=\"m-0 w-11 font-normal text-[var(--primary-color)] solid-img-text-wrapper\" style={{ cursor: 'pointer' }} onClick={() => handleFileView(file)}>{file.name}</p>\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Download file\"\n onClick={() => downloadMediaFile(file?.fileUrl, file?.name)}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn is-danger\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Remove file\"\n onClick={() => confirmDeleteFile(fileId)}\n >\n <SolidIcon name=\"si-times\" aria-hidden />\n </button>\n </div>\n </div>\n <div className=\"flex items-center gap-2 text-sm\">\n {formatFileSize(file.size)}\n </div>\n </div>\n </div>\n </div>\n );\n })\n }\n </SolidDialogBody>\n </SolidDialog>\n <SolidDialog\n open={isDeleteImageDialogVisible}\n onOpenChange={setDeleteImageDialogVisible}\n className=\"solid-shadcn-confirm-dialog\"\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head\">\n <SolidDialogTitle>Confirm Delete</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body\">\n <p className=\"solid-shadcn-dialog-text\">Are you sure you want to delete this file?</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions\">\n <SolidButton variant=\"destructive\" size=\"sm\" autoFocus onClick={deleteFile}>\n Delete\n </SolidButton>\n <SolidButton variant=\"outline\" size=\"sm\" onClick={() => setDeleteImageDialogVisible(false)}>\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n </div>\n );\n}\n\nexport const DefaultMediaMultipleFormViewWidget = ({ formik, fieldContext, setLightboxUrls, setOpenLightbox }: SolidMediaFormFieldWidgetProps) => {\n const [fileDetails, setFileDetails] = useState<{ name: string; type: string; size: number, id: number, fileUrl: string }[]>([]);\n const [isShowAllFiles, setShowAllFiles] = useState(false);\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n // useEffect(() => { formik.setFieldValue(fieldLayoutInfo.attrs.name, \"false\") }, [])\n\n const formatFileSize = (size: number) => {\n return size >= 1024 * 1024\n ? `${(size / (1024 * 1024)).toFixed(1)} MB`\n : `${(size / 1024).toFixed(1)} KB`;\n };\n\n useEffect(() => {\n const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];\n\n if (Array.isArray(fieldValue) && fieldValue.length > 0) {\n const urls: string[] = [];\n const details: { name: string; type: string; size: number, id: any, fileUrl: string }[] = [];\n const objectUrls: string[] = [];\n fieldValue.forEach((file: File | any) => {\n if (file instanceof File) {\n // New file (from local upload)\n const fileUrl = URL.createObjectURL(file);\n objectUrls.push(fileUrl); // Store URL for cleanup\n urls.push(fileUrl);\n\n details.push({\n name: file.name,\n type: file.type,\n size: file.size,\n id: `${file.name}-${file.size}`,\n fileUrl: fileUrl // ✅ Store the generated object URL\n });\n } else if (typeof file === \"object\" && file._full_url) {\n urls.push(file._full_url);\n details.push({\n name: file.originalFileName,\n type: file.mimeType,\n size: file.fileSize,\n id: file.id,\n fileUrl: file._full_url\n });\n }\n });\n setFileDetails(details);\n }\n }, [formik.values, fieldLayoutInfo.attrs.name]);\n\n const handleFileView = (url: any) => {\n const downloadOnlyExt = [\n \"txt\", \"zip\", \"rar\",\n \"doc\", \"docx\",\n \"xls\", \"xlsx\",\n \"ppt\", \"pptx\"\n ];\n\n const fileUrl = url?.fileUrl || \"\";\n const cleanUrl = fileUrl.split(\"?\")[0];\n const ext = cleanUrl.split(\".\").pop()?.toLowerCase();\n\n if (ext && downloadOnlyExt.includes(ext)) {\n const link = document.createElement('a');\n link.href = url.fileUrl;\n link.download = ''; // or specify a file name like 'file.pdf'\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n } else {\n setLightboxUrls?.([\n { src: url.fileUrl, downloadUrl: url.fileUrl },\n ]);\n setOpenLightbox?.(true);\n }\n }\n\n const renderMediaFileCard = (file: { name: string; type: string; size: number; id: number; fileUrl: string }, className = \"\") => (\n <div className={`${styles.mediaAttachmentCard} ${className}`.trim()}>\n <div className={`${styles.mediaAttachmentRow} flex items-center md:gap-2`}>\n <FileReaderExt fileDetails={file} />\n <div className={`${styles.mediaAttachmentMeta} w-full`}>\n <div className=\"flex items-start justify-between gap-4\">\n <button\n type=\"button\"\n className={styles.mediaAttachmentName}\n onClick={() => handleFileView(file)}\n title={file.name}\n >\n {file.name}\n </button>\n <div className={`${styles.mediaAttachmentActions} flex items-center md:gap-2`}>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n aria-label=\"Download file\"\n onClick={() => downloadMediaFile(file?.fileUrl, file?.name)}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n </div>\n </div>\n <div className={styles.mediaAttachmentSize}>\n {formatFileSize(file.size)}\n </div>\n </div>\n </div>\n </div>\n );\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel != false &&\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </p>\n }\n {fileDetails.length > 0 &&\n renderMediaFileCard(fileDetails[0], styles.mediaAttachmentCardView)\n }\n\n {fileDetails.length > 1 &&\n <div className=\"flex items-center mt-1\">\n <p className=\"m-0\">\n {fileDetails.length - 1} items\n </p>\n <div>\n <SolidButton type=\"button\" size=\"sm\" variant=\"ghost\" onClick={() => setShowAllFiles(true)}>\n View\n </SolidButton>\n </div>\n </div>\n }\n\n <SolidDialog\n open={isShowAllFiles}\n onOpenChange={setShowAllFiles}\n style={{ minWidth: 450 }}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Items Uploaded</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody>\n {fileDetails.length > 1 &&\n fileDetails.map((file, index) => {\n const fileId = `${file.name}-${file.size}`;\n return (\n <div key={fileId} className={index === fileDetails.length - 1 ? \"\" : \"mb-3\"}>\n {renderMediaFileCard(file)}\n </div>\n );\n })\n }\n </SolidDialogBody>\n </SolidDialog>\n\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SolidMediaMultipleField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidMediaMultipleField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { DropzonePlaceholder } from \"../../../../components/common/DropzonePlaceholder\";\nimport { DropzoneUpload } from \"../../../../components/common/DropzoneUpload\";\nimport { useDeleteMediaMutation } from \"../../../../redux/api/mediaApi\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport {\n SolidDialog,\n SolidDialogBody,\n SolidDialogClose,\n SolidDialogFooter,\n SolidDialogHeader,\n SolidDialogSeparator,\n SolidDialogTitle,\n} from \"../../../shad-cn-ui/SolidDialog\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { SolidProgressBar } from \"../../../shad-cn-ui/SolidProgressBar\";\nimport { useEffect, useState } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { FileReaderExt } from \"../../../../components/common/FileReaderExt\";\nimport getAcceptedFileTypes from \"../../../../helpers/getAcceptedFileTypes\";\nimport { downloadMediaFile } from \"../../../../helpers/downloadMediaFile\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { openMediaInNewTab } from \"../../../../helpers/mediaUrl\";\nimport { getMediaPreviewKind, isLightboxMediaKind } from \"../../../../helpers/mediaType\";\nimport { SolidFormFieldWidgetProps, SolidMediaFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\nimport { SolidIcon } from \"../../../shad-cn-ui\";\nimport { buildMediaFieldKey, getPersistedMediaId } from \"./mediaFieldUtils\";\n\nexport class SolidMediaMultipleField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n private setLightboxUrls?: (urls: { src: string; downloadUrl: string }[]) => void;\n private setOpenLightbox?: (open: boolean) => void;\n constructor(fieldContext: SolidFieldProps, setLightboxUrls?: (urls: { src: string; downloadUrl: string }[]) => void,\n setOpenLightbox?: (open: boolean) => void) {\n this.fieldContext = fieldContext;\n this.setLightboxUrls = setLightboxUrls;\n this.setOpenLightbox = setOpenLightbox;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n // @ts-ignore\n for (let i = 0; i < value.length; i++) {\n // @ts-ignore\n const file = value[i];\n if (file instanceof File) {\n formData.append(fieldLayoutInfo.attrs.name, file);\n }\n }\n }\n\n initialValue(): any {\n const mediaUrls = this.fieldContext.data && this.fieldContext.data._media && this.fieldContext.data._media[this.fieldContext.field.attrs.name].map((i: any) => i)\n return mediaUrls;\n }\n\n validationSchema(): Yup.Schema {\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.label ?? fieldMetadata.displayName;\n\n let schema: Yup.ArraySchema<any, any, any, any>; // Correctly specifying type arguments for ArraySchema\n if (fieldMetadata.required) {\n // For required fields: disallow null, undefined, and empty arrays\n schema = Yup.array()\n .of(\n Yup.mixed<File | object>()\n .required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .test(\n ERROR_MESSAGES.FILE_OBJECT,\n ERROR_MESSAGES.MUST_BE_FILE_OBJECT(fieldLabel),\n (value) =>\n value instanceof File || typeof value === \"object\" // Validate File or object\n )\n )\n .min(1, ERROR_MESSAGES.FIELD_MUST_HAVE_ITEM(fieldLabel)); // Ensure array has at least one item\n } else {\n // For optional fields: allow null, undefined, or an empty array\n schema = Yup.array()\n .of(\n Yup.mixed<File | object>()\n .nullable() // Allow null explicitly\n .test(\n ERROR_MESSAGES.FILE_OBJECT,\n ERROR_MESSAGES.MUST_BE_FILE_OBJECT(fieldLabel),\n (value) =>\n value === null || // Allow null\n value === undefined || // Allow undefined\n value instanceof File || // Allow File\n typeof value === \"object\" // Allow object\n )\n )\n .nullable() // Allow null array explicitly\n .test(\n ERROR_MESSAGES.EMPTY_VALID_ARRAY,\n ERROR_MESSAGES.CONTAIN_EMPTY_ARRAY_OR_FILE_OBECT(fieldLabel),\n (value) => value === null || value === undefined || Array.isArray(value)\n );\n }\n\n\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultMediaMultipleFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultMediaMultipleFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidMediaFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n setLightboxUrls: this.setLightboxUrls,\n setOpenLightbox: this.setOpenLightbox\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\nexport const DefaultMediaMultipleFormEditWidget = ({ formik, fieldContext, setLightboxUrls, setOpenLightbox }: SolidMediaFormFieldWidgetProps) => {\n type MediaFileDetail = { name: string; type: string; size: number; mediaId: number | string | null; fileKey: string; fileUrl: string };\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const viewMode: string = fieldContext.viewMode;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly ? fieldContext.readOnly : fieldLayoutInfo.attrs.readonly;\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isFieldDisabled = formDisabled || fieldDisabled;\n const isFieldReadonly = formReadonly || fieldReadonly || readOnlyPermission;\n\n const [isDeleteImageDialogVisible, setDeleteImageDialogVisible] = useState(false);\n const [fileDetails, setFileDetails] = useState<MediaFileDetail[]>([]);\n const [selectedFileId, setSelectedFileId] = useState<string | null>(null);\n const [fileSizeError, setFileSizeError] = useState<string | null>(null);\n\n const formatFileSize = (size: number) => {\n return size >= 1024 * 1024\n ? `${(size / (1024 * 1024)).toFixed(1)} MB`\n : `${(size / 1024).toFixed(1)} KB`;\n };\n const [deleteMedia] = useDeleteMediaMutation();\n useEffect(() => {\n const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];\n if (!Array.isArray(fieldValue) || fieldValue.length === 0) {\n setFileDetails([]);\n return;\n }\n\n const objectUrls: string[] = [];\n const details = fieldValue\n .map((file: File | any): MediaFileDetail | null => {\n if (file instanceof File) {\n const fileUrl = URL.createObjectURL(file);\n objectUrls.push(fileUrl);\n return {\n name: file.name,\n type: file.type,\n size: file.size,\n mediaId: null,\n fileKey: buildMediaFieldKey(file),\n fileUrl,\n };\n }\n\n const fileUrl = file?._full_url;\n if (!fileUrl) {\n return null;\n }\n\n return {\n name: file.originalFileName,\n type: file.mimeType,\n size: file.fileSize,\n mediaId: getPersistedMediaId(file),\n fileKey: buildMediaFieldKey(file),\n fileUrl,\n };\n })\n .filter((detail): detail is MediaFileDetail => detail !== null);\n\n setFileDetails(details);\n\n return () => {\n objectUrls.forEach((fileUrl) => URL.revokeObjectURL(fileUrl));\n };\n }, [formik.values, fieldLayoutInfo.attrs.name]);\n\n const handleDropImages = (acceptedFiles: any[]) => {\n if (!acceptedFiles.length) return;\n setFileSizeError(null);\n const existingFiles = Array.isArray(formik?.values[fieldLayoutInfo.attrs.name])\n ? formik.values[fieldLayoutInfo.attrs.name]\n : [];\n acceptedFiles.forEach((file) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n });\n\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: [...existingFiles, ...acceptedFiles],\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n };\n\n const confirmDeleteFile = (fileId: string) => {\n setSelectedFileId(fileId);\n setDeleteImageDialogVisible(true);\n };\n\n const deleteFile = async () => {\n if (!selectedFileId) {\n return;\n }\n\n const currentFiles = Array.isArray(formik?.values[fieldLayoutInfo.attrs.name])\n ? formik.values[fieldLayoutInfo.attrs.name]\n : [];\n const fileToDelete = currentFiles.find((file: File | any) => buildMediaFieldKey(file) === selectedFileId);\n\n if (!fileToDelete) {\n setDeleteImageDialogVisible(false);\n setShowAllFiles(false);\n setSelectedFileId(null);\n return;\n }\n\n try {\n const persistedMediaId = getPersistedMediaId(fileToDelete);\n if (persistedMediaId !== null) {\n await deleteMedia(persistedMediaId).unwrap();\n }\n\n const nextValue = currentFiles.filter((file: File | any) => buildMediaFieldKey(file) !== selectedFileId);\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: nextValue,\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n setFileDetails((prev) => prev.filter((file) => file.fileKey !== selectedFileId));\n } catch (error) {\n console.error(ERROR_MESSAGES.ERROR_DELETING_FILE, error);\n }\n\n setDeleteImageDialogVisible(false);\n setShowAllFiles(false);\n setSelectedFileId(null);\n };\n\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n } = useDropzone({\n onDrop: handleDropImages,\n onDropRejected: (fileRejections) => {\n const rejection = fileRejections[0];\n const sizeError = rejection.errors.find(err => err.code === 'file-too-large');\n if (sizeError) {\n setFileSizeError(ERROR_MESSAGES.FILE_TOO_LAREG(fieldMetadata.mediaMaxSizeKb));\n ERROR_MESSAGES.FILE_TOO_LAREG(fieldMetadata.mediaMaxSizeKb)\n } else {\n setFileSizeError(rejection.errors[0]?.message || ERROR_MESSAGES.FILE_NOT_ACCEPT);\n }\n },\n accept: getAcceptedFileTypes(fieldMetadata.mediaTypes),\n maxSize: fieldMetadata.mediaMaxSizeKb * 1024,\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const [isShowAllFiles, setShowAllFiles] = useState(false);\n let DynamicWidget = getExtensionComponent(\"SolidFormFieldViewMediaMultipleWidget\");\n const widgetProps = {\n formik: formik,\n fieldContext: fieldContext,\n setLightboxUrls: setLightboxUrls,\n setOpenLightbox: setOpenLightbox\n }\n\n const handleFileView = (url: any) => {\n const previewKind = getMediaPreviewKind({\n url: url?.fileUrl,\n fileName: url?.name,\n mimeType: url?.type,\n });\n\n if (isLightboxMediaKind(previewKind)) {\n setLightboxUrls?.([\n {\n src: url.fileUrl,\n downloadUrl: url.fileUrl,\n type: previewKind === \"video\" ? \"video\" : undefined\n },\n ]);\n setOpenLightbox?.(true);\n return;\n }\n\n openMediaInNewTab(url?.fileUrl);\n }\n\n\n return (\n <div style={readOnlyPermission === true ? { filter: 'opacity(50%)', pointerEvents: 'none' } : {}}>\n <div className={`${styles.fieldWrapper} relative`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>{fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n {/* {fieldDescription && <span className=\"form_field_help\">({fieldDescription}) </span>} */}\n </label>\n }\n <div className=\"relative\">\n <div\n {...getRootProps()}\n className=\"solid-dropzone-wrapper\"\n >\n <input {...getInputProps()} />\n <DropzonePlaceholder\n mediaTypes={fieldMetadata.mediaTypes}\n mediaMaxSizeKb={fieldMetadata.mediaMaxSizeKb}\n />\n </div>\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <div className=\"absolute mt-1\">\n <SolidMessage severity=\"error\" text={formik?.errors[fieldLayoutInfo.attrs.name]?.toString()} />\n </div>\n )}\n </div>\n {\n fileSizeError &&\n <SolidMessage severity=\"error\" text={fileSizeError?.toString()} />\n }\n </div>\n {fileDetails.length > 0 &&\n <div className={`${styles.mediaAttachmentCard} mt-4`}>\n <div className={`${styles.mediaAttachmentRow} flex items-center md:gap-2`}>\n <FileReaderExt fileDetails={fileDetails[0]} />\n <div className={`${styles.mediaAttachmentMeta} w-full`}>\n <div className=\"flex items-start justify-between gap-4\">\n <button\n type=\"button\"\n className={styles.mediaAttachmentName}\n onClick={() => handleFileView(fileDetails[0])}\n title={fileDetails[0].name}\n >\n {fileDetails[0].name}\n </button>\n <div className={`${styles.mediaAttachmentActions} flex items-center gap-2`}>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Download file\"\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n downloadMediaFile(fileDetails[0]?.fileUrl, fileDetails[0]?.name);\n }}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn is-danger\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Remove file\"\n onClick={() => confirmDeleteFile(fileDetails[0].fileKey)}\n >\n <SolidIcon name=\"si-times\" aria-hidden />\n </button>\n </div>\n </div>\n <div className={styles.mediaAttachmentSize}>\n {formatFileSize(fileDetails[0].size)}\n </div>\n </div>\n </div>\n </div>\n }\n\n {fileDetails.length > 1 &&\n <div className=\"flex items-center mt-1\">\n <p className=\"m-0\">\n {fileDetails.length - 1} items\n </p>\n <div>\n <SolidButton type=\"button\" size=\"sm\" variant=\"ghost\" onClick={() => setShowAllFiles(true)}>\n View\n </SolidButton>\n </div>\n </div>\n }\n\n <SolidDialog\n open={isShowAllFiles}\n onOpenChange={setShowAllFiles}\n style={{ minWidth: 450 }}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Items Uploaded</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody>\n {fileDetails.length > 1 &&\n fileDetails.map((file, index) => {\n const fileId = file.fileKey;\n return (\n <div key={fileId} className={index === fileDetails.length - 1 ? \"\" : \"mb-3\"}>\n <div className={styles.mediaAttachmentCard}>\n <div className={`${styles.mediaAttachmentRow} flex items-center md:gap-2`}>\n <FileReaderExt fileDetails={file} />\n <div className={`${styles.mediaAttachmentMeta} w-full`}>\n <div className=\"flex items-start justify-between gap-4\">\n <button\n type=\"button\"\n className={styles.mediaAttachmentName}\n onClick={() => handleFileView(file)}\n title={file.name}\n >\n {file.name}\n </button>\n <div className={`${styles.mediaAttachmentActions} flex items-center gap-2`}>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Download file\"\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n downloadMediaFile(file?.fileUrl, file?.name);\n }}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn is-danger\"\n disabled={isFieldDisabled || isFieldReadonly}\n aria-label=\"Remove file\"\n onClick={() => confirmDeleteFile(fileId)}\n >\n <SolidIcon name=\"si-times\" aria-hidden />\n </button>\n </div>\n </div>\n <div className={styles.mediaAttachmentSize}>\n {formatFileSize(file.size)}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n })\n }\n </SolidDialogBody>\n </SolidDialog>\n <SolidDialog\n open={isDeleteImageDialogVisible}\n onOpenChange={setDeleteImageDialogVisible}\n className=\"solid-shadcn-confirm-dialog\"\n >\n <SolidDialogHeader className=\"solid-shadcn-dialog-head\">\n <SolidDialogTitle>Confirm Delete</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogSeparator className=\"solid-shadcn-dialog-sep\" />\n <SolidDialogBody className=\"solid-shadcn-dialog-body\">\n <p className=\"solid-shadcn-dialog-text\">Are you sure you want to delete this file?</p>\n </SolidDialogBody>\n <SolidDialogFooter className=\"solid-shadcn-dialog-actions\">\n <SolidButton variant=\"destructive\" size=\"sm\" autoFocus onClick={deleteFile}>\n Delete\n </SolidButton>\n <SolidButton variant=\"outline\" size=\"sm\" onClick={() => setDeleteImageDialogVisible(false)}>\n Cancel\n </SolidButton>\n </SolidDialogFooter>\n </SolidDialog>\n </div>\n );\n}\n\nexport const DefaultMediaMultipleFormViewWidget = ({ formik, fieldContext, setLightboxUrls, setOpenLightbox }: SolidMediaFormFieldWidgetProps) => {\n const [fileDetails, setFileDetails] = useState<{ name: string; type: string; size: number; id: number | string; fileUrl: string }[]>([]);\n const [isShowAllFiles, setShowAllFiles] = useState(false);\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n\n // useEffect(() => { formik.setFieldValue(fieldLayoutInfo.attrs.name, \"false\") }, [])\n\n const formatFileSize = (size: number) => {\n return size >= 1024 * 1024\n ? `${(size / (1024 * 1024)).toFixed(1)} MB`\n : `${(size / 1024).toFixed(1)} KB`;\n };\n\n useEffect(() => {\n const fieldValue = formik?.values[fieldLayoutInfo.attrs.name];\n if (!Array.isArray(fieldValue) || fieldValue.length === 0) {\n setFileDetails([]);\n return;\n }\n\n const objectUrls: string[] = [];\n const details = fieldValue\n .map((file: File | any) => {\n if (file instanceof File) {\n const fileUrl = URL.createObjectURL(file);\n objectUrls.push(fileUrl);\n return {\n name: file.name,\n type: file.type,\n size: file.size,\n id: `${file.name}-${file.size}`,\n fileUrl,\n };\n }\n\n const fileUrl = file?._full_url;\n if (!fileUrl) {\n return null;\n }\n\n return {\n name: file.originalFileName,\n type: file.mimeType,\n size: file.fileSize,\n id: file.id,\n fileUrl,\n };\n })\n .filter(Boolean) as { name: string; type: string; size: number; id: number | string; fileUrl: string }[];\n\n setFileDetails(details);\n\n return () => {\n objectUrls.forEach((fileUrl) => URL.revokeObjectURL(fileUrl));\n };\n }, [formik.values, fieldLayoutInfo.attrs.name]);\n\n const handleFileView = (url: any) => {\n const previewKind = getMediaPreviewKind({\n url: url?.fileUrl,\n fileName: url?.name,\n mimeType: url?.type,\n });\n\n if (isLightboxMediaKind(previewKind)) {\n setLightboxUrls?.([\n {\n src: url.fileUrl,\n downloadUrl: url.fileUrl,\n type: previewKind === \"video\" ? \"video\" : undefined\n },\n ]);\n setOpenLightbox?.(true);\n return;\n }\n\n openMediaInNewTab(url?.fileUrl);\n }\n\n const renderMediaFileCard = (file: { name: string; type: string; size: number; id: number | string; fileUrl: string }, className = \"\") => (\n <div className={`${styles.mediaAttachmentCard} ${className}`.trim()}>\n <div className={`${styles.mediaAttachmentRow} flex items-center md:gap-2`}>\n <FileReaderExt fileDetails={file} />\n <div className={`${styles.mediaAttachmentMeta} w-full`}>\n <div className=\"flex items-start justify-between gap-4\">\n <button\n type=\"button\"\n className={styles.mediaAttachmentName}\n onClick={() => handleFileView(file)}\n title={file.name}\n >\n {file.name}\n </button>\n <div className={`${styles.mediaAttachmentActions} flex items-center md:gap-2`}>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n aria-label=\"Download file\"\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n downloadMediaFile(file?.fileUrl, file?.name);\n }}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n </div>\n </div>\n <div className={styles.mediaAttachmentSize}>\n {formatFileSize(file.size)}\n </div>\n </div>\n </div>\n </div>\n );\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel != false &&\n <p className={`${styles.fieldViewLabel} form-field-label`}>\n {fieldLabel}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </p>\n }\n {fileDetails.length > 0 &&\n renderMediaFileCard(fileDetails[0], styles.mediaAttachmentCardView)\n }\n\n {fileDetails.length > 1 &&\n <div className=\"flex items-center mt-1\">\n <p className=\"m-0\">\n {fileDetails.length - 1} items\n </p>\n <div>\n <SolidButton type=\"button\" size=\"sm\" variant=\"ghost\" onClick={() => setShowAllFiles(true)}>\n View\n </SolidButton>\n </div>\n </div>\n }\n\n <SolidDialog\n open={isShowAllFiles}\n onOpenChange={setShowAllFiles}\n style={{ minWidth: 450 }}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Items Uploaded</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody>\n {fileDetails.length > 1 &&\n fileDetails.map((file, index) => {\n const fileId = `${file.name}-${file.size}`;\n return (\n <div key={fileId} className={index === fileDetails.length - 1 ? \"\" : \"mb-3\"}>\n {renderMediaFileCard(file)}\n </div>\n );\n })\n }\n </SolidDialogBody>\n </SolidDialog>\n\n </div>\n );\n}\n"]}
|