@solidxai/core-ui 0.1.12-beta.5 → 0.1.12-beta.6
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/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +5 -2
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +6 -2
- 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/SolidFormView.js +1 -1
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +1 -1
- package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +11 -1
- package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
- package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +26 -19
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +13 -5
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +16 -9
- 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/SolidDataTable.d.ts.map +1 -1
- package/dist/components/core/list/SolidDataTable.js +1 -1
- package/dist/components/core/list/SolidDataTable.js.map +1 -1
- package/dist/components/core/list/SolidDataTable.tsx +1 -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/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/core/model/FieldMetaDataForm.d.ts +1 -1
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +119 -102
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +82 -39
- package/dist/components/core/model/FieldSelector.d.ts +5 -1
- package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
- package/dist/components/core/model/FieldSelector.js +25 -6
- package/dist/components/core/model/FieldSelector.js.map +1 -1
- package/dist/components/core/model/FieldSelector.tsx +50 -5
- 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/components/shad-cn-ui/SolidSelect.d.ts +2 -1
- package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidSelect.js +12 -4
- package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidSelect.tsx +13 -1
- 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/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/api/datasourceIntrospectionApi.d.ts +1 -0
- package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
- package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
- package/dist/redux/api/datasourceIntrospectionApi.ts +1 -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/routes/pages/admin/core/DatasourceIntrospectionPage.css +12 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +160 -59
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +293 -41
- package/package.json +1 -1
- 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
|
@@ -9,9 +9,9 @@ function cx() {
|
|
|
9
9
|
return parts.filter(Boolean).join(" ");
|
|
10
10
|
}
|
|
11
11
|
export function SolidSelect(_a) {
|
|
12
|
-
var value = _a.value, _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.optionLabel, optionLabel = _c === void 0 ? "label" : _c, _d = _a.optionValue, optionValue = _d === void 0 ? "value" : _d, placeholder = _a.placeholder, className = _a.className, disabled = _a.disabled, onChange = _a.onChange, id = _a.id, _e = _a.native, native = _e === void 0 ? true : _e;
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var value = _a.value, _b = _a.options, options = _b === void 0 ? [] : _b, _c = _a.optionLabel, optionLabel = _c === void 0 ? "label" : _c, _d = _a.optionValue, optionValue = _d === void 0 ? "value" : _d, placeholder = _a.placeholder, className = _a.className, disabled = _a.disabled, onChange = _a.onChange, id = _a.id, _e = _a.native, native = _e === void 0 ? true : _e, _f = _a.menuPlacement, menuPlacement = _f === void 0 ? "auto" : _f;
|
|
13
|
+
var _g = React.useState(false), open = _g[0], setOpen = _g[1];
|
|
14
|
+
var _h = React.useState(false), openUpward = _h[0], setOpenUpward = _h[1];
|
|
15
15
|
var rootRef = React.useRef(null);
|
|
16
16
|
var menuRef = React.useRef(null);
|
|
17
17
|
var normalized = options.map(function (option, index) {
|
|
@@ -51,6 +51,14 @@ export function SolidSelect(_a) {
|
|
|
51
51
|
React.useLayoutEffect(function () {
|
|
52
52
|
if (!open || native || !rootRef.current || !menuRef.current)
|
|
53
53
|
return;
|
|
54
|
+
if (menuPlacement === "top") {
|
|
55
|
+
setOpenUpward(true);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (menuPlacement === "bottom") {
|
|
59
|
+
setOpenUpward(false);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
54
62
|
var rootRect = rootRef.current.getBoundingClientRect();
|
|
55
63
|
var menuHeight = menuRef.current.offsetHeight;
|
|
56
64
|
var viewportHeight = window.innerHeight;
|
|
@@ -58,7 +66,7 @@ export function SolidSelect(_a) {
|
|
|
58
66
|
var spaceAbove = rootRect.top;
|
|
59
67
|
var needsOpenUpward = spaceBelow < menuHeight + 8 && spaceAbove > spaceBelow;
|
|
60
68
|
setOpenUpward(needsOpenUpward);
|
|
61
|
-
}, [open, native, options.length]);
|
|
69
|
+
}, [open, native, options.length, menuPlacement]);
|
|
62
70
|
if (!native) {
|
|
63
71
|
return (_jsxs("div", { ref: rootRef, className: cx("solid-select-wrap", "solid-select-wrap-custom", className), children: [_jsxs("button", { id: id, type: "button", className: "solid-select solid-select-trigger", disabled: disabled, "aria-haspopup": "listbox", "aria-expanded": open, onClick: function () {
|
|
64
72
|
if (disabled)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidSelect.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ChevronDown } from \"lucide-react\";\n\ntype SolidSelectOption = Record<string, any>;\n\ntype SolidSelectProps = {\n value?: any;\n options?: SolidSelectOption[];\n optionLabel?: string;\n optionValue?: string;\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n onChange?: (event: { value: any }) => void;\n id?: string;\n native?: boolean;\n};\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidSelect({\n value,\n options = [],\n optionLabel = \"label\",\n optionValue = \"value\",\n placeholder,\n className,\n disabled,\n onChange,\n id,\n native = true,\n}: SolidSelectProps) {\n const [open, setOpen] = React.useState(false);\n const [openUpward, setOpenUpward] = React.useState(false);\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const menuRef = React.useRef<HTMLDivElement | null>(null);\n const normalized = options.map((option, index) => ({\n key: String(index),\n label: option?.[optionLabel] ?? \"\",\n value: option?.[optionValue],\n }));\n\n const selectedIndex = normalized.findIndex((item) => item.value === value);\n const selectedKey = selectedIndex >= 0 ? normalized[selectedIndex].key : \"\";\n const selectedOption = selectedIndex >= 0 ? normalized[selectedIndex] : null;\n\n React.useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (event: MouseEvent | TouchEvent) => {\n if (!rootRef.current?.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handlePointerDown);\n document.addEventListener(\"touchstart\", handlePointerDown);\n document.addEventListener(\"keydown\", handleEscape);\n\n return () => {\n document.removeEventListener(\"mousedown\", handlePointerDown);\n document.removeEventListener(\"touchstart\", handlePointerDown);\n document.removeEventListener(\"keydown\", handleEscape);\n };\n }, [open]);\n\n React.useLayoutEffect(() => {\n if (!open || native || !rootRef.current || !menuRef.current) return;\n\n const rootRect = rootRef.current.getBoundingClientRect();\n const menuHeight = menuRef.current.offsetHeight;\n const viewportHeight = window.innerHeight;\n const spaceBelow = viewportHeight - rootRect.bottom;\n const spaceAbove = rootRect.top;\n const needsOpenUpward = spaceBelow < menuHeight + 8 && spaceAbove > spaceBelow;\n\n setOpenUpward(needsOpenUpward);\n }, [open, native, options.length]);\n\n if (!native) {\n return (\n <div ref={rootRef} className={cx(\"solid-select-wrap\", \"solid-select-wrap-custom\", className)}>\n <button\n id={id}\n type=\"button\"\n className=\"solid-select solid-select-trigger\"\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n onClick={() => {\n if (disabled) return;\n setOpen((prev) => !prev);\n }}\n >\n <span className={cx(\"solid-select-trigger-label\", !selectedOption && \"solid-select-placeholder\")}>\n {selectedOption?.label || placeholder || \"Select\"}\n </span>\n <span className=\"solid-select-icon\" aria-hidden=\"true\">\n <ChevronDown size={14} />\n </span>\n </button>\n {open ? (\n <div\n ref={menuRef}\n className={cx(\"solid-select-menu\", openUpward && \"solid-select-menu-top\")}\n role=\"listbox\"\n >\n {normalized.map((item) => (\n <button\n key={item.key}\n type=\"button\"\n role=\"option\"\n className={cx(\"solid-select-menu-item\", item.value === value && \"is-selected\")}\n aria-selected={item.value === value}\n onClick={() => {\n onChange?.({ value: item.value });\n setOpen(false);\n }}\n >\n {item.label}\n </button>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n\n return (\n <div className={cx(\"solid-select-wrap\", className)}>\n <select\n id={id}\n className=\"solid-select\"\n value={selectedKey}\n disabled={disabled}\n onChange={(event) => {\n const next = normalized.find((item) => item.key === event.target.value);\n onChange?.({ value: next?.value });\n }}\n >\n <option value=\"\" disabled>\n {placeholder || \"Select\"}\n </option>\n {normalized.map((item) => (\n <option key={item.key} value={item.key}>\n {item.label}\n </option>\n ))}\n </select>\n <span className=\"solid-select-icon\" aria-hidden=\"true\">\n <ChevronDown size={14} />\n </span>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SolidSelect.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ChevronDown } from \"lucide-react\";\n\ntype SolidSelectOption = Record<string, any>;\n\ntype SolidSelectProps = {\n value?: any;\n options?: SolidSelectOption[];\n optionLabel?: string;\n optionValue?: string;\n placeholder?: string;\n className?: string;\n disabled?: boolean;\n onChange?: (event: { value: any }) => void;\n id?: string;\n native?: boolean;\n menuPlacement?: \"auto\" | \"top\" | \"bottom\";\n};\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport function SolidSelect({\n value,\n options = [],\n optionLabel = \"label\",\n optionValue = \"value\",\n placeholder,\n className,\n disabled,\n onChange,\n id,\n native = true,\n menuPlacement = \"auto\",\n}: SolidSelectProps) {\n const [open, setOpen] = React.useState(false);\n const [openUpward, setOpenUpward] = React.useState(false);\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const menuRef = React.useRef<HTMLDivElement | null>(null);\n const normalized = options.map((option, index) => ({\n key: String(index),\n label: option?.[optionLabel] ?? \"\",\n value: option?.[optionValue],\n }));\n\n const selectedIndex = normalized.findIndex((item) => item.value === value);\n const selectedKey = selectedIndex >= 0 ? normalized[selectedIndex].key : \"\";\n const selectedOption = selectedIndex >= 0 ? normalized[selectedIndex] : null;\n\n React.useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (event: MouseEvent | TouchEvent) => {\n if (!rootRef.current?.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handlePointerDown);\n document.addEventListener(\"touchstart\", handlePointerDown);\n document.addEventListener(\"keydown\", handleEscape);\n\n return () => {\n document.removeEventListener(\"mousedown\", handlePointerDown);\n document.removeEventListener(\"touchstart\", handlePointerDown);\n document.removeEventListener(\"keydown\", handleEscape);\n };\n }, [open]);\n\n React.useLayoutEffect(() => {\n if (!open || native || !rootRef.current || !menuRef.current) return;\n\n if (menuPlacement === \"top\") {\n setOpenUpward(true);\n return;\n }\n\n if (menuPlacement === \"bottom\") {\n setOpenUpward(false);\n return;\n }\n\n const rootRect = rootRef.current.getBoundingClientRect();\n const menuHeight = menuRef.current.offsetHeight;\n const viewportHeight = window.innerHeight;\n const spaceBelow = viewportHeight - rootRect.bottom;\n const spaceAbove = rootRect.top;\n const needsOpenUpward = spaceBelow < menuHeight + 8 && spaceAbove > spaceBelow;\n\n setOpenUpward(needsOpenUpward);\n }, [open, native, options.length, menuPlacement]);\n\n if (!native) {\n return (\n <div ref={rootRef} className={cx(\"solid-select-wrap\", \"solid-select-wrap-custom\", className)}>\n <button\n id={id}\n type=\"button\"\n className=\"solid-select solid-select-trigger\"\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n onClick={() => {\n if (disabled) return;\n setOpen((prev) => !prev);\n }}\n >\n <span className={cx(\"solid-select-trigger-label\", !selectedOption && \"solid-select-placeholder\")}>\n {selectedOption?.label || placeholder || \"Select\"}\n </span>\n <span className=\"solid-select-icon\" aria-hidden=\"true\">\n <ChevronDown size={14} />\n </span>\n </button>\n {open ? (\n <div\n ref={menuRef}\n className={cx(\"solid-select-menu\", openUpward && \"solid-select-menu-top\")}\n role=\"listbox\"\n >\n {normalized.map((item) => (\n <button\n key={item.key}\n type=\"button\"\n role=\"option\"\n className={cx(\"solid-select-menu-item\", item.value === value && \"is-selected\")}\n aria-selected={item.value === value}\n onClick={() => {\n onChange?.({ value: item.value });\n setOpen(false);\n }}\n >\n {item.label}\n </button>\n ))}\n </div>\n ) : null}\n </div>\n );\n }\n\n return (\n <div className={cx(\"solid-select-wrap\", className)}>\n <select\n id={id}\n className=\"solid-select\"\n value={selectedKey}\n disabled={disabled}\n onChange={(event) => {\n const next = normalized.find((item) => item.key === event.target.value);\n onChange?.({ value: next?.value });\n }}\n >\n <option value=\"\" disabled>\n {placeholder || \"Select\"}\n </option>\n {normalized.map((item) => (\n <option key={item.key} value={item.key}>\n {item.label}\n </option>\n ))}\n </select>\n <span className=\"solid-select-icon\" aria-hidden=\"true\">\n <ChevronDown size={14} />\n </span>\n </div>\n );\n}\n"]}
|
|
@@ -14,6 +14,7 @@ type SolidSelectProps = {
|
|
|
14
14
|
onChange?: (event: { value: any }) => void;
|
|
15
15
|
id?: string;
|
|
16
16
|
native?: boolean;
|
|
17
|
+
menuPlacement?: "auto" | "top" | "bottom";
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
function cx(...parts: Array<string | false | undefined>) {
|
|
@@ -31,6 +32,7 @@ export function SolidSelect({
|
|
|
31
32
|
onChange,
|
|
32
33
|
id,
|
|
33
34
|
native = true,
|
|
35
|
+
menuPlacement = "auto",
|
|
34
36
|
}: SolidSelectProps) {
|
|
35
37
|
const [open, setOpen] = React.useState(false);
|
|
36
38
|
const [openUpward, setOpenUpward] = React.useState(false);
|
|
@@ -75,6 +77,16 @@ export function SolidSelect({
|
|
|
75
77
|
React.useLayoutEffect(() => {
|
|
76
78
|
if (!open || native || !rootRef.current || !menuRef.current) return;
|
|
77
79
|
|
|
80
|
+
if (menuPlacement === "top") {
|
|
81
|
+
setOpenUpward(true);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (menuPlacement === "bottom") {
|
|
86
|
+
setOpenUpward(false);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
78
90
|
const rootRect = rootRef.current.getBoundingClientRect();
|
|
79
91
|
const menuHeight = menuRef.current.offsetHeight;
|
|
80
92
|
const viewportHeight = window.innerHeight;
|
|
@@ -83,7 +95,7 @@ export function SolidSelect({
|
|
|
83
95
|
const needsOpenUpward = spaceBelow < menuHeight + 8 && spaceAbove > spaceBelow;
|
|
84
96
|
|
|
85
97
|
setOpenUpward(needsOpenUpward);
|
|
86
|
-
}, [open, native, options.length]);
|
|
98
|
+
}, [open, native, options.length, menuPlacement]);
|
|
87
99
|
|
|
88
100
|
if (!native) {
|
|
89
101
|
return (
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastContainer.d.ts","sourceRoot":"","sources":["../../src/helpers/ToastContainer.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc,+CAI1B,CAAC;AAUF,eAAO,MAAM,WAAW,eAAgB,GAAG,SAqC1C,CAAC;AAEF,eAAO,MAAM,aAAa,mBAAoB,GAAG,SAwBhD,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ERROR_MESSAGES } from '../constants/error-messages';
|
|
3
|
+
import { Toast } from 'primereact/toast';
|
|
4
|
+
import { useRef } from 'react';
|
|
5
|
+
var toastRef = null;
|
|
6
|
+
export var ToastContainer = function () {
|
|
7
|
+
toastRef = useRef(null);
|
|
8
|
+
return _jsx(Toast, { ref: toastRef });
|
|
9
|
+
};
|
|
10
|
+
function isFetchBaseQueryErrorWithErrorResponse(error) {
|
|
11
|
+
return error && typeof error === 'object' && 'data' in error && 'message' in error.data;
|
|
12
|
+
}
|
|
13
|
+
var extractErrorMessages = function (errorObj) {
|
|
14
|
+
return Object.values(errorObj);
|
|
15
|
+
};
|
|
16
|
+
export var handleError = function (errorToast) {
|
|
17
|
+
var _a;
|
|
18
|
+
var errorMessage = errorToast ? errorToast : [ERROR_MESSAGES.ERROR_OCCURED];
|
|
19
|
+
if (typeof errorMessage == 'object') {
|
|
20
|
+
if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {
|
|
21
|
+
errorMessage = errorToast.data.message;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {
|
|
25
|
+
// errorMessage = errorToast.data.message;
|
|
26
|
+
// } else {
|
|
27
|
+
// errorMessage = ['Something went wrong'];
|
|
28
|
+
// }
|
|
29
|
+
(_a = toastRef === null || toastRef === void 0 ? void 0 : toastRef.current) === null || _a === void 0 ? void 0 : _a.show({
|
|
30
|
+
severity: 'error',
|
|
31
|
+
summary: ERROR_MESSAGES.ERROR,
|
|
32
|
+
detail: errorMessage,
|
|
33
|
+
life: 3000,
|
|
34
|
+
//@ts-ignore
|
|
35
|
+
content: function (props) { return (_jsx("div", { className: "flex flex-column align-items-left", style: { flex: "1" }, children: Array.isArray(errorMessage) ? (errorMessage.map(function (message, index) { return (_jsx("div", { className: "flex align-items-center gap-2", children: _jsx("span", { className: "font-bold text-900", children: message.trim() }) }, index)); })) : (_jsx("div", { className: "flex align-items-center gap-2", children: _jsx("span", { className: "font-bold text-900", children: errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.trim() }) })) })); },
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
export var handleSuccess = function (successMessage) {
|
|
39
|
+
var _a;
|
|
40
|
+
(_a = toastRef === null || toastRef === void 0 ? void 0 : toastRef.current) === null || _a === void 0 ? void 0 : _a.show({
|
|
41
|
+
severity: 'error',
|
|
42
|
+
summary: ERROR_MESSAGES.IS_SUCCESS,
|
|
43
|
+
detail: successMessage,
|
|
44
|
+
life: 3000,
|
|
45
|
+
//@ts-ignore
|
|
46
|
+
content: function (props) { return (_jsx("div", { className: "flex flex-column align-items-left", style: { flex: "1" }, children: Array.isArray(successMessage) ? (successMessage.map(function (message, index) { return (_jsx("div", { className: "flex align-items-center gap-2", children: _jsx("span", { className: "font-bold text-900", children: message.trim() }) }, index)); })) : (_jsx("div", { className: "flex align-items-center gap-2", children: _jsx("span", { className: "font-bold text-900", children: successMessage === null || successMessage === void 0 ? void 0 : successMessage.trim() }) })) })); },
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=ToastContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastContainer.js","sourceRoot":"","sources":["../../src/helpers/ToastContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { ERROR_MESSAGES } from '../constants/error-messages';\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/dist/query';\nimport { Toast } from 'primereact/toast';\nimport React, { useRef } from 'react';\n\n\ninterface ErrorResponseData {\n message: string;\n statusCode: number;\n error: string;\n}\n\n\nlet toastRef: React.MutableRefObject<Toast | null> | null = null;\n\nexport const ToastContainer = () => {\n toastRef = useRef(null);\n\n return <Toast ref={toastRef} />;\n};\n\nfunction isFetchBaseQueryErrorWithErrorResponse(error: any): error is FetchBaseQueryError & { data: ErrorResponseData } {\n return error && typeof error === 'object' && 'data' in error && 'message' in error.data;\n}\nconst extractErrorMessages = (errorObj: Record<string, string>): string[] => {\n return Object.values(errorObj);\n};\n\n\nexport const handleError = (errorToast: any) => {\n let errorMessage: any = errorToast ? errorToast : [ERROR_MESSAGES.ERROR_OCCURED];\n\n\n if (typeof errorMessage == 'object') {\n if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {\n errorMessage = errorToast.data.message;\n }\n }\n // if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {\n // errorMessage = errorToast.data.message;\n // } else {\n // errorMessage = ['Something went wrong'];\n // }\n\n toastRef?.current?.show({\n severity: 'error',\n summary: ERROR_MESSAGES.ERROR,\n detail: errorMessage,\n life: 3000,\n //@ts-ignore\n content: (props) => (\n <div className=\"flex flex-column align-items-left\" style={{ flex: \"1\" }}>\n {Array.isArray(errorMessage) ? (\n errorMessage.map((message, index) => (\n <div className=\"flex align-items-center gap-2\" key={index}>\n <span className=\"font-bold text-900\">{message.trim()}</span>\n </div>\n ))\n ) : (\n <div className=\"flex align-items-center gap-2\">\n <span className=\"font-bold text-900\">{errorMessage?.trim()}</span>\n </div>\n )}\n </div>\n ),\n });\n};\n\nexport const handleSuccess = (successMessage: any) => {\n\n toastRef?.current?.show({\n severity: 'error',\n summary: ERROR_MESSAGES.IS_SUCCESS,\n detail: successMessage,\n life: 3000,\n //@ts-ignore\n content: (props) => (\n <div className=\"flex flex-column align-items-left\" style={{ flex: \"1\" }}>\n {Array.isArray(successMessage) ? (\n successMessage.map((message, index) => (\n <div className=\"flex align-items-center gap-2\" key={index}>\n <span className=\"font-bold text-900\">{message.trim()}</span>\n </div>\n ))\n ) : (\n <div className=\"flex align-items-center gap-2\">\n <span className=\"font-bold text-900\">{successMessage?.trim()}</span>\n </div>\n )}\n </div>\n ),\n });\n};\n"]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
|
|
2
|
+
import { ERROR_MESSAGES } from '../constants/error-messages';
|
|
3
|
+
import { FetchBaseQueryError } from '@reduxjs/toolkit/dist/query';
|
|
4
|
+
import { Toast } from 'primereact/toast';
|
|
5
|
+
import React, { useRef } from 'react';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
interface ErrorResponseData {
|
|
9
|
+
message: string;
|
|
10
|
+
statusCode: number;
|
|
11
|
+
error: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
let toastRef: React.MutableRefObject<Toast | null> | null = null;
|
|
16
|
+
|
|
17
|
+
export const ToastContainer = () => {
|
|
18
|
+
toastRef = useRef(null);
|
|
19
|
+
|
|
20
|
+
return <Toast ref={toastRef} />;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
function isFetchBaseQueryErrorWithErrorResponse(error: any): error is FetchBaseQueryError & { data: ErrorResponseData } {
|
|
24
|
+
return error && typeof error === 'object' && 'data' in error && 'message' in error.data;
|
|
25
|
+
}
|
|
26
|
+
const extractErrorMessages = (errorObj: Record<string, string>): string[] => {
|
|
27
|
+
return Object.values(errorObj);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
export const handleError = (errorToast: any) => {
|
|
32
|
+
let errorMessage: any = errorToast ? errorToast : [ERROR_MESSAGES.ERROR_OCCURED];
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
if (typeof errorMessage == 'object') {
|
|
36
|
+
if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {
|
|
37
|
+
errorMessage = errorToast.data.message;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {
|
|
41
|
+
// errorMessage = errorToast.data.message;
|
|
42
|
+
// } else {
|
|
43
|
+
// errorMessage = ['Something went wrong'];
|
|
44
|
+
// }
|
|
45
|
+
|
|
46
|
+
toastRef?.current?.show({
|
|
47
|
+
severity: 'error',
|
|
48
|
+
summary: ERROR_MESSAGES.ERROR,
|
|
49
|
+
detail: errorMessage,
|
|
50
|
+
life: 3000,
|
|
51
|
+
//@ts-ignore
|
|
52
|
+
content: (props) => (
|
|
53
|
+
<div className="flex flex-column align-items-left" style={{ flex: "1" }}>
|
|
54
|
+
{Array.isArray(errorMessage) ? (
|
|
55
|
+
errorMessage.map((message, index) => (
|
|
56
|
+
<div className="flex align-items-center gap-2" key={index}>
|
|
57
|
+
<span className="font-bold text-900">{message.trim()}</span>
|
|
58
|
+
</div>
|
|
59
|
+
))
|
|
60
|
+
) : (
|
|
61
|
+
<div className="flex align-items-center gap-2">
|
|
62
|
+
<span className="font-bold text-900">{errorMessage?.trim()}</span>
|
|
63
|
+
</div>
|
|
64
|
+
)}
|
|
65
|
+
</div>
|
|
66
|
+
),
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const handleSuccess = (successMessage: any) => {
|
|
71
|
+
|
|
72
|
+
toastRef?.current?.show({
|
|
73
|
+
severity: 'error',
|
|
74
|
+
summary: ERROR_MESSAGES.IS_SUCCESS,
|
|
75
|
+
detail: successMessage,
|
|
76
|
+
life: 3000,
|
|
77
|
+
//@ts-ignore
|
|
78
|
+
content: (props) => (
|
|
79
|
+
<div className="flex flex-column align-items-left" style={{ flex: "1" }}>
|
|
80
|
+
{Array.isArray(successMessage) ? (
|
|
81
|
+
successMessage.map((message, index) => (
|
|
82
|
+
<div className="flex align-items-center gap-2" key={index}>
|
|
83
|
+
<span className="font-bold text-900">{message.trim()}</span>
|
|
84
|
+
</div>
|
|
85
|
+
))
|
|
86
|
+
) : (
|
|
87
|
+
<div className="flex align-items-center gap-2">
|
|
88
|
+
<span className="font-bold text-900">{successMessage?.trim()}</span>
|
|
89
|
+
</div>
|
|
90
|
+
)}
|
|
91
|
+
</div>
|
|
92
|
+
),
|
|
93
|
+
});
|
|
94
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Toast } from "primereact/toast";
|
|
2
|
+
import { RefObject } from "react";
|
|
3
|
+
declare const showToast: (toast: RefObject<Toast>, severity: "success" | "error" | "info", summary: string, detail: string) => void;
|
|
4
|
+
export default showToast;
|
|
5
|
+
//# sourceMappingURL=showToast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"showToast.d.ts","sourceRoot":"","sources":["../../src/helpers/showToast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,QAAA,MAAM,SAAS,UAAW,UAAU,KAAK,CAAC,YAAY,SAAS,GAAG,OAAO,GAAG,MAAM,WAAW,MAAM,UAAU,MAAM,SAQlH,CAAC;AACF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var showToast = function (toast, severity, summary, detail) {
|
|
13
|
+
var _a;
|
|
14
|
+
(_a = toast.current) === null || _a === void 0 ? void 0 : _a.show(__assign({ severity: severity, summary: summary, detail: detail }, (severity === "error" ? { sticky: true } : { life: 3000 })));
|
|
15
|
+
};
|
|
16
|
+
export default showToast;
|
|
17
|
+
//# sourceMappingURL=showToast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"showToast.js","sourceRoot":"","sources":["../../src/helpers/showToast.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,IAAM,SAAS,GAAG,UAAC,KAAuB,EAAE,QAAsC,EAAE,OAAe,EAAE,MAAc;;IAC/G,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,YACf,QAAQ,UAAA,EACR,OAAO,SAAA,EACP,MAAM,QAAA,IAEH,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAC/D,CAAC;AACP,CAAC,CAAC;AACF,eAAe,SAAS,CAAC","sourcesContent":["import { Toast } from \"primereact/toast\";\nimport { RefObject } from \"react\";\n\nconst showToast = (toast: RefObject<Toast>, severity: \"success\" | \"error\" | \"info\", summary: string, detail: string) => {\n toast.current?.show({\n severity,\n summary,\n detail,\n // stays until user closes\n ...(severity === \"error\" ? { sticky: true } : { life: 3000 }),\n });\n};\nexport default showToast;"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Toast } from "primereact/toast";
|
|
2
|
+
import { RefObject } from "react";
|
|
3
|
+
|
|
4
|
+
const showToast = (toast: RefObject<Toast>, severity: "success" | "error" | "info", summary: string, detail: string) => {
|
|
5
|
+
toast.current?.show({
|
|
6
|
+
severity,
|
|
7
|
+
summary,
|
|
8
|
+
detail,
|
|
9
|
+
// stays until user closes
|
|
10
|
+
...(severity === "error" ? { sticky: true } : { life: 3000 }),
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
export default showToast;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Studio Sandbox Mode API
|
|
3
|
+
*
|
|
4
|
+
* This module isolates the application layout from the Solid Studio UI.
|
|
5
|
+
* It dynamically creates a container to wrap the application root, converting
|
|
6
|
+
* it into a relative containing block. This prevents \`position: fixed\` elements
|
|
7
|
+
* within the application from inadvertently overlapping with the global Studio UI.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Wraps the app root into the sandbox container.
|
|
11
|
+
*/
|
|
12
|
+
export declare function enableStudioMode(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Restores the application to its original state.
|
|
15
|
+
*/
|
|
16
|
+
export declare function disableStudioMode(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Returns the active scroll element based on sandbox state.
|
|
19
|
+
* When Studio Mode is enabled, the scroll element becomes the container.
|
|
20
|
+
* Otherwise, it uses the default Window object.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getScrollElement(): HTMLElement | Window;
|
|
23
|
+
/**
|
|
24
|
+
* Returns the current vertical scroll position.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getScrollY(): number;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the effective viewport height.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getViewportHeight(): number;
|
|
31
|
+
//# sourceMappingURL=studioSandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studioSandbox.d.ts","sourceRoot":"","sources":["../../src/helpers/studioSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH;;GAEG;AACH,wBAAgB,gBAAgB,SAgC/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,SAoBhC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,GAAG,MAAM,CAOvD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAOnC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Studio Sandbox Mode API
|
|
3
|
+
*
|
|
4
|
+
* This module isolates the application layout from the Solid Studio UI.
|
|
5
|
+
* It dynamically creates a container to wrap the application root, converting
|
|
6
|
+
* it into a relative containing block. This prevents \`position: fixed\` elements
|
|
7
|
+
* within the application from inadvertently overlapping with the global Studio UI.
|
|
8
|
+
*/
|
|
9
|
+
var originalRootParent = null;
|
|
10
|
+
var originalRootNextSibling = null;
|
|
11
|
+
var isSandboxActive = false;
|
|
12
|
+
function getAppRoot() {
|
|
13
|
+
// Determine the root depending on the framework (Vite uses #root, Next uses #__next)
|
|
14
|
+
return document.getElementById("root") || document.getElementById("__next") || document.body.firstElementChild;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Wraps the app root into the sandbox container.
|
|
18
|
+
*/
|
|
19
|
+
export function enableStudioMode() {
|
|
20
|
+
if (typeof window === "undefined" || isSandboxActive)
|
|
21
|
+
return;
|
|
22
|
+
var appRoot = getAppRoot();
|
|
23
|
+
if (!appRoot || appRoot.id === "solid-studio-root" || appRoot.id === "solid-studio-app-container") {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
var parent = appRoot.parentNode;
|
|
27
|
+
if (!parent)
|
|
28
|
+
return;
|
|
29
|
+
isSandboxActive = true;
|
|
30
|
+
originalRootParent = parent;
|
|
31
|
+
originalRootNextSibling = appRoot.nextSibling;
|
|
32
|
+
// Create the outer wrapper
|
|
33
|
+
var studioRoot = document.createElement("div");
|
|
34
|
+
studioRoot.id = "solid-studio-root";
|
|
35
|
+
// Create the isolation container
|
|
36
|
+
var appContainer = document.createElement("div");
|
|
37
|
+
appContainer.id = "solid-studio-app-container";
|
|
38
|
+
// Re-parent the app node
|
|
39
|
+
appContainer.appendChild(appRoot);
|
|
40
|
+
studioRoot.appendChild(appContainer);
|
|
41
|
+
// Insert the wrapper into the DOM where the root used to be
|
|
42
|
+
parent.insertBefore(studioRoot, originalRootNextSibling);
|
|
43
|
+
// Set a class on the body to indicate Studio Mode
|
|
44
|
+
document.body.classList.add("solid-studio-active");
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Restores the application to its original state.
|
|
48
|
+
*/
|
|
49
|
+
export function disableStudioMode() {
|
|
50
|
+
if (typeof window === "undefined" || !isSandboxActive)
|
|
51
|
+
return;
|
|
52
|
+
var studioRoot = document.getElementById("solid-studio-root");
|
|
53
|
+
var appContainer = document.getElementById("solid-studio-app-container");
|
|
54
|
+
// Find our wrapped app root
|
|
55
|
+
var appRoot = appContainer === null || appContainer === void 0 ? void 0 : appContainer.firstElementChild;
|
|
56
|
+
if (studioRoot && appRoot && originalRootParent) {
|
|
57
|
+
originalRootParent.insertBefore(appRoot, originalRootNextSibling);
|
|
58
|
+
studioRoot.remove();
|
|
59
|
+
}
|
|
60
|
+
isSandboxActive = false;
|
|
61
|
+
originalRootParent = null;
|
|
62
|
+
originalRootNextSibling = null;
|
|
63
|
+
// Remove body class
|
|
64
|
+
document.body.classList.remove("solid-studio-active");
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Returns the active scroll element based on sandbox state.
|
|
68
|
+
* When Studio Mode is enabled, the scroll element becomes the container.
|
|
69
|
+
* Otherwise, it uses the default Window object.
|
|
70
|
+
*/
|
|
71
|
+
export function getScrollElement() {
|
|
72
|
+
if (typeof window === "undefined")
|
|
73
|
+
return window;
|
|
74
|
+
if (isSandboxActive) {
|
|
75
|
+
var container = document.getElementById("solid-studio-app-container");
|
|
76
|
+
return container || window;
|
|
77
|
+
}
|
|
78
|
+
return window;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Returns the current vertical scroll position.
|
|
82
|
+
*/
|
|
83
|
+
export function getScrollY() {
|
|
84
|
+
if (typeof window === "undefined")
|
|
85
|
+
return 0;
|
|
86
|
+
if (isSandboxActive) {
|
|
87
|
+
var container = document.getElementById("solid-studio-app-container");
|
|
88
|
+
return container ? container.scrollTop : 0;
|
|
89
|
+
}
|
|
90
|
+
return window.scrollY;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Returns the effective viewport height.
|
|
94
|
+
*/
|
|
95
|
+
export function getViewportHeight() {
|
|
96
|
+
if (typeof window === "undefined")
|
|
97
|
+
return 0;
|
|
98
|
+
if (isSandboxActive) {
|
|
99
|
+
var container = document.getElementById("solid-studio-app-container");
|
|
100
|
+
return container ? container.clientHeight : window.innerHeight;
|
|
101
|
+
}
|
|
102
|
+
return window.innerHeight;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=studioSandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studioSandbox.js","sourceRoot":"","sources":["../../src/helpers/studioSandbox.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Studio Sandbox Mode API\n * \n * This module isolates the application layout from the Solid Studio UI. \n * It dynamically creates a container to wrap the application root, converting\n * it into a relative containing block. This prevents \\`position: fixed\\` elements \n * within the application from inadvertently overlapping with the global Studio UI.\n */\n\nlet originalRootParent: ParentNode | null = null;\nlet originalRootNextSibling: Node | null = null;\nlet isSandboxActive = false;\n\nfunction getAppRoot() {\n // Determine the root depending on the framework (Vite uses #root, Next uses #__next)\n return document.getElementById(\"root\") || document.getElementById(\"__next\") || document.body.firstElementChild;\n}\n\n/**\n * Wraps the app root into the sandbox container.\n */\nexport function enableStudioMode() {\n if (typeof window === \"undefined\" || isSandboxActive) return;\n\n const appRoot = getAppRoot();\n if (!appRoot || appRoot.id === \"solid-studio-root\" || appRoot.id === \"solid-studio-app-container\") {\n return;\n }\n\n const parent = appRoot.parentNode;\n if (!parent) return;\n\n isSandboxActive = true;\n originalRootParent = parent;\n originalRootNextSibling = appRoot.nextSibling;\n\n // Create the outer wrapper\n const studioRoot = document.createElement(\"div\");\n studioRoot.id = \"solid-studio-root\";\n\n // Create the isolation container\n const appContainer = document.createElement(\"div\");\n appContainer.id = \"solid-studio-app-container\";\n\n // Re-parent the app node\n appContainer.appendChild(appRoot);\n studioRoot.appendChild(appContainer);\n\n // Insert the wrapper into the DOM where the root used to be\n parent.insertBefore(studioRoot, originalRootNextSibling);\n\n // Set a class on the body to indicate Studio Mode\n document.body.classList.add(\"solid-studio-active\");\n}\n\n/**\n * Restores the application to its original state.\n */\nexport function disableStudioMode() {\n if (typeof window === \"undefined\" || !isSandboxActive) return;\n\n const studioRoot = document.getElementById(\"solid-studio-root\");\n const appContainer = document.getElementById(\"solid-studio-app-container\");\n\n // Find our wrapped app root\n const appRoot = appContainer?.firstElementChild;\n\n if (studioRoot && appRoot && originalRootParent) {\n originalRootParent.insertBefore(appRoot, originalRootNextSibling);\n studioRoot.remove();\n }\n\n isSandboxActive = false;\n originalRootParent = null;\n originalRootNextSibling = null;\n\n // Remove body class\n document.body.classList.remove(\"solid-studio-active\");\n}\n\n/**\n * Returns the active scroll element based on sandbox state.\n * When Studio Mode is enabled, the scroll element becomes the container.\n * Otherwise, it uses the default Window object.\n */\nexport function getScrollElement(): HTMLElement | Window {\n if (typeof window === \"undefined\") return window;\n if (isSandboxActive) {\n const container = document.getElementById(\"solid-studio-app-container\");\n return container || window;\n }\n return window;\n}\n\n/**\n * Returns the current vertical scroll position.\n */\nexport function getScrollY(): number {\n if (typeof window === \"undefined\") return 0;\n if (isSandboxActive) {\n const container = document.getElementById(\"solid-studio-app-container\");\n return container ? container.scrollTop : 0;\n }\n return window.scrollY;\n}\n\n/**\n * Returns the effective viewport height.\n */\nexport function getViewportHeight(): number {\n if (typeof window === \"undefined\") return 0;\n if (isSandboxActive) {\n const container = document.getElementById(\"solid-studio-app-container\");\n return container ? container.clientHeight : window.innerHeight;\n }\n return window.innerHeight;\n}\n"]}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Studio Sandbox Mode API
|
|
3
|
+
*
|
|
4
|
+
* This module isolates the application layout from the Solid Studio UI.
|
|
5
|
+
* It dynamically creates a container to wrap the application root, converting
|
|
6
|
+
* it into a relative containing block. This prevents \`position: fixed\` elements
|
|
7
|
+
* within the application from inadvertently overlapping with the global Studio UI.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
let originalRootParent: ParentNode | null = null;
|
|
11
|
+
let originalRootNextSibling: Node | null = null;
|
|
12
|
+
let isSandboxActive = false;
|
|
13
|
+
|
|
14
|
+
function getAppRoot() {
|
|
15
|
+
// Determine the root depending on the framework (Vite uses #root, Next uses #__next)
|
|
16
|
+
return document.getElementById("root") || document.getElementById("__next") || document.body.firstElementChild;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Wraps the app root into the sandbox container.
|
|
21
|
+
*/
|
|
22
|
+
export function enableStudioMode() {
|
|
23
|
+
if (typeof window === "undefined" || isSandboxActive) return;
|
|
24
|
+
|
|
25
|
+
const appRoot = getAppRoot();
|
|
26
|
+
if (!appRoot || appRoot.id === "solid-studio-root" || appRoot.id === "solid-studio-app-container") {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const parent = appRoot.parentNode;
|
|
31
|
+
if (!parent) return;
|
|
32
|
+
|
|
33
|
+
isSandboxActive = true;
|
|
34
|
+
originalRootParent = parent;
|
|
35
|
+
originalRootNextSibling = appRoot.nextSibling;
|
|
36
|
+
|
|
37
|
+
// Create the outer wrapper
|
|
38
|
+
const studioRoot = document.createElement("div");
|
|
39
|
+
studioRoot.id = "solid-studio-root";
|
|
40
|
+
|
|
41
|
+
// Create the isolation container
|
|
42
|
+
const appContainer = document.createElement("div");
|
|
43
|
+
appContainer.id = "solid-studio-app-container";
|
|
44
|
+
|
|
45
|
+
// Re-parent the app node
|
|
46
|
+
appContainer.appendChild(appRoot);
|
|
47
|
+
studioRoot.appendChild(appContainer);
|
|
48
|
+
|
|
49
|
+
// Insert the wrapper into the DOM where the root used to be
|
|
50
|
+
parent.insertBefore(studioRoot, originalRootNextSibling);
|
|
51
|
+
|
|
52
|
+
// Set a class on the body to indicate Studio Mode
|
|
53
|
+
document.body.classList.add("solid-studio-active");
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Restores the application to its original state.
|
|
58
|
+
*/
|
|
59
|
+
export function disableStudioMode() {
|
|
60
|
+
if (typeof window === "undefined" || !isSandboxActive) return;
|
|
61
|
+
|
|
62
|
+
const studioRoot = document.getElementById("solid-studio-root");
|
|
63
|
+
const appContainer = document.getElementById("solid-studio-app-container");
|
|
64
|
+
|
|
65
|
+
// Find our wrapped app root
|
|
66
|
+
const appRoot = appContainer?.firstElementChild;
|
|
67
|
+
|
|
68
|
+
if (studioRoot && appRoot && originalRootParent) {
|
|
69
|
+
originalRootParent.insertBefore(appRoot, originalRootNextSibling);
|
|
70
|
+
studioRoot.remove();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
isSandboxActive = false;
|
|
74
|
+
originalRootParent = null;
|
|
75
|
+
originalRootNextSibling = null;
|
|
76
|
+
|
|
77
|
+
// Remove body class
|
|
78
|
+
document.body.classList.remove("solid-studio-active");
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Returns the active scroll element based on sandbox state.
|
|
83
|
+
* When Studio Mode is enabled, the scroll element becomes the container.
|
|
84
|
+
* Otherwise, it uses the default Window object.
|
|
85
|
+
*/
|
|
86
|
+
export function getScrollElement(): HTMLElement | Window {
|
|
87
|
+
if (typeof window === "undefined") return window;
|
|
88
|
+
if (isSandboxActive) {
|
|
89
|
+
const container = document.getElementById("solid-studio-app-container");
|
|
90
|
+
return container || window;
|
|
91
|
+
}
|
|
92
|
+
return window;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Returns the current vertical scroll position.
|
|
97
|
+
*/
|
|
98
|
+
export function getScrollY(): number {
|
|
99
|
+
if (typeof window === "undefined") return 0;
|
|
100
|
+
if (isSandboxActive) {
|
|
101
|
+
const container = document.getElementById("solid-studio-app-container");
|
|
102
|
+
return container ? container.scrollTop : 0;
|
|
103
|
+
}
|
|
104
|
+
return window.scrollY;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Returns the effective viewport height.
|
|
109
|
+
*/
|
|
110
|
+
export function getViewportHeight(): number {
|
|
111
|
+
if (typeof window === "undefined") return 0;
|
|
112
|
+
if (isSandboxActive) {
|
|
113
|
+
const container = document.getElementById("solid-studio-app-container");
|
|
114
|
+
return container ? container.clientHeight : window.innerHeight;
|
|
115
|
+
}
|
|
116
|
+
return window.innerHeight;
|
|
117
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authProviders.d.ts","sourceRoot":"./","sources":["nextAuth/authProviders.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAW5C,QAAA,MAAM,aAAa,EAAE,eAqNpB,CAAA;AAED,eAAe,aAAa,CAAA"}
|