@vertesia/ui 0.60.0 → 0.62.0
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/lib/esm/core/components/FormItem.js +9 -0
- package/lib/esm/core/components/FormItem.js.map +1 -0
- package/lib/esm/core/components/InputList.js +4 -3
- package/lib/esm/core/components/InputList.js.map +1 -1
- package/lib/esm/core/components/index.js +3 -3
- package/lib/esm/core/components/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/button.js +37 -7
- package/lib/esm/core/components/shadcn/button.js.map +1 -1
- package/lib/esm/core/components/shadcn/calendar.js +7 -39
- package/lib/esm/core/components/shadcn/calendar.js.map +1 -1
- package/lib/esm/core/components/shadcn/dialog.js +3 -3
- package/lib/esm/core/components/shadcn/dialog.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/DynamicLabel.js +38 -0
- package/lib/esm/core/components/shadcn/filters/DynamicLabel.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/comboBox.js +27 -26
- package/lib/esm/core/components/shadcn/filters/comboBox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/dateFilter.js +19 -14
- package/lib/esm/core/components/shadcn/filters/dateFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filterBar.js +49 -36
- package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filters.js +31 -23
- package/lib/esm/core/components/shadcn/filters/filters.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/selectFilter.js +33 -24
- package/lib/esm/core/components/shadcn/filters/selectFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/textFilter.js +2 -2
- package/lib/esm/core/components/shadcn/filters/textFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/types.js.map +1 -1
- package/lib/esm/core/components/shadcn/input.js +4 -4
- package/lib/esm/core/components/shadcn/input.js.map +1 -1
- package/lib/esm/core/components/shadcn/selectBox.js +72 -6
- package/lib/esm/core/components/shadcn/selectBox.js.map +1 -1
- package/lib/esm/core/components/styles.js +1 -1
- package/lib/esm/core/components/styles.js.map +1 -1
- package/lib/esm/core/components/table/index.js +3 -0
- package/lib/esm/core/components/table/index.js.map +1 -1
- package/lib/esm/core/index.js +2 -1
- package/lib/esm/core/index.js.map +1 -1
- package/lib/esm/core/utils/cn.js +6 -0
- package/lib/esm/core/utils/cn.js.map +1 -0
- package/lib/esm/core/utils/index.js +2 -0
- package/lib/esm/core/utils/index.js.map +1 -0
- package/lib/esm/features/agent/PayloadBuilder.js +174 -0
- package/lib/esm/features/agent/PayloadBuilder.js.map +1 -0
- package/lib/esm/features/agent/chat/AnimatedThinkingDots.js +207 -0
- package/lib/esm/features/agent/chat/AnimatedThinkingDots.js.map +1 -0
- package/lib/esm/features/agent/chat/JumpingDots.js +6 -0
- package/lib/esm/features/agent/chat/JumpingDots.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentConversation.js +409 -0
- package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +129 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +66 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js +29 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +97 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +46 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +352 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessagesContainer.js +20 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessagesContainer.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +62 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlideInPanel.js +23 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlideInPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingMessages.js +51 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingMessages.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +82 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/StackedMessages.js +13 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/StackedMessages.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +105 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +154 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -0
- package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +266 -0
- package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -0
- package/lib/esm/features/agent/chat/WaitingMessages.js +60 -0
- package/lib/esm/features/agent/chat/WaitingMessages.js.map +1 -0
- package/lib/esm/features/agent/chat/index.js +5 -0
- package/lib/esm/features/agent/chat/index.js.map +1 -0
- package/lib/esm/features/agent/index.js +3 -0
- package/lib/esm/features/agent/index.js.map +1 -0
- package/lib/esm/features/errors/PanelErrorBoundary.js +11 -0
- package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -0
- package/lib/esm/features/errors/RowErrorBoundary.js +9 -0
- package/lib/esm/features/errors/RowErrorBoundary.js.map +1 -0
- package/lib/esm/features/errors/VertesiaErrorBoundary.js +15 -0
- package/lib/esm/features/errors/VertesiaErrorBoundary.js.map +1 -0
- package/lib/esm/features/errors/WidgetErrorBoundary.js +11 -0
- package/lib/esm/features/errors/WidgetErrorBoundary.js.map +1 -0
- package/lib/esm/features/errors/index.js +5 -0
- package/lib/esm/features/errors/index.js.map +1 -0
- package/lib/esm/features/facets/EnvironmentFacet.js +39 -0
- package/lib/esm/features/facets/EnvironmentFacet.js.map +1 -0
- package/lib/esm/features/facets/FacetsNav.js +8 -0
- package/lib/esm/features/facets/FacetsNav.js.map +1 -0
- package/lib/esm/features/facets/InteractionFacet.js +39 -0
- package/lib/esm/features/facets/InteractionFacet.js.map +1 -0
- package/lib/esm/features/facets/StringFacet.js +12 -0
- package/lib/esm/features/facets/StringFacet.js.map +1 -0
- package/lib/esm/features/facets/StringListFacet.js +11 -0
- package/lib/esm/features/facets/StringListFacet.js.map +1 -0
- package/lib/esm/features/facets/TypeFacet.js +42 -0
- package/lib/esm/features/facets/TypeFacet.js.map +1 -0
- package/lib/esm/features/facets/TypeOptions.js +19 -0
- package/lib/esm/features/facets/TypeOptions.js.map +1 -0
- package/lib/esm/features/facets/UserFacet.js +33 -0
- package/lib/esm/features/facets/UserFacet.js.map +1 -0
- package/lib/esm/features/facets/VFacetsNav.js +114 -0
- package/lib/esm/features/facets/VFacetsNav.js.map +1 -0
- package/lib/esm/features/facets/VStringFacet.js +17 -0
- package/lib/esm/features/facets/VStringFacet.js.map +1 -0
- package/lib/esm/features/facets/VTypeFacet.js +56 -0
- package/lib/esm/features/facets/VTypeFacet.js.map +1 -0
- package/lib/esm/features/facets/VUserFacet.js +31 -0
- package/lib/esm/features/facets/VUserFacet.js.map +1 -0
- package/lib/esm/features/facets/index.js +12 -0
- package/lib/esm/features/facets/index.js.map +1 -0
- package/lib/esm/features/facets/utils.js +7 -0
- package/lib/esm/features/facets/utils.js.map +1 -0
- package/lib/esm/features/index.js +9 -1
- package/lib/esm/features/index.js.map +1 -1
- package/lib/esm/features/layout/GenericPageNavHeader.js +11 -0
- package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -0
- package/lib/esm/features/layout/NotFoundView.js +5 -0
- package/lib/esm/features/layout/NotFoundView.js.map +1 -0
- package/lib/esm/features/layout/index.js +3 -0
- package/lib/esm/features/layout/index.js.map +1 -0
- package/lib/esm/features/magic-pdf/DownloadPopover.js +13 -0
- package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -0
- package/lib/esm/features/magic-pdf/MagicPdfView.js +44 -0
- package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -0
- package/lib/esm/features/magic-pdf/PageSlider.js +57 -0
- package/lib/esm/features/magic-pdf/PageSlider.js.map +1 -0
- package/lib/esm/features/magic-pdf/PdfPageProvider.js +133 -0
- package/lib/esm/features/magic-pdf/PdfPageProvider.js.map +1 -0
- package/lib/esm/features/magic-pdf/TextPageView.js +45 -0
- package/lib/esm/features/magic-pdf/TextPageView.js.map +1 -0
- package/lib/esm/features/magic-pdf/index.js +2 -0
- package/lib/esm/features/magic-pdf/index.js.map +1 -0
- package/lib/esm/features/magic-pdf/types.js +2 -0
- package/lib/esm/features/magic-pdf/types.js.map +1 -0
- package/lib/esm/features/magic-pdf/useResizeOnDrag.js +34 -0
- package/lib/esm/features/magic-pdf/useResizeOnDrag.js.map +1 -0
- package/lib/esm/features/store/collections/BrowseCollectionView.js +37 -0
- package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -0
- package/lib/esm/features/store/collections/CollectionView.js +53 -0
- package/lib/esm/features/store/collections/CollectionView.js.map +1 -0
- package/lib/esm/features/store/collections/CollectionsTable.js +60 -0
- package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -0
- package/lib/esm/features/store/collections/CollectionsView.js +94 -0
- package/lib/esm/features/store/collections/CollectionsView.js.map +1 -0
- package/lib/esm/features/store/collections/EditCollectionView.js +161 -0
- package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -0
- package/lib/esm/features/store/collections/index.js +6 -0
- package/lib/esm/features/store/collections/index.js.map +1 -0
- package/lib/esm/features/store/index.js +4 -0
- package/lib/esm/features/store/index.js.map +1 -0
- package/lib/esm/features/store/objects/DocumentPreviewPanel.js +150 -0
- package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -0
- package/lib/esm/features/store/objects/DocumentSearchResults.js +123 -0
- package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -0
- package/lib/esm/features/store/objects/DocumentSelectionProvider.js +81 -0
- package/lib/esm/features/store/objects/DocumentSelectionProvider.js.map +1 -0
- package/lib/esm/features/store/objects/DocumentTable.js +278 -0
- package/lib/esm/features/store/objects/DocumentTable.js.map +1 -0
- package/lib/esm/features/store/objects/ExportPropertiesModal.js +31 -0
- package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -0
- package/lib/esm/features/store/objects/components/ContentDispositionButton.js +31 -0
- package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -0
- package/lib/esm/features/store/objects/components/ContentOverview.js +195 -0
- package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -0
- package/lib/esm/features/store/objects/components/DocumentIcon.js +28 -0
- package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -0
- package/lib/esm/features/store/objects/components/DocumentInput.js +52 -0
- package/lib/esm/features/store/objects/components/DocumentInput.js.map +1 -0
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +169 -0
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -0
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +45 -0
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -0
- package/lib/esm/features/store/objects/components/SelectDocument.js +39 -0
- package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -0
- package/lib/esm/features/store/objects/components/SelectDocumentModal.js +7 -0
- package/lib/esm/features/store/objects/components/SelectDocumentModal.js.map +1 -0
- package/lib/esm/features/store/objects/components/VectorSearchWidget.js +85 -0
- package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -0
- package/lib/esm/features/store/objects/components/index.js +10 -0
- package/lib/esm/features/store/objects/components/index.js.map +1 -0
- package/lib/esm/features/store/objects/components/useDownloadObject.js +21 -0
- package/lib/esm/features/store/objects/components/useDownloadObject.js.map +1 -0
- package/lib/esm/features/store/objects/index.js +11 -0
- package/lib/esm/features/store/objects/index.js.map +1 -0
- package/lib/esm/features/store/objects/layout/DocumentTableColumn.js +74 -0
- package/lib/esm/features/store/objects/layout/DocumentTableColumn.js.map +1 -0
- package/lib/esm/features/store/objects/layout/documentLayout.js +16 -0
- package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -0
- package/lib/esm/features/store/objects/layout/index.js +3 -0
- package/lib/esm/features/store/objects/layout/index.js.map +1 -0
- package/lib/esm/features/store/objects/layout/renderers.js +128 -0
- package/lib/esm/features/store/objects/layout/renderers.js.map +1 -0
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js +150 -0
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -0
- package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +41 -0
- package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -0
- package/lib/esm/features/store/objects/search/index.js +3 -0
- package/lib/esm/features/store/objects/search/index.js.map +1 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +149 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionSpec.js +2 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionSpec.js.map +1 -0
- package/lib/esm/features/store/objects/selection/SelectionActions.js +75 -0
- package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +64 -0
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +53 -0
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +30 -0
- package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +66 -0
- package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +106 -0
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +64 -0
- package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +72 -0
- package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/index.js +8 -0
- package/lib/esm/features/store/objects/selection/actions/index.js.map +1 -0
- package/lib/esm/features/store/objects/selection/index.js +5 -0
- package/lib/esm/features/store/objects/selection/index.js.map +1 -0
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +476 -0
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -0
- package/lib/esm/features/store/objects/upload/index.js +4 -0
- package/lib/esm/features/store/objects/upload/index.js.map +1 -0
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +201 -0
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -0
- package/lib/esm/features/store/objects/upload/useUploadHandler.js +230 -0
- package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -0
- package/lib/esm/features/store/types/ContentObjectTypeView.js +158 -0
- package/lib/esm/features/store/types/ContentObjectTypeView.js.map +1 -0
- package/lib/esm/features/store/types/ContentObjectTypesSearch.js +82 -0
- package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -0
- package/lib/esm/features/store/types/ContentObjectTypesTable.js +11 -0
- package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -0
- package/lib/esm/features/store/types/ContentObjectTypesView.js +55 -0
- package/lib/esm/features/store/types/ContentObjectTypesView.js.map +1 -0
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +26 -0
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -0
- package/lib/esm/features/store/types/ObjectSchemaEditor.js +89 -0
- package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -0
- package/lib/esm/features/store/types/SelectContentType.js +43 -0
- package/lib/esm/features/store/types/SelectContentType.js.map +1 -0
- package/lib/esm/features/store/types/SelectContentTypeModal.js +28 -0
- package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -0
- package/lib/esm/features/store/types/TableLayoutEditor.js +78 -0
- package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -0
- package/lib/esm/features/store/types/index.js +11 -0
- package/lib/esm/features/store/types/index.js.map +1 -0
- package/lib/esm/features/store/types/search/ObjectTypeSearchContext.js +98 -0
- package/lib/esm/features/store/types/search/ObjectTypeSearchContext.js.map +1 -0
- package/lib/esm/features/store/types/search/ObjectTypeSearchProvider.js +15 -0
- package/lib/esm/features/store/types/search/ObjectTypeSearchProvider.js.map +1 -0
- package/lib/esm/features/store/types/search/index.js +3 -0
- package/lib/esm/features/store/types/search/index.js.map +1 -0
- package/lib/esm/features/user/UserAvatar.js +18 -0
- package/lib/esm/features/user/UserAvatar.js.map +1 -0
- package/lib/esm/features/user/UserInfo.js +88 -0
- package/lib/esm/features/user/UserInfo.js.map +1 -0
- package/lib/esm/features/user/index.js +3 -0
- package/lib/esm/features/user/index.js.map +1 -0
- package/lib/esm/features/utils/index.js +4 -0
- package/lib/esm/features/utils/index.js.map +1 -0
- package/lib/esm/features/utils/mimeType.js +9 -0
- package/lib/esm/features/utils/mimeType.js.map +1 -0
- package/lib/esm/features/utils/rendition.js +47 -0
- package/lib/esm/features/utils/rendition.js.map +1 -0
- package/lib/esm/features/utils/text.js +10 -0
- package/lib/esm/features/utils/text.js.map +1 -0
- package/lib/esm/layout/FullHeightLayout.js +1 -1
- package/lib/esm/layout/FullHeightLayout.js.map +1 -1
- package/lib/esm/layout/Sidebar.js +12 -2
- package/lib/esm/layout/Sidebar.js.map +1 -1
- package/lib/esm/widgets/Progress.js +5 -0
- package/lib/esm/widgets/Progress.js.map +1 -0
- package/lib/esm/widgets/codemirror/CodeMirrorEditor.js +1 -1
- package/lib/esm/widgets/codemirror/CodeMirrorEditor.js.map +1 -1
- package/lib/esm/widgets/form/Form.js +2 -2
- package/lib/esm/widgets/form/Form.js.map +1 -1
- package/lib/esm/widgets/form/schema.js +11 -5
- package/lib/esm/widgets/form/schema.js.map +1 -1
- package/lib/esm/widgets/index.js +4 -0
- package/lib/esm/widgets/index.js.map +1 -1
- package/lib/esm/widgets/popover/Popover.js +73 -0
- package/lib/esm/widgets/popover/Popover.js.map +1 -0
- package/lib/esm/widgets/popover/context.js +7 -0
- package/lib/esm/widgets/popover/context.js.map +1 -0
- package/lib/esm/widgets/popover/index.js +3 -0
- package/lib/esm/widgets/popover/index.js.map +1 -0
- package/lib/esm/widgets/popover/slots.js +22 -0
- package/lib/esm/widgets/popover/slots.js.map +1 -0
- package/lib/esm/widgets/properties/PropertiesView.js +6 -0
- package/lib/esm/widgets/properties/PropertiesView.js.map +1 -0
- package/lib/esm/widgets/properties/index.js +2 -0
- package/lib/esm/widgets/properties/index.js.map +1 -0
- package/lib/esm/widgets/schema-editor/JSONSchemaEditorModal.js +1 -2
- package/lib/esm/widgets/schema-editor/JSONSchemaEditorModal.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/Editable.js +9 -10
- package/lib/esm/widgets/schema-editor/editor/Editable.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/PropertyViewer.js +1 -1
- package/lib/esm/widgets/schema-editor/editor/PropertyViewer.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +2 -2
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
- package/lib/esm/widgets/upload/DropZone.js +162 -0
- package/lib/esm/widgets/upload/DropZone.js.map +1 -0
- package/lib/esm/widgets/upload/UploadResultCategory.js +19 -0
- package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -0
- package/lib/esm/widgets/upload/UploadSummary.js +30 -0
- package/lib/esm/widgets/upload/UploadSummary.js.map +1 -0
- package/lib/esm/widgets/upload/index.js +4 -0
- package/lib/esm/widgets/upload/index.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core/components/FormItem.d.ts +11 -0
- package/lib/types/core/components/index.d.ts +3 -3
- package/lib/types/core/components/shadcn/button.d.ts +13 -2
- package/lib/types/core/components/shadcn/calendar.d.ts +3 -3
- package/lib/types/core/components/shadcn/command.d.ts +7 -7
- package/lib/types/core/components/shadcn/filters/DynamicLabel.d.ts +8 -0
- package/lib/types/core/components/shadcn/filters/comboBox.d.ts +5 -5
- package/lib/types/core/components/shadcn/filters/dateFilter.d.ts +3 -4
- package/lib/types/core/components/shadcn/filters/types.d.ts +7 -1
- package/lib/types/core/components/shadcn/input.d.ts +4 -4
- package/lib/types/core/components/shadcn/selectBox.d.ts +13 -4
- package/lib/types/core/components/table/index.d.ts +1 -0
- package/lib/types/core/index.d.ts +2 -1
- package/lib/types/core/utils/cn.d.ts +2 -0
- package/lib/types/core/utils/index.d.ts +1 -0
- package/lib/types/features/agent/PayloadBuilder.d.ts +53 -0
- package/lib/types/features/agent/chat/AnimatedThinkingDots.d.ts +37 -0
- package/lib/types/features/agent/chat/JumpingDots.d.ts +6 -0
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +24 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +21 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +18 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.d.ts +10 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +15 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +12 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +7 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessagesContainer.d.ts +9 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts +8 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlideInPanel.d.ts +10 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts +7 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts +9 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/StackedMessages.d.ts +7 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts +21 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +23 -0
- package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts +17 -0
- package/lib/types/features/agent/chat/WaitingMessages.d.ts +1 -0
- package/lib/types/features/agent/chat/index.d.ts +4 -0
- package/lib/types/features/agent/index.d.ts +2 -0
- package/lib/types/features/errors/PanelErrorBoundary.d.ts +4 -0
- package/lib/types/features/errors/RowErrorBoundary.d.ts +7 -0
- package/lib/types/features/errors/VertesiaErrorBoundary.d.ts +11 -0
- package/lib/types/features/errors/WidgetErrorBoundary.d.ts +4 -0
- package/lib/types/features/errors/index.d.ts +4 -0
- package/lib/types/features/facets/EnvironmentFacet.d.ts +9 -0
- package/lib/types/features/facets/FacetsNav.d.ts +6 -0
- package/lib/types/features/facets/InteractionFacet.d.ts +9 -0
- package/lib/types/features/facets/StringFacet.d.ts +10 -0
- package/lib/types/features/facets/StringListFacet.d.ts +10 -0
- package/lib/types/features/facets/TypeFacet.d.ts +15 -0
- package/lib/types/features/facets/TypeOptions.d.ts +3 -0
- package/lib/types/features/facets/UserFacet.d.ts +11 -0
- package/lib/types/features/facets/VFacetsNav.d.ts +7 -0
- package/lib/types/features/facets/VStringFacet.d.ts +15 -0
- package/lib/types/features/facets/VTypeFacet.d.ts +8 -0
- package/lib/types/features/facets/VUserFacet.d.ts +9 -0
- package/lib/types/features/facets/index.d.ts +11 -0
- package/lib/types/features/facets/utils.d.ts +3 -0
- package/lib/types/features/index.d.ts +9 -1
- package/lib/types/features/layout/GenericPageNavHeader.d.ts +12 -0
- package/lib/types/features/layout/NotFoundView.d.ts +4 -0
- package/lib/types/features/layout/index.d.ts +2 -0
- package/lib/types/features/magic-pdf/DownloadPopover.d.ts +6 -0
- package/lib/types/features/magic-pdf/MagicPdfView.d.ts +6 -0
- package/lib/types/features/magic-pdf/PageSlider.d.ts +7 -0
- package/lib/types/features/magic-pdf/PdfPageProvider.d.ts +28 -0
- package/lib/types/features/magic-pdf/TextPageView.d.ts +7 -0
- package/lib/types/features/magic-pdf/index.d.ts +1 -0
- package/lib/types/features/magic-pdf/types.d.ts +1 -0
- package/lib/types/features/magic-pdf/useResizeOnDrag.d.ts +8 -0
- package/lib/types/features/store/collections/BrowseCollectionView.d.ts +6 -0
- package/lib/types/features/store/collections/CollectionView.d.ts +5 -0
- package/lib/types/features/store/collections/CollectionsTable.d.ts +5 -0
- package/lib/types/features/store/collections/CollectionsView.d.ts +10 -0
- package/lib/types/features/store/collections/EditCollectionView.d.ts +7 -0
- package/lib/types/features/store/collections/index.d.ts +5 -0
- package/lib/types/features/store/index.d.ts +3 -0
- package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts +7 -0
- package/lib/types/features/store/objects/DocumentSearchResults.d.ts +19 -0
- package/lib/types/features/store/objects/DocumentSelectionProvider.d.ts +32 -0
- package/lib/types/features/store/objects/DocumentTable.d.ts +20 -0
- package/lib/types/features/store/objects/ExportPropertiesModal.d.ts +11 -0
- package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts +8 -0
- package/lib/types/features/store/objects/components/ContentOverview.d.ts +7 -0
- package/lib/types/features/store/objects/components/DocumentIcon.d.ts +10 -0
- package/lib/types/features/store/objects/components/DocumentInput.d.ts +7 -0
- package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts +7 -0
- package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts +8 -0
- package/lib/types/features/store/objects/components/SelectDocument.d.ts +8 -0
- package/lib/types/features/store/objects/components/SelectDocumentModal.d.ts +8 -0
- package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts +10 -0
- package/lib/types/features/store/objects/components/index.d.ts +9 -0
- package/lib/types/features/store/objects/components/useDownloadObject.d.ts +3 -0
- package/lib/types/features/store/objects/index.d.ts +10 -0
- package/lib/types/features/store/objects/layout/DocumentTableColumn.d.ts +16 -0
- package/lib/types/features/store/objects/layout/documentLayout.d.ts +17 -0
- package/lib/types/features/store/objects/layout/index.d.ts +2 -0
- package/lib/types/features/store/objects/layout/renderers.d.ts +2 -0
- package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts +48 -0
- package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts +15 -0
- package/lib/types/features/store/objects/search/index.d.ts +2 -0
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +25 -0
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +27 -0
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts +4 -0
- package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts +3 -0
- package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts +3 -0
- package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +15 -0
- package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts +2 -0
- package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts +3 -0
- package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts +2 -0
- package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts +3 -0
- package/lib/types/features/store/objects/selection/actions/index.d.ts +7 -0
- package/lib/types/features/store/objects/selection/index.d.ts +4 -0
- package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts +37 -0
- package/lib/types/features/store/objects/upload/index.d.ts +3 -0
- package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts +29 -0
- package/lib/types/features/store/objects/upload/useUploadHandler.d.ts +49 -0
- package/lib/types/features/store/types/ContentObjectTypeView.d.ts +5 -0
- package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts +5 -0
- package/lib/types/features/store/types/ContentObjectTypesTable.d.ts +7 -0
- package/lib/types/features/store/types/ContentObjectTypesView.d.ts +8 -0
- package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +14 -0
- package/lib/types/features/store/types/ObjectSchemaEditor.d.ts +7 -0
- package/lib/types/features/store/types/SelectContentType.d.ts +10 -0
- package/lib/types/features/store/types/SelectContentTypeModal.d.ts +32 -0
- package/lib/types/features/store/types/TableLayoutEditor.d.ts +8 -0
- package/lib/types/features/store/types/index.d.ts +10 -0
- package/lib/types/features/store/types/search/ObjectTypeSearchContext.d.ts +35 -0
- package/lib/types/features/store/types/search/ObjectTypeSearchProvider.d.ts +10 -0
- package/lib/types/features/store/types/search/index.d.ts +2 -0
- package/lib/types/features/user/UserAvatar.d.ts +8 -0
- package/lib/types/features/user/UserInfo.d.ts +36 -0
- package/lib/types/features/user/index.d.ts +2 -0
- package/lib/types/features/utils/index.d.ts +3 -0
- package/lib/types/features/utils/mimeType.d.ts +4 -0
- package/lib/types/features/utils/rendition.d.ts +3 -0
- package/lib/types/features/utils/text.d.ts +2 -0
- package/lib/types/layout/Sidebar.d.ts +2 -1
- package/lib/types/widgets/Progress.d.ts +5 -0
- package/lib/types/widgets/form/schema.d.ts +4 -3
- package/lib/types/widgets/index.d.ts +4 -0
- package/lib/types/widgets/popover/Popover.d.ts +37 -0
- package/lib/types/widgets/popover/context.d.ts +7 -0
- package/lib/types/widgets/popover/index.d.ts +2 -0
- package/lib/types/widgets/popover/slots.d.ts +4 -0
- package/lib/types/widgets/properties/PropertiesView.d.ts +10 -0
- package/lib/types/widgets/properties/index.d.ts +1 -0
- package/lib/types/widgets/upload/DropZone.d.ts +40 -0
- package/lib/types/widgets/upload/UploadResultCategory.d.ts +25 -0
- package/lib/types/widgets/upload/UploadSummary.d.ts +37 -0
- package/lib/types/widgets/upload/index.d.ts +3 -0
- package/lib/vertesia-ui-core.js +1 -1
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-features.js +1 -1
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-layout.js +1 -1
- package/lib/vertesia-ui-layout.js.map +1 -1
- package/lib/vertesia-ui-router.js.map +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-widgets.js +1 -1
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/package.json +14 -6
- package/src/core/components/FormItem.tsx +35 -0
- package/src/core/components/InputList.tsx +4 -3
- package/src/core/components/index.ts +3 -3
- package/src/core/components/shadcn/button.tsx +68 -8
- package/src/core/components/shadcn/calendar.tsx +9 -65
- package/src/core/components/shadcn/dialog.tsx +3 -3
- package/src/core/components/shadcn/filters/DynamicLabel.tsx +45 -0
- package/src/core/components/shadcn/filters/comboBox.tsx +57 -52
- package/src/core/components/shadcn/filters/dateFilter.tsx +46 -29
- package/src/core/components/shadcn/filters/filterBar.tsx +53 -47
- package/src/core/components/shadcn/filters/filters.tsx +43 -30
- package/src/core/components/shadcn/filters/selectFilter.tsx +53 -34
- package/src/core/components/shadcn/filters/textFilter.tsx +6 -3
- package/src/core/components/shadcn/filters/types.ts +8 -1
- package/src/core/components/shadcn/input.tsx +5 -5
- package/src/core/components/shadcn/selectBox.tsx +138 -33
- package/src/core/components/styles.ts +1 -1
- package/src/core/components/table/index.tsx +8 -0
- package/src/core/index.ts +2 -1
- package/src/core/utils/cn.ts +6 -0
- package/src/core/utils/index.ts +1 -0
- package/src/features/agent/PayloadBuilder.tsx +208 -0
- package/src/features/agent/chat/AnimatedThinkingDots.tsx +350 -0
- package/src/features/agent/chat/JumpingDots.tsx +16 -0
- package/src/features/agent/chat/ModernAgentConversation.tsx +708 -0
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +246 -0
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +231 -0
- package/src/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.tsx +66 -0
- package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +282 -0
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +125 -0
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +562 -0
- package/src/features/agent/chat/ModernAgentOutput/MessagesContainer.tsx +51 -0
- package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +123 -0
- package/src/features/agent/chat/ModernAgentOutput/README-image-support.md +43 -0
- package/src/features/agent/chat/ModernAgentOutput/SlideInPanel.tsx +72 -0
- package/src/features/agent/chat/ModernAgentOutput/SlidingMessages.tsx +96 -0
- package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +185 -0
- package/src/features/agent/chat/ModernAgentOutput/StackedMessages.tsx +33 -0
- package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +167 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +195 -0
- package/src/features/agent/chat/ModernAgentOutput/with-types.d.ts +15 -0
- package/src/features/agent/chat/SlidingThinkingIndicator.tsx +459 -0
- package/src/features/agent/chat/WaitingMessages.ts +66 -0
- package/src/features/agent/chat/index.ts +4 -0
- package/src/features/agent/index.ts +2 -0
- package/src/features/errors/PanelErrorBoundary.tsx +30 -0
- package/src/features/errors/RowErrorBoundary.tsx +28 -0
- package/src/features/errors/VertesiaErrorBoundary.tsx +28 -0
- package/src/features/errors/WidgetErrorBoundary.tsx +27 -0
- package/src/features/errors/index.ts +4 -0
- package/src/features/facets/EnvironmentFacet.tsx +53 -0
- package/src/features/facets/FacetsNav.tsx +19 -0
- package/src/features/facets/InteractionFacet.tsx +53 -0
- package/src/features/facets/StringFacet.tsx +23 -0
- package/src/features/facets/StringListFacet.tsx +22 -0
- package/src/features/facets/TypeFacet.tsx +59 -0
- package/src/features/facets/TypeOptions.tsx +22 -0
- package/src/features/facets/UserFacet.tsx +61 -0
- package/src/features/facets/VFacetsNav.tsx +139 -0
- package/src/features/facets/VStringFacet.tsx +34 -0
- package/src/features/facets/VTypeFacet.tsx +72 -0
- package/src/features/facets/VUserFacet.tsx +47 -0
- package/src/features/facets/index.ts +11 -0
- package/src/features/facets/utils.tsx +9 -0
- package/src/features/index.ts +9 -1
- package/src/features/layout/GenericPageNavHeader.tsx +48 -0
- package/src/features/layout/NotFoundView.tsx +11 -0
- package/src/features/layout/index.ts +2 -0
- package/src/features/magic-pdf/DownloadPopover.tsx +32 -0
- package/src/features/magic-pdf/MagicPdfView.tsx +102 -0
- package/src/features/magic-pdf/PageSlider.tsx +112 -0
- package/src/features/magic-pdf/PdfPageProvider.tsx +229 -0
- package/src/features/magic-pdf/TextPageView.tsx +65 -0
- package/src/features/magic-pdf/index.ts +1 -0
- package/src/features/magic-pdf/types.ts +1 -0
- package/src/features/magic-pdf/useResizeOnDrag.ts +42 -0
- package/src/features/store/collections/BrowseCollectionView.tsx +45 -0
- package/src/features/store/collections/CollectionView.tsx +94 -0
- package/src/features/store/collections/CollectionsTable.tsx +115 -0
- package/src/features/store/collections/CollectionsView.tsx +166 -0
- package/src/features/store/collections/EditCollectionView.tsx +253 -0
- package/src/features/store/collections/index.ts +5 -0
- package/src/features/store/index.ts +3 -0
- package/src/features/store/objects/DocumentPreviewPanel.tsx +417 -0
- package/src/features/store/objects/DocumentSearchResults.tsx +209 -0
- package/src/features/store/objects/DocumentSelectionProvider.tsx +99 -0
- package/src/features/store/objects/DocumentTable.tsx +409 -0
- package/src/features/store/objects/ExportPropertiesModal.tsx +89 -0
- package/src/features/store/objects/components/ContentDispositionButton.tsx +45 -0
- package/src/features/store/objects/components/ContentOverview.tsx +466 -0
- package/src/features/store/objects/components/DocumentIcon.tsx +87 -0
- package/src/features/store/objects/components/DocumentInput.tsx +90 -0
- package/src/features/store/objects/components/PropertiesEditorModal.tsx +253 -0
- package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +136 -0
- package/src/features/store/objects/components/SelectDocument.tsx +69 -0
- package/src/features/store/objects/components/SelectDocumentModal.tsx +20 -0
- package/src/features/store/objects/components/VectorSearchWidget.tsx +115 -0
- package/src/features/store/objects/components/index.ts +9 -0
- package/src/features/store/objects/components/useDownloadObject.ts +24 -0
- package/src/features/store/objects/index.ts +10 -0
- package/src/features/store/objects/layout/DocumentTableColumn.tsx +84 -0
- package/src/features/store/objects/layout/documentLayout.tsx +69 -0
- package/src/features/store/objects/layout/index.ts +2 -0
- package/src/features/store/objects/layout/knowledge.md +238 -0
- package/src/features/store/objects/layout/renderers.tsx +139 -0
- package/src/features/store/objects/search/DocumentSearchContext.ts +181 -0
- package/src/features/store/objects/search/DocumentSearchProvider.tsx +54 -0
- package/src/features/store/objects/search/index.ts +2 -0
- package/src/features/store/objects/selection/ObjectsActionContext.tsx +196 -0
- package/src/features/store/objects/selection/ObjectsActionSpec.ts +31 -0
- package/src/features/store/objects/selection/SelectionActions.tsx +160 -0
- package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +114 -0
- package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +76 -0
- package/src/features/store/objects/selection/actions/ConfirmAction.tsx +46 -0
- package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +77 -0
- package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +117 -0
- package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +77 -0
- package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +122 -0
- package/src/features/store/objects/selection/actions/index.ts +7 -0
- package/src/features/store/objects/selection/index.ts +4 -0
- package/src/features/store/objects/upload/DocumentUploadModal.tsx +970 -0
- package/src/features/store/objects/upload/index.ts +3 -0
- package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +250 -0
- package/src/features/store/objects/upload/useUploadHandler.ts +325 -0
- package/src/features/store/types/ContentObjectTypeView.tsx +244 -0
- package/src/features/store/types/ContentObjectTypesSearch.tsx +111 -0
- package/src/features/store/types/ContentObjectTypesTable.tsx +38 -0
- package/src/features/store/types/ContentObjectTypesView.tsx +71 -0
- package/src/features/store/types/CreateOrUpdateTypeModal.tsx +70 -0
- package/src/features/store/types/ObjectSchemaEditor.tsx +127 -0
- package/src/features/store/types/SelectContentType.tsx +88 -0
- package/src/features/store/types/SelectContentTypeModal.tsx +142 -0
- package/src/features/store/types/TableLayoutEditor.tsx +104 -0
- package/src/features/store/types/index.ts +10 -0
- package/src/features/store/types/search/ObjectTypeSearchContext.tsx +119 -0
- package/src/features/store/types/search/ObjectTypeSearchProvider.tsx +24 -0
- package/src/features/store/types/search/index.ts +2 -0
- package/src/features/user/UserAvatar.tsx +34 -0
- package/src/features/user/UserInfo.tsx +215 -0
- package/src/features/user/index.ts +2 -0
- package/src/features/utils/index.ts +3 -0
- package/src/features/utils/mimeType.ts +9 -0
- package/src/features/utils/rendition.ts +75 -0
- package/src/features/utils/text.ts +10 -0
- package/src/layout/FullHeightLayout.tsx +1 -1
- package/src/layout/Sidebar.tsx +12 -2
- package/src/widgets/Progress.tsx +10 -0
- package/src/widgets/codemirror/CodeMirrorEditor.tsx +1 -1
- package/src/widgets/form/Form.tsx +2 -2
- package/src/widgets/form/schema.ts +14 -7
- package/src/widgets/index.ts +5 -1
- package/src/widgets/popover/Popover.tsx +171 -0
- package/src/widgets/popover/context.ts +15 -0
- package/src/widgets/popover/index.ts +2 -0
- package/src/widgets/popover/slots.ts +24 -0
- package/src/widgets/properties/PropertiesView.tsx +26 -0
- package/src/widgets/properties/index.ts +1 -0
- package/src/widgets/schema-editor/JSONSchemaEditorModal.tsx +1 -2
- package/src/widgets/schema-editor/editor/Editable.tsx +12 -13
- package/src/widgets/schema-editor/editor/PropertyViewer.tsx +1 -1
- package/src/widgets/schema-editor/editor/SchemaEditor.tsx +4 -4
- package/src/widgets/upload/DropZone.tsx +257 -0
- package/src/widgets/upload/UploadResultCategory.tsx +81 -0
- package/src/widgets/upload/UploadSummary.tsx +116 -0
- package/src/widgets/upload/index.ts +3 -0
- package/lib/esm/code/index.js +0 -3
- package/lib/esm/code/index.js.map +0 -1
- package/lib/esm/core/components/Input.js +0 -16
- package/lib/esm/core/components/Input.js.map +0 -1
- package/lib/esm/form/index.js +0 -3
- package/lib/esm/form/index.js.map +0 -1
- package/lib/types/code/index.d.ts +0 -0
- package/lib/types/core/components/Input.d.ts +0 -8
- package/lib/types/form/index.d.ts +0 -0
- package/lib/vertesia-ui-code.js +0 -2
- package/lib/vertesia-ui-code.js.map +0 -1
- package/lib/vertesia-ui-form.js +0 -2
- package/lib/vertesia-ui-form.js.map +0 -1
- package/src/code/index.ts +0 -1
- package/src/core/components/Input.tsx +0 -43
- package/src/form/index.ts +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { json } from "@codemirror/lang-json";
|
|
3
|
+
import { Button, ErrorBox, FormItem, Input, Styles, useFetch, useToast } from "@vertesia/ui/core";
|
|
4
|
+
import { useUserSession } from "@vertesia/ui/session";
|
|
5
|
+
import { CodeMirrorEditor, GeneratedForm, ManagedObject } from "@vertesia/ui/widgets";
|
|
6
|
+
import { basicSetup } from "codemirror";
|
|
7
|
+
import { useMemo, useRef, useState } from "react";
|
|
8
|
+
import { SelectContentType, stringifyTableLayout } from "../../store";
|
|
9
|
+
const extensions = [basicSetup, json()];
|
|
10
|
+
export function EditCollectionView({ refetch, collection }) {
|
|
11
|
+
const typeId = collection.type?.id;
|
|
12
|
+
const tableLayoutRef = useRef(undefined);
|
|
13
|
+
const toast = useToast();
|
|
14
|
+
const { client } = useUserSession();
|
|
15
|
+
const [isUpdating, setUpdating] = useState(false);
|
|
16
|
+
const [metadata, setMetadata] = useState({
|
|
17
|
+
name: collection.name,
|
|
18
|
+
description: collection.description || "",
|
|
19
|
+
query: collection.query ? JSON.stringify(collection.query, null, 2) : "",
|
|
20
|
+
tags: collection.tags || [],
|
|
21
|
+
type: collection.type?.id || "",
|
|
22
|
+
allowed_types: collection.allowed_types || [],
|
|
23
|
+
});
|
|
24
|
+
const tableLayoutValue = useMemo(() => {
|
|
25
|
+
return stringifyTableLayout(collection.table_layout);
|
|
26
|
+
}, [collection.table_layout]);
|
|
27
|
+
const onSubmit = () => {
|
|
28
|
+
const query = metadata.query ? JSON.parse(metadata.query) : undefined;
|
|
29
|
+
const payload = {
|
|
30
|
+
name: metadata.name,
|
|
31
|
+
description: metadata.description,
|
|
32
|
+
query: query,
|
|
33
|
+
tags: metadata.tags,
|
|
34
|
+
type: metadata.type,
|
|
35
|
+
allowed_types: metadata.allowed_types,
|
|
36
|
+
};
|
|
37
|
+
let error;
|
|
38
|
+
if (!payload.name) {
|
|
39
|
+
error = "Name is required";
|
|
40
|
+
}
|
|
41
|
+
if (!payload.type) {
|
|
42
|
+
payload.type = null;
|
|
43
|
+
}
|
|
44
|
+
if (error) {
|
|
45
|
+
toast({
|
|
46
|
+
title: "Validation failed",
|
|
47
|
+
description: error,
|
|
48
|
+
status: "error",
|
|
49
|
+
duration: 5000,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
if (tableLayoutRef.current) {
|
|
53
|
+
const layout = tableLayoutRef.current.getValue();
|
|
54
|
+
if (layout) {
|
|
55
|
+
try {
|
|
56
|
+
payload.table_layout = JSON.parse(layout);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
toast({
|
|
60
|
+
title: "Invalid Table Layout",
|
|
61
|
+
description: err.message,
|
|
62
|
+
status: "error",
|
|
63
|
+
duration: 5000,
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
payload.table_layout = null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
setUpdating(true);
|
|
73
|
+
client.store.collections
|
|
74
|
+
.update(collection.id, payload)
|
|
75
|
+
.then(() => {
|
|
76
|
+
refetch();
|
|
77
|
+
toast({
|
|
78
|
+
title: "Collection updated",
|
|
79
|
+
description: "Collection has been updated successfully",
|
|
80
|
+
status: "success",
|
|
81
|
+
duration: 3000,
|
|
82
|
+
});
|
|
83
|
+
})
|
|
84
|
+
.catch((err) => {
|
|
85
|
+
toast({
|
|
86
|
+
title: "Failed to update collection",
|
|
87
|
+
description: err.message,
|
|
88
|
+
status: "error",
|
|
89
|
+
duration: 5000,
|
|
90
|
+
});
|
|
91
|
+
})
|
|
92
|
+
.finally(() => {
|
|
93
|
+
setUpdating(false);
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
const setField = (name, value) => {
|
|
97
|
+
setMetadata({
|
|
98
|
+
...metadata,
|
|
99
|
+
[name]: value,
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
return (_jsxs("div", { className: "flex flex-col gap-4 py-2", children: [_jsx(FormItem, { label: "Name", required: true, children: _jsx(Input, { value: metadata.name, onChange: (v) => setField("name", v) }) }), _jsx(FormItem, { label: "Description", children: _jsx("textarea", { className: Styles.INPUT, value: metadata.description, onChange: (e) => setField("description", e.target.value) }) }), collection.dynamic && (_jsx(FormItem, { label: "Query", description: "Define the query to fetch dynamic content for this collection.", children: _jsx("textarea", { className: Styles.INPUT, value: metadata.query, onChange: (e) => setField("query", e.target.value) }) })), _jsx(FormItem, { label: "Table Layout", description: "Define how the collection should be displayed in tables.", children: _jsx(CodeMirrorEditor, { className: "border-1 rounded-md border-border", value: tableLayoutValue, extensions: extensions, editorRef: tableLayoutRef }) }), _jsx(FormItem, { label: "Type", children: _jsx(SelectContentType, { defaultValue: metadata.type || null, onChange: (v) => {
|
|
103
|
+
if (Array.isArray(v)) {
|
|
104
|
+
setField("type", v.length > 0 ? v[0].id : null);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
setField("type", v?.id || null);
|
|
108
|
+
}
|
|
109
|
+
}, isClearable: true }) }), _jsx(FormItem, { label: "Allowed Content Types", children: _jsx(SelectContentType, { defaultValue: metadata.allowed_types || null, onChange: (v) => {
|
|
110
|
+
if (Array.isArray(v)) {
|
|
111
|
+
setField("allowed_types", v.map(type => type.id));
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
setField("allowed_types", v ? [v.id] : []);
|
|
115
|
+
}
|
|
116
|
+
}, isClearable: true, multiple: true }) }), _jsx(Button, { size: "lg", className: "w-min my-4", isDisabled: isUpdating, onClick: onSubmit, children: "Save Metadata" }), typeId && _jsx(PropertiesEditor, { typeId: typeId, collection: collection })] }));
|
|
117
|
+
}
|
|
118
|
+
function PropertiesEditor({ typeId, collection }) {
|
|
119
|
+
const { client } = useUserSession();
|
|
120
|
+
const { data: type, error } = useFetch(() => client.store.types.retrieve(typeId), [typeId]);
|
|
121
|
+
if (error) {
|
|
122
|
+
return _jsx(ErrorBox, { title: "Failed to load type", children: error.message });
|
|
123
|
+
}
|
|
124
|
+
return (_jsx(Section, { title: "Properties", children: type && _jsx(PropertiesForm, { collection: collection, schema: type.object_schema }) }));
|
|
125
|
+
}
|
|
126
|
+
function PropertiesForm({ schema = {}, collection }) {
|
|
127
|
+
const { client } = useUserSession();
|
|
128
|
+
const toast = useToast();
|
|
129
|
+
const object = useMemo(() => new ManagedObject(schema, collection.properties || {}), [schema, collection]);
|
|
130
|
+
const [isUpdating, setIsUpdating] = useState(false);
|
|
131
|
+
const _onSave = (data) => {
|
|
132
|
+
const payload = { properties: data || {} };
|
|
133
|
+
setIsUpdating(true);
|
|
134
|
+
client.store.collections
|
|
135
|
+
.update(collection.id, payload)
|
|
136
|
+
.then(() => {
|
|
137
|
+
toast({
|
|
138
|
+
title: "Collection properties updated",
|
|
139
|
+
description: "Collection has been updated successfully",
|
|
140
|
+
status: "success",
|
|
141
|
+
duration: 3000,
|
|
142
|
+
});
|
|
143
|
+
})
|
|
144
|
+
.catch((err) => {
|
|
145
|
+
toast({
|
|
146
|
+
title: "Failed to update collection properties",
|
|
147
|
+
description: err.message,
|
|
148
|
+
status: "error",
|
|
149
|
+
duration: 5000,
|
|
150
|
+
});
|
|
151
|
+
})
|
|
152
|
+
.finally(() => {
|
|
153
|
+
setIsUpdating(false);
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
return (_jsx(GeneratedForm, { object: object, onSubmit: _onSave, children: _jsx(Button, { size: "lg", isLoading: isUpdating, className: "my-4", variant: "primary", type: "submit", children: "Save Properties" }) }));
|
|
157
|
+
}
|
|
158
|
+
function Section({ children, title }) {
|
|
159
|
+
return (_jsxs("div", { className: "my-4", children: [_jsx("div", { className: "text-lg text-gray-700 font-semibold border-b border-b-gray-300 py-2 mb-4", children: title }), children] }));
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=EditCollectionView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditCollectionView.js","sourceRoot":"","sources":["../../../../../src/features/store/collections/EditCollectionView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/features/store/collections/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ImageRenditionFormat } from "@vertesia/common";
|
|
3
|
+
import { Button, Spinner, useToast } from "@vertesia/ui/core";
|
|
4
|
+
import { useNavigate } from "@vertesia/ui/router";
|
|
5
|
+
import { useUserSession } from "@vertesia/ui/session";
|
|
6
|
+
import { JSONDisplay } from "@vertesia/ui/widgets";
|
|
7
|
+
import { ChevronRight, Download, FileText, Info, LayoutGrid, Maximize2, X, } from "lucide-react";
|
|
8
|
+
import { useEffect, useState } from "react";
|
|
9
|
+
import Markdown from "react-markdown";
|
|
10
|
+
import remarkGfm from "remark-gfm";
|
|
11
|
+
export function DocumentPreviewPanel({ objectId, isOpen, onClose, }) {
|
|
12
|
+
const navigate = useNavigate();
|
|
13
|
+
const { client, store } = useUserSession();
|
|
14
|
+
const [object, setObject] = useState(null);
|
|
15
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
16
|
+
const [loadingText, setLoadingText] = useState(false);
|
|
17
|
+
const [text, setText] = useState();
|
|
18
|
+
const [imageUrl, setImageUrl] = useState();
|
|
19
|
+
const [currentTab, setCurrentTab] = useState("preview");
|
|
20
|
+
const toast = useToast();
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (objectId && isOpen) {
|
|
23
|
+
setIsLoading(true);
|
|
24
|
+
store.objects
|
|
25
|
+
.retrieve(objectId, "+embeddings")
|
|
26
|
+
.then((result) => {
|
|
27
|
+
setObject(result);
|
|
28
|
+
// If the object has text, use it
|
|
29
|
+
if (result.text) {
|
|
30
|
+
setText(result.text);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// Otherwise, fetch text
|
|
34
|
+
loadObjectText(result.id);
|
|
35
|
+
}
|
|
36
|
+
// If it's an image, load the image URL
|
|
37
|
+
const content = result.content;
|
|
38
|
+
const isImage = content &&
|
|
39
|
+
content.source &&
|
|
40
|
+
content.type &&
|
|
41
|
+
content.type.startsWith("image/");
|
|
42
|
+
if (isImage) {
|
|
43
|
+
loadImageUrl(result);
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
.catch((error) => {
|
|
47
|
+
console.error("Error loading object:", error);
|
|
48
|
+
toast({
|
|
49
|
+
title: "Error",
|
|
50
|
+
description: "Failed to load document",
|
|
51
|
+
status: "error",
|
|
52
|
+
duration: 3000,
|
|
53
|
+
});
|
|
54
|
+
})
|
|
55
|
+
.finally(() => {
|
|
56
|
+
setIsLoading(false);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// Reset state when panel closes
|
|
61
|
+
setObject(null);
|
|
62
|
+
setText(undefined);
|
|
63
|
+
setImageUrl(undefined);
|
|
64
|
+
}
|
|
65
|
+
}, [objectId, isOpen, store.objects]);
|
|
66
|
+
const loadObjectText = async (id) => {
|
|
67
|
+
setLoadingText(true);
|
|
68
|
+
try {
|
|
69
|
+
const result = await store.objects.getObjectText(id);
|
|
70
|
+
setText(result.text);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.error("Error loading text:", error);
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
setLoadingText(false);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const loadImageUrl = async (obj) => {
|
|
80
|
+
try {
|
|
81
|
+
// Try to get a rendition first
|
|
82
|
+
const rendition = await client.objects.getRendition(obj.id, {
|
|
83
|
+
max_hw: 1024,
|
|
84
|
+
format: ImageRenditionFormat.jpeg,
|
|
85
|
+
generate_if_missing: false,
|
|
86
|
+
});
|
|
87
|
+
// Don't use rendition object to avoid type issues
|
|
88
|
+
if (rendition.status === "found") {
|
|
89
|
+
console.log("Found rendition");
|
|
90
|
+
}
|
|
91
|
+
// Get download URL
|
|
92
|
+
const downloadUrlResult = await client.files.getDownloadUrl(obj.content.source);
|
|
93
|
+
setImageUrl(downloadUrlResult.url);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.error("Error loading image:", error);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const handleViewFullDocument = () => {
|
|
100
|
+
if (object) {
|
|
101
|
+
navigate(`/legal/objects/${object.id}`);
|
|
102
|
+
onClose();
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
const seemsMarkdown = text &&
|
|
106
|
+
(text.startsWith("#") || text.includes("\n#") || text.includes("\n*"));
|
|
107
|
+
const isImage = object?.content?.type && object.content.type.startsWith("image/");
|
|
108
|
+
const isPdf = object?.content?.type === "application/pdf";
|
|
109
|
+
if (!isOpen)
|
|
110
|
+
return null;
|
|
111
|
+
return (_jsxs("div", { className: `fixed inset-y-0 right-0 w-2/5 dark:bg-slate-900 shadow-xl z-50 flex flex-col transition-transform duration-300 transform ${isOpen ? "translate-x-0" : "translate-x-full"}`, children: [_jsxs("div", { className: "flex items-center justify-between px-4 py-3 border-b dark:border-gray-700 bg-gradient-to-r from-indigo-50 to-gray-50 dark:from-gray-800 dark:to-gray-900", children: [_jsxs("div", { className: "flex items-center", children: [_jsx(FileText, { className: "h-5 w-5 text-indigo-600 mr-2" }), _jsx("h2", { className: "text-lg font-semibold text-gray-800 dark:text-gray-200 truncate", children: isLoading
|
|
112
|
+
? "Loading document..."
|
|
113
|
+
: object?.name || "Document Preview" })] }), _jsxs("div", { className: "flex items-center space-x-2", children: [_jsxs(Button, { variant: "ghost", size: "sm", onClick: handleViewFullDocument, className: "flex items-center gap-1 text-indigo-600 hover:text-indigo-800", children: [_jsx(Maximize2, { className: "h-4 w-4" }), _jsx("span", { children: "Full View" })] }), _jsx(Button, { variant: "ghost", size: "sm", onClick: onClose, className: "flex items-center text-gray-600 hover:text-gray-800 dark:text-gray-300 dark:hover:text-gray-100", children: _jsx(X, { className: "h-5 w-5" }) })] })] }), isLoading ? (_jsx("div", { className: "flex-1 flex items-center justify-center", children: _jsxs("div", { className: "text-center", children: [_jsx(Spinner, { size: "lg", className: "text-indigo-600 dark:text-indigo-400 mb-2" }), _jsx("p", { className: "text-gray-600 dark:text-gray-400", children: "Loading document..." })] }) })) : (_jsxs("div", { className: "flex-1 flex flex-col h-full", children: [_jsx("div", { className: "border-b", children: _jsxs("div", { className: "flex px-4", children: [_jsx("button", { className: `py-2 px-4 font-medium border-b-2 ${currentTab === "preview"
|
|
114
|
+
? "border-indigo-600 text-indigo-700 dark:text-indigo-300"
|
|
115
|
+
: "border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"}`, onClick: () => setCurrentTab("preview"), children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(LayoutGrid, { className: "h-4 w-4" }), _jsx("span", { children: "Preview" })] }) }), _jsx("button", { className: `py-2 px-4 font-medium border-b-2 ${currentTab === "properties"
|
|
116
|
+
? "border-indigo-600 text-indigo-700 dark:text-indigo-300"
|
|
117
|
+
: "border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"}`, onClick: () => setCurrentTab("properties"), children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Info, { className: "h-4 w-4" }), _jsx("span", { children: "Properties" })] }) })] }) }), _jsxs("div", { className: "flex-1 overflow-auto p-4", children: [currentTab === "preview" && (_jsxs("div", { className: "h-full", children: [loadingText ? (_jsx("div", { className: "flex items-center justify-center h-40", children: _jsx(Spinner, { size: "md", className: "text-indigo-600 dark:text-indigo-400" }) })) : text ? (_jsx("div", { className: "shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800", children: seemsMarkdown ? (_jsx("div", { className: "prose prose-sm max-w-none prose-p:my-2 prose-pre:bg-gray-800 prose-pre:my-2 prose-headings:text-indigo-700 dark:prose-invert dark:prose-headings:text-indigo-300", children: _jsx(Markdown, { remarkPlugins: [remarkGfm], children: text }) })) : (_jsx("pre", { className: "text-wrap whitespace-pre-wrap dark:text-gray-200", children: text })) })) : null, isImage && (_jsx("div", { className: "mt-4", children: imageUrl ? (_jsx("div", { className: "border border-gray-200 dark:border-gray-700 rounded-md p-2 bg-white dark:bg-gray-800", children: _jsx("img", { src: imageUrl, alt: object?.name, className: "mx-auto max-h-[70vh] object-contain" }) })) : (_jsx("div", { className: "flex items-center justify-center h-40", children: _jsx(Spinner, { size: "md", className: "text-indigo-600 dark:text-indigo-400" }) })) })), isPdf && (_jsxs("div", { className: "flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800", children: [_jsx(FileText, { className: "h-16 w-16 text-indigo-300 dark:text-indigo-400 mb-4" }), _jsxs("p", { className: "text-gray-600 dark:text-gray-400 text-center mb-4", children: ["PDF document preview is available in full view. TODO", " "] }), _jsx(Button, { onClick: handleViewFullDocument, className: "bg-indigo-600 hover:bg-indigo-700 text-white", children: "Open Full Document View" })] })), !isImage && !text && !isPdf && !loadingText && (_jsxs("div", { className: "flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800", children: [_jsx(FileText, { className: "h-16 w-16 text-gray-300 dark:text-gray-600 mb-4" }), _jsx("p", { className: "text-gray-600 dark:text-gray-400 text-center", children: "No preview available for this document type." })] }))] })), currentTab === "properties" && object && (_jsxs("div", { className: "h-full", children: [object.properties ? (_jsx("div", { className: "shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800", children: _jsx(JSONDisplay, { value: object.properties }) })) : (_jsxs("div", { className: "flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800", children: [_jsx(Info, { className: "h-16 w-16 text-gray-300 dark:text-gray-600 mb-4" }), _jsx("p", { className: "text-gray-600 dark:text-gray-400 text-center", children: "No properties available for this document." })] })), _jsxs("div", { className: "mt-4", children: [_jsx("h3", { className: "text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2", children: "Document Information" }), _jsx("div", { className: "shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800", children: _jsxs("div", { className: "grid grid-cols-2 gap-y-2 gap-x-4 text-sm", children: [_jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "ID" }), _jsx("div", { className: "font-medium dark:text-gray-200", children: object.id }), _jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Type" }), _jsx("div", { className: "font-medium dark:text-gray-200", children: object.type?.name || "Unknown" }), _jsx("div", { className: "text-gray-500 dark:text-gray-400", children: "Content Type" }), _jsx("div", { className: "font-medium dark:text-gray-200", children: object.content?.type || "N/A" }), _jsx("div", { className: "text-gray-500", children: "Size" }), _jsx("div", { className: "font-medium", children: object.content && "size" in object.content
|
|
118
|
+
? formatFileSize(object.content.size)
|
|
119
|
+
: "Unknown" }), _jsx("div", { className: "text-gray-500", children: "Created" }), _jsx("div", { className: "font-medium", children: object.created_at
|
|
120
|
+
? new Date(object.created_at).toLocaleString()
|
|
121
|
+
: "N/A" }), _jsx("div", { className: "text-gray-500", children: "Updated" }), _jsx("div", { className: "font-medium", children: object.updated_at
|
|
122
|
+
? new Date(object.updated_at).toLocaleString()
|
|
123
|
+
: "N/A" })] }) })] })] }))] })] })), _jsxs("div", { className: "flex items-center justify-between p-4 border-t bg-gray-50 dark:bg-gray-800 dark:border-gray-700", children: [_jsx("div", { children: object?.content?.source && (_jsxs(Button, { onClick: () => {
|
|
124
|
+
if (object?.content?.source) {
|
|
125
|
+
client.files
|
|
126
|
+
.getDownloadUrl(object.content.source)
|
|
127
|
+
.then((result) => {
|
|
128
|
+
window.open(result.url, "_blank");
|
|
129
|
+
})
|
|
130
|
+
.catch((error) => {
|
|
131
|
+
console.error("Error getting download URL:", error);
|
|
132
|
+
toast({
|
|
133
|
+
title: "Error",
|
|
134
|
+
description: "Failed to download file",
|
|
135
|
+
status: "error",
|
|
136
|
+
duration: 3000,
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}, variant: "outline", className: "text-indigo-600 border-indigo-300 hover:bg-indigo-50", children: [_jsx(Download, { className: "h-4 w-4 mr-2" }), "Download"] })) }), _jsxs(Button, { onClick: handleViewFullDocument, className: "bg-indigo-600 hover:bg-indigo-700 text-white", children: ["Open Full Document", _jsx(ChevronRight, { className: "h-4 w-4 ml-2" })] })] })] }));
|
|
141
|
+
}
|
|
142
|
+
function formatFileSize(bytes) {
|
|
143
|
+
if (bytes === 0)
|
|
144
|
+
return "0 Bytes";
|
|
145
|
+
const k = 1024;
|
|
146
|
+
const sizes = ["Bytes", "KB", "MB", "GB", "TB"];
|
|
147
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
148
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + " " + sizes[i];
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=DocumentPreviewPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentPreviewPanel.js","sourceRoot":"","sources":["../../../../../src/features/store/objects/DocumentPreviewPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { Button, Divider, ErrorBox, SidePanel, Spinner, useDebounce, useIntersectionObserver, useToast } from '@vertesia/ui/core';
|
|
4
|
+
import { useNavigate } from "@vertesia/ui/router";
|
|
5
|
+
import { useUserSession } from '@vertesia/ui/session';
|
|
6
|
+
import { Download, RefreshCw, SquareArrowOutUpRight } from 'lucide-react';
|
|
7
|
+
import { VFacetsNav } from "../../facets";
|
|
8
|
+
import { VectorSearchWidget } from './components/VectorSearchWidget';
|
|
9
|
+
import { ContentDispositionButton, DocumentTable, useDocumentSearch, useDocumentUploadHandler, useWatchDocumentSearchFacets, useWatchDocumentSearchResult } from "../../store";
|
|
10
|
+
import { ContentOverview } from './components/ContentOverview';
|
|
11
|
+
import { useDownloadDocument } from './components/useDownloadObject';
|
|
12
|
+
const defaultLayout = [
|
|
13
|
+
{ name: "ID", field: "id", type: "string?slice=-7" },
|
|
14
|
+
{ name: "Name", field: ".", type: "objectLink" },
|
|
15
|
+
{ name: "Type", field: "type.name", type: "string" },
|
|
16
|
+
{ name: "Status", field: "status", type: "string" },
|
|
17
|
+
{ name: "Updated At", field: "updated_at", type: "date" },
|
|
18
|
+
];
|
|
19
|
+
function getTableLayout(registry, type) {
|
|
20
|
+
const layout = type ? registry.getTypeLayout(type) : defaultLayout;
|
|
21
|
+
return layout ?? defaultLayout;
|
|
22
|
+
}
|
|
23
|
+
export function DocumentSearchResultsWithDropZone({ onUploadDone = async () => { }, layout }) {
|
|
24
|
+
const search = useDocumentSearch();
|
|
25
|
+
const toast = useToast();
|
|
26
|
+
// Create a wrapper around the onUploadDone callback that also refreshes the search
|
|
27
|
+
const handleUploadDone = async (objectIds) => {
|
|
28
|
+
// First, call the original callback
|
|
29
|
+
await onUploadDone(objectIds);
|
|
30
|
+
// Use a timeout to let the backend catch up, then refresh the search results
|
|
31
|
+
setTimeout(() => {
|
|
32
|
+
console.log('Delayed refresh after upload to ensure backend consistency');
|
|
33
|
+
search.search().then(() => {
|
|
34
|
+
// Notify the user that the list has been refreshed
|
|
35
|
+
toast({
|
|
36
|
+
title: "Document list refreshed",
|
|
37
|
+
description: "The document list has been updated with your uploaded files.",
|
|
38
|
+
status: "info",
|
|
39
|
+
duration: 3000,
|
|
40
|
+
});
|
|
41
|
+
}).catch(err => {
|
|
42
|
+
console.error('Failed to refresh search results:', err);
|
|
43
|
+
});
|
|
44
|
+
}, 1000); // 1-second delay for backend processing
|
|
45
|
+
};
|
|
46
|
+
// Use the enhanced standard upload handler with smart processing
|
|
47
|
+
const uploadHandler = useDocumentUploadHandler(handleUploadDone);
|
|
48
|
+
// Wrap the uploadHandler to ensure the collectionId is passed
|
|
49
|
+
const wrappedUploadHandler = (files, type) => {
|
|
50
|
+
// Get the collection ID from the search context
|
|
51
|
+
const collectionId = search.collectionId;
|
|
52
|
+
return uploadHandler(files, type, collectionId);
|
|
53
|
+
};
|
|
54
|
+
return _jsx(DocumentSearchResults, { layout: layout, onUpload: wrappedUploadHandler });
|
|
55
|
+
}
|
|
56
|
+
export function DocumentSearchResults({ layout, onUpload, allowFilter = true, allowSearch = true }) {
|
|
57
|
+
// Get the search context to access collectionId
|
|
58
|
+
const searchContext = useDocumentSearch();
|
|
59
|
+
const [isReady, setIsReady] = useState(false);
|
|
60
|
+
const [selectedObject, setSelectedObject] = useState(null);
|
|
61
|
+
const { typeRegistry } = useUserSession();
|
|
62
|
+
const { search, isLoading, error, objects } = useWatchDocumentSearchResult();
|
|
63
|
+
const [vQuery, setVQuery] = useState(undefined);
|
|
64
|
+
const [actualLayout, setActualLayout] = useState(typeRegistry ? layout || getTableLayout(typeRegistry, search.query.type) : defaultLayout);
|
|
65
|
+
//TODO _setRefreshTrigger state not used
|
|
66
|
+
const [refreshTrigger, _setRefreshTrigger] = useState(0);
|
|
67
|
+
const [loaded, setLoaded] = useState(0);
|
|
68
|
+
const [isGridView, setIsGridView] = useState(localStorage.getItem(ContentDispositionButton.LAST_DISPLAYED_VIEW) === "grid");
|
|
69
|
+
const loadMoreRef = useRef(null);
|
|
70
|
+
useIntersectionObserver(loadMoreRef, () => {
|
|
71
|
+
if (isReady && objects.length > 0 && objects.length != loaded) {
|
|
72
|
+
setIsReady(false);
|
|
73
|
+
search.loadMore().finally(() => {
|
|
74
|
+
setLoaded(objects.length);
|
|
75
|
+
setIsReady(true);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}, { deps: [isReady, objects.length] });
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
search.search().then(() => setIsReady(true));
|
|
81
|
+
}, []);
|
|
82
|
+
//TODO _setSearchTerm state not used
|
|
83
|
+
const [searchTerm, _setSearchTerm] = useState("");
|
|
84
|
+
const debounceValue = useDebounce(searchTerm, 500);
|
|
85
|
+
useEffect(() => {
|
|
86
|
+
search.query.name = searchTerm;
|
|
87
|
+
search.search().then(() => setIsReady(true));
|
|
88
|
+
}, [debounceValue]);
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
if (vQuery) {
|
|
91
|
+
search.query.vector = vQuery;
|
|
92
|
+
if (!actualLayout.find((c) => c.name === "Vector Similarity")) {
|
|
93
|
+
const layout = [
|
|
94
|
+
...actualLayout,
|
|
95
|
+
{
|
|
96
|
+
name: "Vector Similarity",
|
|
97
|
+
field: "score",
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
setActualLayout(layout);
|
|
101
|
+
}
|
|
102
|
+
search.search().then(() => setIsReady(true));
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
delete search.query.vector;
|
|
106
|
+
search.search().then(() => setIsReady(true));
|
|
107
|
+
}
|
|
108
|
+
}, [vQuery?.values]);
|
|
109
|
+
const facets = useWatchDocumentSearchFacets();
|
|
110
|
+
const facetSearch = useDocumentSearch();
|
|
111
|
+
const handleRefetch = () => {
|
|
112
|
+
search.search().then(() => setIsReady(true));
|
|
113
|
+
};
|
|
114
|
+
return (_jsxs("div", { className: "flex flex-col gap-y-2", children: [_jsx(OverviewDrawer, { object: selectedObject, onClose: () => setSelectedObject(null) }), error && _jsx(ErrorBox, { title: "Error", children: error.message }), _jsxs("div", { className: "flex flex-row gap-4 items-center justify-between w-full", children: [allowSearch && _jsx(VectorSearchWidget, { onChange: setVQuery, isLoading: isLoading, refresh: refreshTrigger }), _jsxs("div", { className: "flex gap-1 items-center", children: [_jsx(Button, { variant: "outline", onClick: handleRefetch, alt: "Refresh", children: _jsx(RefreshCw, { size: 16 }) }), _jsx(ContentDispositionButton, { onUpdate: setIsGridView })] })] }), allowFilter && _jsx(VFacetsNav, { facets: facets, search: facetSearch, textSearch: "Name or ID" }), _jsx(DocumentTable, { objects: objects, isLoading: !objects.length && isLoading, layout: actualLayout, onRowClick: setSelectedObject, onUpload: onUpload, isGridView: isGridView, collectionId: searchContext.collectionId }), isLoading && _jsx("div", { className: 'flex justify-center', children: _jsx(Spinner, { size: 'xl' }) }), _jsx("div", { ref: loadMoreRef })] }));
|
|
115
|
+
}
|
|
116
|
+
function OverviewDrawer({ object, onClose }) {
|
|
117
|
+
const { store } = useUserSession();
|
|
118
|
+
const toast = useToast();
|
|
119
|
+
const navigate = useNavigate();
|
|
120
|
+
const onDownload = useDownloadDocument(store, toast, object?.content?.source);
|
|
121
|
+
return object ? (_jsxs(SidePanel, { title: object.properties?.title || object.name, isOpen: true, onClose: onClose, children: [_jsxs("div", { className: "flex items-center gap-x-2", children: [_jsx(Button, { variant: "ghost", size: "sm", title: "Open Object", onClick: () => navigate(`/objects/${object.id}`), children: _jsx(SquareArrowOutUpRight, { className: "size-4" }) }), object.content?.source && (_jsx(Button, { variant: "ghost", size: "sm", title: "Download", onClick: onDownload, children: _jsx(Download, { className: "size-4" }) }))] }), _jsx(Divider, { className: "my-2" }), _jsx("div", { className: "pt-2", children: _jsx(ContentOverview, { object: object, loadText: true }) })] })) : null;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=DocumentSearchResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentSearchResults.js","sourceRoot":"","sources":["../../../../../src/features/store/objects/DocumentSearchResults.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useEffect, useState } from "react";
|
|
3
|
+
export class DocumentSelection {
|
|
4
|
+
object;
|
|
5
|
+
objects;
|
|
6
|
+
setState;
|
|
7
|
+
/**
|
|
8
|
+
* The collection id to which the selected objects belong to.
|
|
9
|
+
*/
|
|
10
|
+
collectionId;
|
|
11
|
+
singleSelection = false;
|
|
12
|
+
constructor(object, collectionId, objects, setState) {
|
|
13
|
+
this.object = object;
|
|
14
|
+
this.objects = objects;
|
|
15
|
+
this.setState = setState;
|
|
16
|
+
this.singleSelection = Object.keys(this.objects).length === 0;
|
|
17
|
+
this.collectionId = collectionId;
|
|
18
|
+
}
|
|
19
|
+
isSingleSelection() {
|
|
20
|
+
return this.singleSelection;
|
|
21
|
+
}
|
|
22
|
+
hasSelection() {
|
|
23
|
+
return this.object !== undefined || this.size() !== 0;
|
|
24
|
+
}
|
|
25
|
+
size() {
|
|
26
|
+
return Object.keys(this.objects).length;
|
|
27
|
+
}
|
|
28
|
+
getObjectIds() {
|
|
29
|
+
return Object.keys(this.objects);
|
|
30
|
+
}
|
|
31
|
+
getObjectId() {
|
|
32
|
+
return this.object?.id;
|
|
33
|
+
}
|
|
34
|
+
clone() {
|
|
35
|
+
return new DocumentSelection(this.object, this.collectionId, this.objects, this.setState);
|
|
36
|
+
}
|
|
37
|
+
add(object) {
|
|
38
|
+
this.objects[object.id] = object;
|
|
39
|
+
this.singleSelection = Object.keys(this.objects).length === 0;
|
|
40
|
+
this.setState(this.clone());
|
|
41
|
+
}
|
|
42
|
+
remove(objectId) {
|
|
43
|
+
delete this.objects[objectId];
|
|
44
|
+
this.singleSelection = Object.keys(this.objects).length === 0;
|
|
45
|
+
this.setState(this.clone());
|
|
46
|
+
}
|
|
47
|
+
addAll(objects) {
|
|
48
|
+
for (const obj of objects) {
|
|
49
|
+
this.objects[obj.id] = obj;
|
|
50
|
+
}
|
|
51
|
+
this.setState(this.clone());
|
|
52
|
+
}
|
|
53
|
+
isSelected(objectId) {
|
|
54
|
+
return this.objects[objectId] !== undefined;
|
|
55
|
+
}
|
|
56
|
+
removeAll() {
|
|
57
|
+
this.objects = {};
|
|
58
|
+
this.singleSelection = true;
|
|
59
|
+
this.setState(this.clone());
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const DocumentSelectionContext = createContext(undefined);
|
|
63
|
+
export function useDocumentSelection() {
|
|
64
|
+
const selection = useContext(DocumentSelectionContext);
|
|
65
|
+
if (!selection) {
|
|
66
|
+
throw new Error("useObjectSelection must be used within a ObjectSelectionProvider");
|
|
67
|
+
}
|
|
68
|
+
return selection;
|
|
69
|
+
}
|
|
70
|
+
export function useOptionalDocumentSelection() {
|
|
71
|
+
return useContext(DocumentSelectionContext);
|
|
72
|
+
}
|
|
73
|
+
export function DocumentSelectionProvider({ value, collectionId, children }) {
|
|
74
|
+
const [selection, setSelection] = useState();
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
const selection = new DocumentSelection(value, collectionId, {}, setSelection);
|
|
77
|
+
setSelection(selection);
|
|
78
|
+
}, [value]);
|
|
79
|
+
return selection && (_jsx(DocumentSelectionContext.Provider, { value: selection, children: children }));
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=DocumentSelectionProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentSelectionProvider.js","sourceRoot":"","sources":["../../../../../src/features/store/objects/DocumentSelectionProvider.tsx"],"names":[],"mappings":"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"}
|