@vertesia/ui 0.24.0-dev.202601221707
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/LICENSE +13 -0
- package/README.md +105 -0
- package/lib/esm/core/components/Avatar.js +31 -0
- package/lib/esm/core/components/Avatar.js.map +1 -0
- package/lib/esm/core/components/Badge.js +62 -0
- package/lib/esm/core/components/Badge.js.map +1 -0
- package/lib/esm/core/components/Button.js +32 -0
- package/lib/esm/core/components/Button.js.map +1 -0
- package/lib/esm/core/components/Center.js +6 -0
- package/lib/esm/core/components/Center.js.map +1 -0
- package/lib/esm/core/components/ComboBox.js +356 -0
- package/lib/esm/core/components/ComboBox.js.map +1 -0
- package/lib/esm/core/components/ConfirmModal.js +10 -0
- package/lib/esm/core/components/ConfirmModal.js.map +1 -0
- package/lib/esm/core/components/DeleteModal.js +28 -0
- package/lib/esm/core/components/DeleteModal.js.map +1 -0
- package/lib/esm/core/components/Divider.js +6 -0
- package/lib/esm/core/components/Divider.js.map +1 -0
- package/lib/esm/core/components/Dropdown.js +16 -0
- package/lib/esm/core/components/Dropdown.js.map +1 -0
- package/lib/esm/core/components/DropdownList.js +9 -0
- package/lib/esm/core/components/DropdownList.js.map +1 -0
- package/lib/esm/core/components/EmptyCollection.js +7 -0
- package/lib/esm/core/components/EmptyCollection.js.map +1 -0
- package/lib/esm/core/components/FileUpload.js +119 -0
- package/lib/esm/core/components/FileUpload.js.map +1 -0
- 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 +61 -0
- package/lib/esm/core/components/InputList.js.map +1 -0
- package/lib/esm/core/components/Link.js +13 -0
- package/lib/esm/core/components/Link.js.map +1 -0
- package/lib/esm/core/components/MenuList.js +20 -0
- package/lib/esm/core/components/MenuList.js.map +1 -0
- package/lib/esm/core/components/MessageBox.js +66 -0
- package/lib/esm/core/components/MessageBox.js.map +1 -0
- package/lib/esm/core/components/Modal.js +26 -0
- package/lib/esm/core/components/Modal.js.map +1 -0
- package/lib/esm/core/components/NumberInput.js +43 -0
- package/lib/esm/core/components/NumberInput.js.map +1 -0
- package/lib/esm/core/components/Overlay.js +57 -0
- package/lib/esm/core/components/Overlay.js.map +1 -0
- package/lib/esm/core/components/Panel.js +8 -0
- package/lib/esm/core/components/Panel.js.map +1 -0
- package/lib/esm/core/components/Portal.js +28 -0
- package/lib/esm/core/components/Portal.js.map +1 -0
- package/lib/esm/core/components/RadioGroup.js +34 -0
- package/lib/esm/core/components/RadioGroup.js.map +1 -0
- package/lib/esm/core/components/SelectBox.js +67 -0
- package/lib/esm/core/components/SelectBox.js.map +1 -0
- package/lib/esm/core/components/SelectList.js +52 -0
- package/lib/esm/core/components/SelectList.js.map +1 -0
- package/lib/esm/core/components/SelectStack.js +8 -0
- package/lib/esm/core/components/SelectStack.js.map +1 -0
- package/lib/esm/core/components/SidePanel.js +33 -0
- package/lib/esm/core/components/SidePanel.js.map +1 -0
- package/lib/esm/core/components/Spinner.js +18 -0
- package/lib/esm/core/components/Spinner.js.map +1 -0
- package/lib/esm/core/components/Switch.js +12 -0
- package/lib/esm/core/components/Switch.js.map +1 -0
- package/lib/esm/core/components/TagsInput.js +194 -0
- package/lib/esm/core/components/TagsInput.js.map +1 -0
- package/lib/esm/core/components/index.js +36 -0
- package/lib/esm/core/components/index.js.map +1 -0
- package/lib/esm/core/components/libs/utils.js +6 -0
- package/lib/esm/core/components/libs/utils.js.map +1 -0
- package/lib/esm/core/components/libs/visuallyHidden.js +16 -0
- package/lib/esm/core/components/libs/visuallyHidden.js.map +1 -0
- package/lib/esm/core/components/popup/Popup.js +60 -0
- package/lib/esm/core/components/popup/Popup.js.map +1 -0
- package/lib/esm/core/components/popup/PopupController.js +149 -0
- package/lib/esm/core/components/popup/PopupController.js.map +1 -0
- package/lib/esm/core/components/popup/index.js +4 -0
- package/lib/esm/core/components/popup/index.js.map +1 -0
- package/lib/esm/core/components/popup/position.js +221 -0
- package/lib/esm/core/components/popup/position.js.map +1 -0
- package/lib/esm/core/components/popup/utils.js +74 -0
- package/lib/esm/core/components/popup/utils.js.map +1 -0
- package/lib/esm/core/components/shadcn/breadcrumb.js +51 -0
- package/lib/esm/core/components/shadcn/breadcrumb.js.map +1 -0
- package/lib/esm/core/components/shadcn/button.js +76 -0
- package/lib/esm/core/components/shadcn/button.js.map +1 -0
- package/lib/esm/core/components/shadcn/calendar.js +13 -0
- package/lib/esm/core/components/shadcn/calendar.js.map +1 -0
- package/lib/esm/core/components/shadcn/card.js +17 -0
- package/lib/esm/core/components/shadcn/card.js.map +1 -0
- package/lib/esm/core/components/shadcn/checkbox.js +9 -0
- package/lib/esm/core/components/shadcn/checkbox.js.map +1 -0
- package/lib/esm/core/components/shadcn/command.js +29 -0
- package/lib/esm/core/components/shadcn/command.js.map +1 -0
- package/lib/esm/core/components/shadcn/dialog.js +74 -0
- package/lib/esm/core/components/shadcn/dialog.js.map +1 -0
- 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/animateChangeInHeight.js +23 -0
- package/lib/esm/core/components/shadcn/filters/animateChangeInHeight.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +129 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +46 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js +23 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/TextCombobox.js +28 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/TextCombobox.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/comboBox.js +5 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/comboBox.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js +98 -0
- package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js +24 -0
- package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/filter/TextFilter.js +21 -0
- package/lib/esm/core/components/shadcn/filters/filter/TextFilter.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js +161 -0
- package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/filter-styles.js +88 -0
- package/lib/esm/core/components/shadcn/filters/filter-styles.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/filterBar.js +242 -0
- package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/filters.js +57 -0
- package/lib/esm/core/components/shadcn/filters/filters.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/index.js +6 -0
- package/lib/esm/core/components/shadcn/filters/index.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/types.js +10 -0
- package/lib/esm/core/components/shadcn/filters/types.js.map +1 -0
- package/lib/esm/core/components/shadcn/heading.js +17 -0
- package/lib/esm/core/components/shadcn/heading.js.map +1 -0
- package/lib/esm/core/components/shadcn/index.js +23 -0
- package/lib/esm/core/components/shadcn/index.js.map +1 -0
- package/lib/esm/core/components/shadcn/input.js +41 -0
- package/lib/esm/core/components/shadcn/input.js.map +1 -0
- package/lib/esm/core/components/shadcn/label.js +10 -0
- package/lib/esm/core/components/shadcn/label.js.map +1 -0
- package/lib/esm/core/components/shadcn/popover.js +50 -0
- package/lib/esm/core/components/shadcn/popover.js.map +1 -0
- package/lib/esm/core/components/shadcn/resizeable.js +15 -0
- package/lib/esm/core/components/shadcn/resizeable.js.map +1 -0
- package/lib/esm/core/components/shadcn/selectBox.js +152 -0
- package/lib/esm/core/components/shadcn/selectBox.js.map +1 -0
- package/lib/esm/core/components/shadcn/separator.js +8 -0
- package/lib/esm/core/components/shadcn/separator.js.map +1 -0
- package/lib/esm/core/components/shadcn/tabs.js +132 -0
- package/lib/esm/core/components/shadcn/tabs.js.map +1 -0
- package/lib/esm/core/components/shadcn/text.js +30 -0
- package/lib/esm/core/components/shadcn/text.js.map +1 -0
- package/lib/esm/core/components/shadcn/textarea.js +7 -0
- package/lib/esm/core/components/shadcn/textarea.js.map +1 -0
- package/lib/esm/core/components/shadcn/theme/ThemeProvider.js +39 -0
- package/lib/esm/core/components/shadcn/theme/ThemeProvider.js.map +1 -0
- package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +13 -0
- package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -0
- package/lib/esm/core/components/shadcn/tooltip.js +14 -0
- package/lib/esm/core/components/shadcn/tooltip.js.map +1 -0
- package/lib/esm/core/components/styles.js +10 -0
- package/lib/esm/core/components/styles.js.map +1 -0
- package/lib/esm/core/components/table/index.js +24 -0
- package/lib/esm/core/components/table/index.js.map +1 -0
- package/lib/esm/core/components/tabs/Tabs.js +78 -0
- package/lib/esm/core/components/tabs/Tabs.js.map +1 -0
- package/lib/esm/core/components/tabs/TabsContext.js +7 -0
- package/lib/esm/core/components/tabs/TabsContext.js.map +1 -0
- package/lib/esm/core/components/tabs/index.js +3 -0
- package/lib/esm/core/components/tabs/index.js.map +1 -0
- package/lib/esm/core/components/toast/NotificationPanel.js +43 -0
- package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -0
- package/lib/esm/core/components/toast/ToastContext.js +7 -0
- package/lib/esm/core/components/toast/ToastContext.js.map +1 -0
- package/lib/esm/core/components/toast/ToastProps.js +2 -0
- package/lib/esm/core/components/toast/ToastProps.js.map +1 -0
- package/lib/esm/core/components/toast/ToastProvider.js +13 -0
- package/lib/esm/core/components/toast/ToastProvider.js.map +1 -0
- package/lib/esm/core/components/toast/index.js +3 -0
- package/lib/esm/core/components/toast/index.js.map +1 -0
- package/lib/esm/core/hooks/CompositeState.js +256 -0
- package/lib/esm/core/hooks/CompositeState.js.map +1 -0
- package/lib/esm/core/hooks/PortalContainerProvider.js +44 -0
- package/lib/esm/core/hooks/PortalContainerProvider.js.map +1 -0
- package/lib/esm/core/hooks/SharedState.js +64 -0
- package/lib/esm/core/hooks/SharedState.js.map +1 -0
- package/lib/esm/core/hooks/index.js +16 -0
- package/lib/esm/core/hooks/index.js.map +1 -0
- package/lib/esm/core/hooks/useClickOutside.js +29 -0
- package/lib/esm/core/hooks/useClickOutside.js.map +1 -0
- package/lib/esm/core/hooks/useCopyToClipboard.js +23 -0
- package/lib/esm/core/hooks/useCopyToClipboard.js.map +1 -0
- package/lib/esm/core/hooks/useDarkMode.js +11 -0
- package/lib/esm/core/hooks/useDarkMode.js.map +1 -0
- package/lib/esm/core/hooks/useDebounce.js +14 -0
- package/lib/esm/core/hooks/useDebounce.js.map +1 -0
- package/lib/esm/core/hooks/useEventSource.js +31 -0
- package/lib/esm/core/hooks/useEventSource.js.map +1 -0
- package/lib/esm/core/hooks/useFetch.js +40 -0
- package/lib/esm/core/hooks/useFetch.js.map +1 -0
- package/lib/esm/core/hooks/useFlag.js +13 -0
- package/lib/esm/core/hooks/useFlag.js.map +1 -0
- package/lib/esm/core/hooks/useIntersectionObserver.js +34 -0
- package/lib/esm/core/hooks/useIntersectionObserver.js.map +1 -0
- package/lib/esm/core/hooks/useIsFistRendering.js +14 -0
- package/lib/esm/core/hooks/useIsFistRendering.js.map +1 -0
- package/lib/esm/core/hooks/useSafeLayoutEffect.js +4 -0
- package/lib/esm/core/hooks/useSafeLayoutEffect.js.map +1 -0
- package/lib/esm/core/hooks/useScrollableSearch.js +92 -0
- package/lib/esm/core/hooks/useScrollableSearch.js.map +1 -0
- package/lib/esm/core/hooks/useSharedValue.js +21 -0
- package/lib/esm/core/hooks/useSharedValue.js.map +1 -0
- package/lib/esm/core/index.js +4 -0
- package/lib/esm/core/index.js.map +1 -0
- 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/env/index.js +75 -0
- package/lib/esm/env/index.js.map +1 -0
- package/lib/esm/features/activity-doc/ActivityDoc.js +71 -0
- package/lib/esm/features/activity-doc/ActivityDoc.js.map +1 -0
- package/lib/esm/features/activity-doc/index.js +2 -0
- package/lib/esm/features/activity-doc/index.js.map +1 -0
- package/lib/esm/features/agent/PayloadBuilder.js +269 -0
- package/lib/esm/features/agent/PayloadBuilder.js.map +1 -0
- package/lib/esm/features/agent/chat/AgentChart.js +246 -0
- package/lib/esm/features/agent/chat/AgentChart.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/AskUserWidget.js +113 -0
- package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -0
- package/lib/esm/features/agent/chat/ImageLightbox.js +33 -0
- package/lib/esm/features/agent/chat/ImageLightbox.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 +888 -0
- package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +273 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +88 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +62 -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 +95 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +197 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +245 -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 +63 -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 +52 -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/StreamingMessage.js +214 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +302 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.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 +412 -0
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -0
- package/lib/esm/features/agent/chat/SkillWidgetProvider.js +90 -0
- package/lib/esm/features/agent/chat/SkillWidgetProvider.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/VegaLiteChart.js +778 -0
- package/lib/esm/features/agent/chat/VegaLiteChart.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 +17 -0
- package/lib/esm/features/agent/chat/index.js.map +1 -0
- package/lib/esm/features/agent/chat/useArtifactUrlCache.js +62 -0
- package/lib/esm/features/agent/chat/useArtifactUrlCache.js.map +1 -0
- package/lib/esm/features/agent/createChartTool.js +632 -0
- package/lib/esm/features/agent/createChartTool.js.map +1 -0
- package/lib/esm/features/agent/examples.js +295 -0
- package/lib/esm/features/agent/examples.js.map +1 -0
- package/lib/esm/features/agent/index.js +5 -0
- package/lib/esm/features/agent/index.js.map +1 -0
- package/lib/esm/features/agent/visualization.js +165 -0
- package/lib/esm/features/agent/visualization.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/CollectionsFacetsNav.js +89 -0
- package/lib/esm/features/facets/CollectionsFacetsNav.js.map +1 -0
- package/lib/esm/features/facets/DocumentsFacetsNav.js +147 -0
- package/lib/esm/features/facets/DocumentsFacetsNav.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/InteractionsFacetsNav.js +88 -0
- package/lib/esm/features/facets/InteractionsFacetsNav.js.map +1 -0
- package/lib/esm/features/facets/PromptsFacetsNav.js +80 -0
- package/lib/esm/features/facets/PromptsFacetsNav.js.map +1 -0
- package/lib/esm/features/facets/RunsFacetsNav.js +157 -0
- package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -0
- package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js +100 -0
- package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js.map +1 -0
- package/lib/esm/features/facets/index.js +15 -0
- package/lib/esm/features/facets/index.js.map +1 -0
- package/lib/esm/features/facets/utils/SearchInterface.js +2 -0
- package/lib/esm/features/facets/utils/SearchInterface.js.map +1 -0
- package/lib/esm/features/facets/utils/StringFacet.js +12 -0
- package/lib/esm/features/facets/utils/StringFacet.js.map +1 -0
- package/lib/esm/features/facets/utils/StringListFacet.js +11 -0
- package/lib/esm/features/facets/utils/StringListFacet.js.map +1 -0
- package/lib/esm/features/facets/utils/TypeFacet.js +42 -0
- package/lib/esm/features/facets/utils/TypeFacet.js.map +1 -0
- package/lib/esm/features/facets/utils/VEnvironmentFacet.js +25 -0
- package/lib/esm/features/facets/utils/VEnvironmentFacet.js.map +1 -0
- package/lib/esm/features/facets/utils/VInteractionFacet.js +45 -0
- package/lib/esm/features/facets/utils/VInteractionFacet.js.map +1 -0
- package/lib/esm/features/facets/utils/VStringFacet.js +20 -0
- package/lib/esm/features/facets/utils/VStringFacet.js.map +1 -0
- package/lib/esm/features/facets/utils/VTypeFacet.js +61 -0
- package/lib/esm/features/facets/utils/VTypeFacet.js.map +1 -0
- package/lib/esm/features/facets/utils/VUserFacet.js +31 -0
- package/lib/esm/features/facets/utils/VUserFacet.js.map +1 -0
- package/lib/esm/features/facets/utils/utils.js +7 -0
- package/lib/esm/features/facets/utils/utils.js.map +1 -0
- package/lib/esm/features/index.js +12 -0
- package/lib/esm/features/index.js.map +1 -0
- package/lib/esm/features/layout/GenericPageNavHeader.js +74 -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/AnnotatedImageSlider.js +268 -0
- package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -0
- package/lib/esm/features/magic-pdf/DownloadPopover.js +28 -0
- package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -0
- package/lib/esm/features/magic-pdf/ExtractedContentView.js +77 -0
- package/lib/esm/features/magic-pdf/ExtractedContentView.js.map +1 -0
- package/lib/esm/features/magic-pdf/MagicPdfProvider.js +242 -0
- package/lib/esm/features/magic-pdf/MagicPdfProvider.js.map +1 -0
- package/lib/esm/features/magic-pdf/MagicPdfView.js +61 -0
- package/lib/esm/features/magic-pdf/MagicPdfView.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/pdf-viewer/PdfPageRenderer.js +261 -0
- package/lib/esm/features/pdf-viewer/PdfPageRenderer.js.map +1 -0
- package/lib/esm/features/pdf-viewer/PdfPageSlider.js +276 -0
- package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -0
- package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +71 -0
- package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -0
- package/lib/esm/features/pdf-viewer/index.js +4 -0
- package/lib/esm/features/pdf-viewer/index.js.map +1 -0
- package/lib/esm/features/permissions/SecureButton.js +13 -0
- package/lib/esm/features/permissions/SecureButton.js.map +1 -0
- package/lib/esm/features/permissions/SecureSidebarItem.js +14 -0
- package/lib/esm/features/permissions/SecureSidebarItem.js.map +1 -0
- package/lib/esm/features/permissions/UserPermissionsProvider.js +87 -0
- package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -0
- package/lib/esm/features/permissions/helpers.js +12 -0
- package/lib/esm/features/permissions/helpers.js.map +1 -0
- package/lib/esm/features/permissions/index.js +5 -0
- package/lib/esm/features/permissions/index.js.map +1 -0
- package/lib/esm/features/store/collections/BrowseCollectionView.js +40 -0
- package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -0
- package/lib/esm/features/store/collections/CollectionsTable.js +64 -0
- package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -0
- package/lib/esm/features/store/collections/CreateCollection.js +87 -0
- package/lib/esm/features/store/collections/CreateCollection.js.map +1 -0
- package/lib/esm/features/store/collections/EditCollectionView.js +183 -0
- package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -0
- package/lib/esm/features/store/collections/SelectCollection.js +119 -0
- package/lib/esm/features/store/collections/SelectCollection.js.map +1 -0
- package/lib/esm/features/store/collections/SharedPropsEditor.js +39 -0
- package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -0
- package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +35 -0
- package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -0
- package/lib/esm/features/store/collections/index.js +8 -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 +147 -0
- package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -0
- package/lib/esm/features/store/objects/DocumentSearchResults.js +204 -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 +629 -0
- package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -0
- package/lib/esm/features/store/objects/components/DocumentIcon.js +33 -0
- package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -0
- package/lib/esm/features/store/objects/components/DocumentInput.js +51 -0
- package/lib/esm/features/store/objects/components/DocumentInput.js.map +1 -0
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +171 -0
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -0
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +53 -0
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -0
- package/lib/esm/features/store/objects/components/SelectDocument.js +55 -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 +90 -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/useContentPanelHooks.js +169 -0
- package/lib/esm/features/store/objects/components/useContentPanelHooks.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 +86 -0
- package/lib/esm/features/store/objects/layout/DocumentTableColumn.js.map +1 -0
- package/lib/esm/features/store/objects/layout/documentLayout.js +15 -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 +157 -0
- package/lib/esm/features/store/objects/layout/renderers.js.map +1 -0
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js +175 -0
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -0
- package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +39 -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 +150 -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 +69 -0
- package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -0
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +81 -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 +84 -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 +519 -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 +195 -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/ContentObjectTypesSearch.js +81 -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/CreateOrUpdateTypeModal.js +26 -0
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -0
- package/lib/esm/features/store/types/ObjectSchemaEditor.js +103 -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 +9 -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 +121 -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 +6 -0
- package/lib/esm/features/utils/index.js.map +1 -0
- package/lib/esm/features/utils/mimeType.js +17 -0
- package/lib/esm/features/utils/mimeType.js.map +1 -0
- package/lib/esm/features/utils/print.js +181 -0
- package/lib/esm/features/utils/print.js.map +1 -0
- package/lib/esm/features/utils/rendition.js +67 -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/features/utils/workflowStatus.js +43 -0
- package/lib/esm/features/utils/workflowStatus.js.map +1 -0
- package/lib/esm/layout/AppLayout.js +46 -0
- package/lib/esm/layout/AppLayout.js.map +1 -0
- package/lib/esm/layout/FullHeightLayout.js +18 -0
- package/lib/esm/layout/FullHeightLayout.js.map +1 -0
- package/lib/esm/layout/Navbar.js +40 -0
- package/lib/esm/layout/Navbar.js.map +1 -0
- package/lib/esm/layout/Sidebar.js +45 -0
- package/lib/esm/layout/Sidebar.js.map +1 -0
- package/lib/esm/layout/SidebarContext.js +10 -0
- package/lib/esm/layout/SidebarContext.js.map +1 -0
- package/lib/esm/layout/TitleBar.js +5 -0
- package/lib/esm/layout/TitleBar.js.map +1 -0
- package/lib/esm/layout/index.js +7 -0
- package/lib/esm/layout/index.js.map +1 -0
- package/lib/esm/router/FixLinks.js +23 -0
- package/lib/esm/router/FixLinks.js.map +1 -0
- package/lib/esm/router/HistoryNavigator.js +192 -0
- package/lib/esm/router/HistoryNavigator.js.map +1 -0
- package/lib/esm/router/Nav.js +26 -0
- package/lib/esm/router/Nav.js.map +1 -0
- package/lib/esm/router/NestedNavigationContext.js +19 -0
- package/lib/esm/router/NestedNavigationContext.js.map +1 -0
- package/lib/esm/router/NestedRouterProvider.js +44 -0
- package/lib/esm/router/NestedRouterProvider.js.map +1 -0
- package/lib/esm/router/PathMatcher.js +159 -0
- package/lib/esm/router/PathMatcher.js.map +1 -0
- package/lib/esm/router/PathWithParams.js +34 -0
- package/lib/esm/router/PathWithParams.js.map +1 -0
- package/lib/esm/router/Route404.js +18 -0
- package/lib/esm/router/Route404.js.map +1 -0
- package/lib/esm/router/RouteComponent.js +32 -0
- package/lib/esm/router/RouteComponent.js.map +1 -0
- package/lib/esm/router/Router.js +161 -0
- package/lib/esm/router/Router.js.map +1 -0
- package/lib/esm/router/RouterProvider.js +41 -0
- package/lib/esm/router/RouterProvider.js.map +1 -0
- package/lib/esm/router/index.js +11 -0
- package/lib/esm/router/index.js.map +1 -0
- package/lib/esm/router/path.js +140 -0
- package/lib/esm/router/path.js.map +1 -0
- package/lib/esm/session/TypeRegistry.js +24 -0
- package/lib/esm/session/TypeRegistry.js.map +1 -0
- package/lib/esm/session/UserSession.js +192 -0
- package/lib/esm/session/UserSession.js.map +1 -0
- package/lib/esm/session/UserSessionProvider.js +179 -0
- package/lib/esm/session/UserSessionProvider.js.map +1 -0
- package/lib/esm/session/auth/composable.js +255 -0
- package/lib/esm/session/auth/composable.js.map +1 -0
- package/lib/esm/session/auth/firebase.js +158 -0
- package/lib/esm/session/auth/firebase.js.map +1 -0
- package/lib/esm/session/auth/useAuthState.js +46 -0
- package/lib/esm/session/auth/useAuthState.js.map +1 -0
- package/lib/esm/session/auth/useCurrentTenant.js +63 -0
- package/lib/esm/session/auth/useCurrentTenant.js.map +1 -0
- package/lib/esm/session/constants.js +3 -0
- package/lib/esm/session/constants.js.map +1 -0
- package/lib/esm/session/index.js +9 -0
- package/lib/esm/session/index.js.map +1 -0
- package/lib/esm/session/useUXTracking.js +29 -0
- package/lib/esm/session/useUXTracking.js.map +1 -0
- package/lib/esm/shell/SplashScreen.js +26 -0
- package/lib/esm/shell/SplashScreen.js.map +1 -0
- package/lib/esm/shell/VertesiaShell.js +10 -0
- package/lib/esm/shell/VertesiaShell.js.map +1 -0
- package/lib/esm/shell/apps/AppInstallationProvider.js +13 -0
- package/lib/esm/shell/apps/AppInstallationProvider.js.map +1 -0
- package/lib/esm/shell/apps/AppProjectSelector.js +36 -0
- package/lib/esm/shell/apps/AppProjectSelector.js.map +1 -0
- package/lib/esm/shell/apps/StandaloneApp.js +87 -0
- package/lib/esm/shell/apps/StandaloneApp.js.map +1 -0
- package/lib/esm/shell/apps/index.js +4 -0
- package/lib/esm/shell/apps/index.js.map +1 -0
- package/lib/esm/shell/index.js +8 -0
- package/lib/esm/shell/index.js.map +1 -0
- package/lib/esm/shell/login/EnterpriseSigninButton.js +84 -0
- package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -0
- package/lib/esm/shell/login/GitHubSignInButton.js +24 -0
- package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -0
- package/lib/esm/shell/login/GoogleSignInButton.js +25 -0
- package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -0
- package/lib/esm/shell/login/InviteAcceptModal.js +62 -0
- package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -0
- package/lib/esm/shell/login/MicrosoftSigninButton.js +19 -0
- package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -0
- package/lib/esm/shell/login/PreviewIcon.js +23 -0
- package/lib/esm/shell/login/PreviewIcon.js.map +1 -0
- package/lib/esm/shell/login/SignInModal.js +9 -0
- package/lib/esm/shell/login/SignInModal.js.map +1 -0
- package/lib/esm/shell/login/SigninScreen.js +64 -0
- package/lib/esm/shell/login/SigninScreen.js.map +1 -0
- package/lib/esm/shell/login/SignupForm.js +91 -0
- package/lib/esm/shell/login/SignupForm.js.map +1 -0
- package/lib/esm/shell/login/TerminalLogin.js +208 -0
- package/lib/esm/shell/login/TerminalLogin.js.map +1 -0
- package/lib/esm/shell/login/UserInfo.js +41 -0
- package/lib/esm/shell/login/UserInfo.js.map +1 -0
- package/lib/esm/shell/login/UserSessionMenu.js +37 -0
- package/lib/esm/shell/login/UserSessionMenu.js.map +1 -0
- package/lib/esm/shell/utils.js +6 -0
- package/lib/esm/shell/utils.js.map +1 -0
- package/lib/esm/widgets/Progress.js +5 -0
- package/lib/esm/widgets/Progress.js.map +1 -0
- package/lib/esm/widgets/SvgIcon.js +36 -0
- package/lib/esm/widgets/SvgIcon.js.map +1 -0
- package/lib/esm/widgets/codemirror/CodeMirrorEditor.js +103 -0
- package/lib/esm/widgets/codemirror/CodeMirrorEditor.js.map +1 -0
- package/lib/esm/widgets/codemirror/CodemirrorStateSingleton.js +33 -0
- package/lib/esm/widgets/codemirror/CodemirrorStateSingleton.js.map +1 -0
- package/lib/esm/widgets/codemirror/MonacoEditor.js +128 -0
- package/lib/esm/widgets/codemirror/MonacoEditor.js.map +1 -0
- package/lib/esm/widgets/codemirror/index.js +3 -0
- package/lib/esm/widgets/codemirror/index.js.map +1 -0
- package/lib/esm/widgets/form/Form.js +100 -0
- package/lib/esm/widgets/form/Form.js.map +1 -0
- package/lib/esm/widgets/form/FormContext.js +31 -0
- package/lib/esm/widgets/form/FormContext.js.map +1 -0
- package/lib/esm/widgets/form/ManagedObject.js +287 -0
- package/lib/esm/widgets/form/ManagedObject.js.map +1 -0
- package/lib/esm/widgets/form/fields.js +12 -0
- package/lib/esm/widgets/form/fields.js.map +1 -0
- package/lib/esm/widgets/form/index.js +7 -0
- package/lib/esm/widgets/form/index.js.map +1 -0
- package/lib/esm/widgets/form/inputs.js +38 -0
- package/lib/esm/widgets/form/inputs.js.map +1 -0
- package/lib/esm/widgets/form/schema.js +197 -0
- package/lib/esm/widgets/form/schema.js.map +1 -0
- package/lib/esm/widgets/index.js +12 -0
- package/lib/esm/widgets/index.js.map +1 -0
- package/lib/esm/widgets/json-view/JSONCode.js +157 -0
- package/lib/esm/widgets/json-view/JSONCode.js.map +1 -0
- package/lib/esm/widgets/json-view/JSONDisplay.js +10 -0
- package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -0
- package/lib/esm/widgets/json-view/JSONView.js +106 -0
- package/lib/esm/widgets/json-view/JSONView.js.map +1 -0
- package/lib/esm/widgets/json-view/index.js +4 -0
- package/lib/esm/widgets/json-view/index.js.map +1 -0
- package/lib/esm/widgets/json-view/types.js +2 -0
- package/lib/esm/widgets/json-view/types.js.map +1 -0
- package/lib/esm/widgets/markdown/CodeBlockRendering.js +38 -0
- package/lib/esm/widgets/markdown/CodeBlockRendering.js.map +1 -0
- package/lib/esm/widgets/markdown/MarkdownRenderer.js +424 -0
- package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -0
- package/lib/esm/widgets/markdown/MermaidDiagram.js +71 -0
- package/lib/esm/widgets/markdown/MermaidDiagram.js.map +1 -0
- package/lib/esm/widgets/markdown/index.js +3 -0
- package/lib/esm/widgets/markdown/index.js.map +1 -0
- 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 +8 -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/ManagedSchema.js +300 -0
- package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -0
- package/lib/esm/widgets/schema-editor/editor/Editable.js +110 -0
- package/lib/esm/widgets/schema-editor/editor/Editable.js.map +1 -0
- package/lib/esm/widgets/schema-editor/editor/EditableSchemaProperty.js +8 -0
- package/lib/esm/widgets/schema-editor/editor/EditableSchemaProperty.js.map +1 -0
- package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +81 -0
- package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -0
- package/lib/esm/widgets/schema-editor/editor/PropertyViewer.js +7 -0
- package/lib/esm/widgets/schema-editor/editor/PropertyViewer.js.map +1 -0
- package/lib/esm/widgets/schema-editor/editor/SchemaContext.js +9 -0
- package/lib/esm/widgets/schema-editor/editor/SchemaContext.js.map +1 -0
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +84 -0
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -0
- package/lib/esm/widgets/schema-editor/index.js +7 -0
- package/lib/esm/widgets/schema-editor/index.js.map +1 -0
- package/lib/esm/widgets/schema-editor/json-schema4-utils.js +188 -0
- package/lib/esm/widgets/schema-editor/json-schema4-utils.js.map +1 -0
- package/lib/esm/widgets/schema-editor/type-signature.js +30 -0
- package/lib/esm/widgets/schema-editor/type-signature.js.map +1 -0
- package/lib/esm/widgets/upload/DropZone.js +175 -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/esm/widgets/xml-viewer/components/Attributes/index.js +11 -0
- package/lib/esm/widgets/xml-viewer/components/Attributes/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/CDataTag/index.js +8 -0
- package/lib/esm/widgets/xml-viewer/components/CDataTag/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/CollapseIcon/index.js +11 -0
- package/lib/esm/widgets/xml-viewer/components/CollapseIcon/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/CommentTag/index.js +11 -0
- package/lib/esm/widgets/xml-viewer/components/CommentTag/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/DeclarationTag/index.js +9 -0
- package/lib/esm/widgets/xml-viewer/components/DeclarationTag/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/Elements/index.js +36 -0
- package/lib/esm/widgets/xml-viewer/components/Elements/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/InvalidXml/index.js +5 -0
- package/lib/esm/widgets/xml-viewer/components/InvalidXml/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/Tag/index.js +13 -0
- package/lib/esm/widgets/xml-viewer/components/Tag/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/TextElement/index.js +13 -0
- package/lib/esm/widgets/xml-viewer/components/TextElement/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/XMLViewer.js +39 -0
- package/lib/esm/widgets/xml-viewer/components/XMLViewer.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/components/types.js +2 -0
- package/lib/esm/widgets/xml-viewer/components/types.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/constants/index.js +27 -0
- package/lib/esm/widgets/xml-viewer/constants/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/context/xml-viewer-context.js +10 -0
- package/lib/esm/widgets/xml-viewer/context/xml-viewer-context.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/helpers/index.js +40 -0
- package/lib/esm/widgets/xml-viewer/helpers/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/hooks/useCollapsible.js +22 -0
- package/lib/esm/widgets/xml-viewer/hooks/useCollapsible.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/hooks/useXMLViewer.js +31 -0
- package/lib/esm/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/index.js +3 -0
- package/lib/esm/widgets/xml-viewer/index.js.map +1 -0
- package/lib/esm/widgets/xml-viewer/types/index.js +2 -0
- package/lib/esm/widgets/xml-viewer/types/index.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/core/components/Avatar.d.ts +16 -0
- package/lib/types/core/components/Avatar.d.ts.map +1 -0
- package/lib/types/core/components/Badge.d.ts +21 -0
- package/lib/types/core/components/Badge.d.ts.map +1 -0
- package/lib/types/core/components/Button.d.ts +14 -0
- package/lib/types/core/components/Button.d.ts.map +1 -0
- package/lib/types/core/components/Center.d.ts +8 -0
- package/lib/types/core/components/Center.d.ts.map +1 -0
- package/lib/types/core/components/ComboBox.d.ts +124 -0
- package/lib/types/core/components/ComboBox.d.ts.map +1 -0
- package/lib/types/core/components/ConfirmModal.d.ts +11 -0
- package/lib/types/core/components/ConfirmModal.d.ts.map +1 -0
- package/lib/types/core/components/DeleteModal.d.ts +11 -0
- package/lib/types/core/components/DeleteModal.d.ts.map +1 -0
- package/lib/types/core/components/Divider.d.ts +6 -0
- package/lib/types/core/components/Divider.d.ts.map +1 -0
- package/lib/types/core/components/Dropdown.d.ts +15 -0
- package/lib/types/core/components/Dropdown.d.ts.map +1 -0
- package/lib/types/core/components/DropdownList.d.ts +13 -0
- package/lib/types/core/components/DropdownList.d.ts.map +1 -0
- package/lib/types/core/components/EmptyCollection.d.ts +9 -0
- package/lib/types/core/components/EmptyCollection.d.ts.map +1 -0
- package/lib/types/core/components/FileUpload.d.ts +29 -0
- package/lib/types/core/components/FileUpload.d.ts.map +1 -0
- package/lib/types/core/components/FormItem.d.ts +13 -0
- package/lib/types/core/components/FormItem.d.ts.map +1 -0
- package/lib/types/core/components/InputList.d.ts +12 -0
- package/lib/types/core/components/InputList.d.ts.map +1 -0
- package/lib/types/core/components/Link.d.ts +7 -0
- package/lib/types/core/components/Link.d.ts.map +1 -0
- package/lib/types/core/components/MenuList.d.ts +14 -0
- package/lib/types/core/components/MenuList.d.ts.map +1 -0
- package/lib/types/core/components/MessageBox.d.ts +36 -0
- package/lib/types/core/components/MessageBox.d.ts.map +1 -0
- package/lib/types/core/components/Modal.d.ts +30 -0
- package/lib/types/core/components/Modal.d.ts.map +1 -0
- package/lib/types/core/components/NumberInput.d.ts +16 -0
- package/lib/types/core/components/NumberInput.d.ts.map +1 -0
- package/lib/types/core/components/Overlay.d.ts +25 -0
- package/lib/types/core/components/Overlay.d.ts.map +1 -0
- package/lib/types/core/components/Panel.d.ts +11 -0
- package/lib/types/core/components/Panel.d.ts.map +1 -0
- package/lib/types/core/components/Portal.d.ts +6 -0
- package/lib/types/core/components/Portal.d.ts.map +1 -0
- package/lib/types/core/components/RadioGroup.d.ts +26 -0
- package/lib/types/core/components/RadioGroup.d.ts.map +1 -0
- package/lib/types/core/components/SelectBox.d.ts +36 -0
- package/lib/types/core/components/SelectBox.d.ts.map +1 -0
- package/lib/types/core/components/SelectList.d.ts +19 -0
- package/lib/types/core/components/SelectList.d.ts.map +1 -0
- package/lib/types/core/components/SelectStack.d.ts +13 -0
- package/lib/types/core/components/SelectStack.d.ts.map +1 -0
- package/lib/types/core/components/SidePanel.d.ts +11 -0
- package/lib/types/core/components/SidePanel.d.ts.map +1 -0
- package/lib/types/core/components/Spinner.d.ts +7 -0
- package/lib/types/core/components/Spinner.d.ts.map +1 -0
- package/lib/types/core/components/Switch.d.ts +11 -0
- package/lib/types/core/components/Switch.d.ts.map +1 -0
- package/lib/types/core/components/TagsInput.d.ts +16 -0
- package/lib/types/core/components/TagsInput.d.ts.map +1 -0
- package/lib/types/core/components/index.d.ts +40 -0
- package/lib/types/core/components/index.d.ts.map +1 -0
- package/lib/types/core/components/libs/utils.d.ts +3 -0
- package/lib/types/core/components/libs/utils.d.ts.map +1 -0
- package/lib/types/core/components/libs/visuallyHidden.d.ts +7 -0
- package/lib/types/core/components/libs/visuallyHidden.d.ts.map +1 -0
- package/lib/types/core/components/popup/Popup.d.ts +26 -0
- package/lib/types/core/components/popup/Popup.d.ts.map +1 -0
- package/lib/types/core/components/popup/PopupController.d.ts +41 -0
- package/lib/types/core/components/popup/PopupController.d.ts.map +1 -0
- package/lib/types/core/components/popup/index.d.ts +4 -0
- package/lib/types/core/components/popup/index.d.ts.map +1 -0
- package/lib/types/core/components/popup/position.d.ts +59 -0
- package/lib/types/core/components/popup/position.d.ts.map +1 -0
- package/lib/types/core/components/popup/utils.d.ts +30 -0
- package/lib/types/core/components/popup/utils.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/breadcrumb.d.ts +15 -0
- package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/button.d.ts +27 -0
- package/lib/types/core/components/shadcn/button.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/calendar.d.ts +11 -0
- package/lib/types/core/components/shadcn/calendar.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/card.d.ts +9 -0
- package/lib/types/core/components/shadcn/card.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/checkbox.d.ts +5 -0
- package/lib/types/core/components/shadcn/checkbox.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/command.d.ts +17 -0
- package/lib/types/core/components/shadcn/command.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/dialog.d.ts +38 -0
- package/lib/types/core/components/shadcn/dialog.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/DynamicLabel.d.ts +9 -0
- package/lib/types/core/components/shadcn/filters/DynamicLabel.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/animateChangeInHeight.d.ts +7 -0
- package/lib/types/core/components/shadcn/filters/animateChangeInHeight.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts +6 -0
- package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts +9 -0
- package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/comboBox/StringListCombobox.d.ts +6 -0
- package/lib/types/core/components/shadcn/filters/comboBox/StringListCombobox.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/comboBox/TextCombobox.d.ts +6 -0
- package/lib/types/core/components/shadcn/filters/comboBox/TextCombobox.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/comboBox/comboBox.d.ts +5 -0
- package/lib/types/core/components/shadcn/filters/comboBox/comboBox.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/filter/SelectFilter.d.ts +12 -0
- package/lib/types/core/components/shadcn/filters/filter/SelectFilter.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/filter/StringListFilter.d.ts +11 -0
- package/lib/types/core/components/shadcn/filters/filter/StringListFilter.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/filter/TextFilter.d.ts +13 -0
- package/lib/types/core/components/shadcn/filters/filter/TextFilter.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts +14 -0
- package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/filter-styles.d.ts +2 -0
- package/lib/types/core/components/shadcn/filters/filter-styles.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/filterBar.d.ts +20 -0
- package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/filters.d.ts +10 -0
- package/lib/types/core/components/shadcn/filters/filters.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/index.d.ts +6 -0
- package/lib/types/core/components/shadcn/filters/index.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/types.d.ts +35 -0
- package/lib/types/core/components/shadcn/filters/types.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/heading.d.ts +6 -0
- package/lib/types/core/components/shadcn/heading.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/index.d.ts +23 -0
- package/lib/types/core/components/shadcn/index.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/input.d.ts +17 -0
- package/lib/types/core/components/shadcn/input.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/label.d.ts +10 -0
- package/lib/types/core/components/shadcn/label.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/popover.d.ts +24 -0
- package/lib/types/core/components/shadcn/popover.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/resizeable.d.ts +9 -0
- package/lib/types/core/components/shadcn/resizeable.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/selectBox.d.ts +36 -0
- package/lib/types/core/components/shadcn/selectBox.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/separator.d.ts +6 -0
- package/lib/types/core/components/shadcn/separator.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/tabs.d.ts +36 -0
- package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/text.d.ts +11 -0
- package/lib/types/core/components/shadcn/text.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/textarea.d.ts +4 -0
- package/lib/types/core/components/shadcn/textarea.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/theme/ThemeProvider.d.ts +15 -0
- package/lib/types/core/components/shadcn/theme/ThemeProvider.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +10 -0
- package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/tooltip.d.ts +21 -0
- package/lib/types/core/components/shadcn/tooltip.d.ts.map +1 -0
- package/lib/types/core/components/styles.d.ts +7 -0
- package/lib/types/core/components/styles.d.ts.map +1 -0
- package/lib/types/core/components/table/index.d.ts +19 -0
- package/lib/types/core/components/table/index.d.ts.map +1 -0
- package/lib/types/core/components/tabs/Tabs.d.ts +25 -0
- package/lib/types/core/components/tabs/Tabs.d.ts.map +1 -0
- package/lib/types/core/components/tabs/TabsContext.d.ts +17 -0
- package/lib/types/core/components/tabs/TabsContext.d.ts.map +1 -0
- package/lib/types/core/components/tabs/index.d.ts +3 -0
- package/lib/types/core/components/tabs/index.d.ts.map +1 -0
- package/lib/types/core/components/toast/NotificationPanel.d.ts +8 -0
- package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -0
- package/lib/types/core/components/toast/ToastContext.d.ts +6 -0
- package/lib/types/core/components/toast/ToastContext.d.ts.map +1 -0
- package/lib/types/core/components/toast/ToastProps.d.ts +7 -0
- package/lib/types/core/components/toast/ToastProps.d.ts.map +1 -0
- package/lib/types/core/components/toast/ToastProvider.d.ts +6 -0
- package/lib/types/core/components/toast/ToastProvider.d.ts.map +1 -0
- package/lib/types/core/components/toast/index.d.ts +3 -0
- package/lib/types/core/components/toast/index.d.ts.map +1 -0
- package/lib/types/core/hooks/CompositeState.d.ts +137 -0
- package/lib/types/core/hooks/CompositeState.d.ts.map +1 -0
- package/lib/types/core/hooks/PortalContainerProvider.d.ts +7 -0
- package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +1 -0
- package/lib/types/core/hooks/SharedState.d.ts +10 -0
- package/lib/types/core/hooks/SharedState.d.ts.map +1 -0
- package/lib/types/core/hooks/index.d.ts +16 -0
- package/lib/types/core/hooks/index.d.ts.map +1 -0
- package/lib/types/core/hooks/useClickOutside.d.ts +8 -0
- package/lib/types/core/hooks/useClickOutside.d.ts.map +1 -0
- package/lib/types/core/hooks/useCopyToClipboard.d.ts +5 -0
- package/lib/types/core/hooks/useCopyToClipboard.d.ts.map +1 -0
- package/lib/types/core/hooks/useDarkMode.d.ts +2 -0
- package/lib/types/core/hooks/useDarkMode.d.ts.map +1 -0
- package/lib/types/core/hooks/useDebounce.d.ts +2 -0
- package/lib/types/core/hooks/useDebounce.d.ts.map +1 -0
- package/lib/types/core/hooks/useEventSource.d.ts +2 -0
- package/lib/types/core/hooks/useEventSource.d.ts.map +1 -0
- package/lib/types/core/hooks/useFetch.d.ts +24 -0
- package/lib/types/core/hooks/useFetch.d.ts.map +1 -0
- package/lib/types/core/hooks/useFlag.d.ts +9 -0
- package/lib/types/core/hooks/useFlag.d.ts.map +1 -0
- package/lib/types/core/hooks/useIntersectionObserver.d.ts +14 -0
- package/lib/types/core/hooks/useIntersectionObserver.d.ts.map +1 -0
- package/lib/types/core/hooks/useIsFistRendering.d.ts +2 -0
- package/lib/types/core/hooks/useIsFistRendering.d.ts.map +1 -0
- package/lib/types/core/hooks/useSafeLayoutEffect.d.ts +4 -0
- package/lib/types/core/hooks/useSafeLayoutEffect.d.ts.map +1 -0
- package/lib/types/core/hooks/useScrollableSearch.d.ts +82 -0
- package/lib/types/core/hooks/useScrollableSearch.d.ts.map +1 -0
- package/lib/types/core/hooks/useSharedValue.d.ts +12 -0
- package/lib/types/core/hooks/useSharedValue.d.ts.map +1 -0
- package/lib/types/core/index.d.ts +4 -0
- package/lib/types/core/index.d.ts.map +1 -0
- package/lib/types/core/utils/cn.d.ts +3 -0
- package/lib/types/core/utils/cn.d.ts.map +1 -0
- package/lib/types/core/utils/index.d.ts +2 -0
- package/lib/types/core/utils/index.d.ts.map +1 -0
- package/lib/types/env/index.d.ts +76 -0
- package/lib/types/env/index.d.ts.map +1 -0
- package/lib/types/features/activity-doc/ActivityDoc.d.ts +14 -0
- package/lib/types/features/activity-doc/ActivityDoc.d.ts.map +1 -0
- package/lib/types/features/activity-doc/index.d.ts +2 -0
- package/lib/types/features/activity-doc/index.d.ts.map +1 -0
- package/lib/types/features/agent/PayloadBuilder.d.ts +68 -0
- package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -0
- package/lib/types/features/agent/chat/AgentChart.d.ts +75 -0
- package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -0
- package/lib/types/features/agent/chat/AnimatedThinkingDots.d.ts +38 -0
- package/lib/types/features/agent/chat/AnimatedThinkingDots.d.ts.map +1 -0
- package/lib/types/features/agent/chat/AskUserWidget.d.ts +84 -0
- package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ImageLightbox.d.ts +18 -0
- package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -0
- package/lib/types/features/agent/chat/JumpingDots.d.ts +7 -0
- package/lib/types/features/agent/chat/JumpingDots.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +56 -0
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +29 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts +10 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +25 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.d.ts +11 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +18 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +61 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +30 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessagesContainer.d.ts +15 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/MessagesContainer.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts +9 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlideInPanel.d.ts +11 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlideInPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts +8 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts +10 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/StackedMessages.d.ts +8 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/StackedMessages.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +26 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +12 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts +22 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +107 -0
- package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -0
- package/lib/types/features/agent/chat/SkillWidgetProvider.d.ts +11 -0
- package/lib/types/features/agent/chat/SkillWidgetProvider.d.ts.map +1 -0
- package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts +18 -0
- package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -0
- package/lib/types/features/agent/chat/VegaLiteChart.d.ts +18 -0
- package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -0
- package/lib/types/features/agent/chat/WaitingMessages.d.ts +2 -0
- package/lib/types/features/agent/chat/WaitingMessages.d.ts.map +1 -0
- package/lib/types/features/agent/chat/index.d.ts +17 -0
- package/lib/types/features/agent/chat/index.d.ts.map +1 -0
- package/lib/types/features/agent/chat/useArtifactUrlCache.d.ts +28 -0
- package/lib/types/features/agent/chat/useArtifactUrlCache.d.ts.map +1 -0
- package/lib/types/features/agent/createChartTool.d.ts +178 -0
- package/lib/types/features/agent/createChartTool.d.ts.map +1 -0
- package/lib/types/features/agent/examples.d.ts +59 -0
- package/lib/types/features/agent/examples.d.ts.map +1 -0
- package/lib/types/features/agent/index.d.ts +5 -0
- package/lib/types/features/agent/index.d.ts.map +1 -0
- package/lib/types/features/agent/visualization.d.ts +95 -0
- package/lib/types/features/agent/visualization.d.ts.map +1 -0
- package/lib/types/features/errors/PanelErrorBoundary.d.ts +5 -0
- package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -0
- package/lib/types/features/errors/RowErrorBoundary.d.ts +8 -0
- package/lib/types/features/errors/RowErrorBoundary.d.ts.map +1 -0
- package/lib/types/features/errors/VertesiaErrorBoundary.d.ts +12 -0
- package/lib/types/features/errors/VertesiaErrorBoundary.d.ts.map +1 -0
- package/lib/types/features/errors/WidgetErrorBoundary.d.ts +5 -0
- package/lib/types/features/errors/WidgetErrorBoundary.d.ts.map +1 -0
- package/lib/types/features/errors/index.d.ts +5 -0
- package/lib/types/features/errors/index.d.ts.map +1 -0
- package/lib/types/features/facets/CollectionsFacetsNav.d.ts +14 -0
- package/lib/types/features/facets/CollectionsFacetsNav.d.ts.map +1 -0
- package/lib/types/features/facets/DocumentsFacetsNav.d.ts +17 -0
- package/lib/types/features/facets/DocumentsFacetsNav.d.ts.map +1 -0
- package/lib/types/features/facets/EnvironmentFacet.d.ts +10 -0
- package/lib/types/features/facets/EnvironmentFacet.d.ts.map +1 -0
- package/lib/types/features/facets/InteractionsFacetsNav.d.ts +14 -0
- package/lib/types/features/facets/InteractionsFacetsNav.d.ts.map +1 -0
- package/lib/types/features/facets/PromptsFacetsNav.d.ts +15 -0
- package/lib/types/features/facets/PromptsFacetsNav.d.ts.map +1 -0
- package/lib/types/features/facets/RunsFacetsNav.d.ts +20 -0
- package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -0
- package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts +14 -0
- package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts.map +1 -0
- package/lib/types/features/facets/index.d.ts +15 -0
- package/lib/types/features/facets/index.d.ts.map +1 -0
- package/lib/types/features/facets/utils/SearchInterface.d.ts +14 -0
- package/lib/types/features/facets/utils/SearchInterface.d.ts.map +1 -0
- package/lib/types/features/facets/utils/StringFacet.d.ts +11 -0
- package/lib/types/features/facets/utils/StringFacet.d.ts.map +1 -0
- package/lib/types/features/facets/utils/StringListFacet.d.ts +11 -0
- package/lib/types/features/facets/utils/StringListFacet.d.ts.map +1 -0
- package/lib/types/features/facets/utils/TypeFacet.d.ts +16 -0
- package/lib/types/features/facets/utils/TypeFacet.d.ts.map +1 -0
- package/lib/types/features/facets/utils/VEnvironmentFacet.d.ts +12 -0
- package/lib/types/features/facets/utils/VEnvironmentFacet.d.ts.map +1 -0
- package/lib/types/features/facets/utils/VInteractionFacet.d.ts +15 -0
- package/lib/types/features/facets/utils/VInteractionFacet.d.ts.map +1 -0
- package/lib/types/features/facets/utils/VStringFacet.d.ts +21 -0
- package/lib/types/features/facets/utils/VStringFacet.d.ts.map +1 -0
- package/lib/types/features/facets/utils/VTypeFacet.d.ts +12 -0
- package/lib/types/features/facets/utils/VTypeFacet.d.ts.map +1 -0
- package/lib/types/features/facets/utils/VUserFacet.d.ts +11 -0
- package/lib/types/features/facets/utils/VUserFacet.d.ts.map +1 -0
- package/lib/types/features/facets/utils/utils.d.ts +4 -0
- package/lib/types/features/facets/utils/utils.d.ts.map +1 -0
- package/lib/types/features/index.d.ts +12 -0
- package/lib/types/features/index.d.ts.map +1 -0
- package/lib/types/features/layout/GenericPageNavHeader.d.ts +14 -0
- package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -0
- package/lib/types/features/layout/NotFoundView.d.ts +5 -0
- package/lib/types/features/layout/NotFoundView.d.ts.map +1 -0
- package/lib/types/features/layout/index.d.ts +3 -0
- package/lib/types/features/layout/index.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts +13 -0
- package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/DownloadPopover.d.ts +7 -0
- package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/ExtractedContentView.d.ts +8 -0
- package/lib/types/features/magic-pdf/ExtractedContentView.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/MagicPdfProvider.d.ts +58 -0
- package/lib/types/features/magic-pdf/MagicPdfProvider.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/MagicPdfView.d.ts +7 -0
- package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/index.d.ts +2 -0
- package/lib/types/features/magic-pdf/index.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/types.d.ts +2 -0
- package/lib/types/features/magic-pdf/types.d.ts.map +1 -0
- package/lib/types/features/pdf-viewer/PdfPageRenderer.d.ts +83 -0
- package/lib/types/features/pdf-viewer/PdfPageRenderer.d.ts.map +1 -0
- package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts +29 -0
- package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -0
- package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts +19 -0
- package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -0
- package/lib/types/features/pdf-viewer/index.d.ts +4 -0
- package/lib/types/features/pdf-viewer/index.d.ts.map +1 -0
- package/lib/types/features/permissions/SecureButton.d.ts +8 -0
- package/lib/types/features/permissions/SecureButton.d.ts.map +1 -0
- package/lib/types/features/permissions/SecureSidebarItem.d.ts +8 -0
- package/lib/types/features/permissions/SecureSidebarItem.d.ts.map +1 -0
- package/lib/types/features/permissions/UserPermissionsProvider.d.ts +21 -0
- package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -0
- package/lib/types/features/permissions/helpers.d.ts +5 -0
- package/lib/types/features/permissions/helpers.d.ts.map +1 -0
- package/lib/types/features/permissions/index.d.ts +5 -0
- package/lib/types/features/permissions/index.d.ts.map +1 -0
- package/lib/types/features/store/collections/BrowseCollectionView.d.ts +7 -0
- package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -0
- package/lib/types/features/store/collections/CollectionsTable.d.ts +6 -0
- package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -0
- package/lib/types/features/store/collections/CreateCollection.d.ts +13 -0
- package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -0
- package/lib/types/features/store/collections/EditCollectionView.d.ts +8 -0
- package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -0
- package/lib/types/features/store/collections/SelectCollection.d.ts +20 -0
- package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -0
- package/lib/types/features/store/collections/SharedPropsEditor.d.ts +7 -0
- package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -0
- package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts +7 -0
- package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -0
- package/lib/types/features/store/collections/index.d.ts +8 -0
- package/lib/types/features/store/collections/index.d.ts.map +1 -0
- package/lib/types/features/store/index.d.ts +4 -0
- package/lib/types/features/store/index.d.ts.map +1 -0
- package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts +8 -0
- package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -0
- package/lib/types/features/store/objects/DocumentSearchResults.d.ts +20 -0
- package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -0
- package/lib/types/features/store/objects/DocumentSelectionProvider.d.ts +33 -0
- package/lib/types/features/store/objects/DocumentSelectionProvider.d.ts.map +1 -0
- package/lib/types/features/store/objects/DocumentTable.d.ts +25 -0
- package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -0
- package/lib/types/features/store/objects/ExportPropertiesModal.d.ts +12 -0
- package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts +9 -0
- package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/ContentOverview.d.ts +9 -0
- package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/DocumentIcon.d.ts +18 -0
- package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/DocumentInput.d.ts +8 -0
- package/lib/types/features/store/objects/components/DocumentInput.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts +9 -0
- package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts +9 -0
- package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/SelectDocument.d.ts +9 -0
- package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/SelectDocumentModal.d.ts +9 -0
- package/lib/types/features/store/objects/components/SelectDocumentModal.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts +12 -0
- package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/index.d.ts +10 -0
- package/lib/types/features/store/objects/components/index.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts +30 -0
- package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/useDownloadObject.d.ts +4 -0
- package/lib/types/features/store/objects/components/useDownloadObject.d.ts.map +1 -0
- package/lib/types/features/store/objects/index.d.ts +11 -0
- package/lib/types/features/store/objects/index.d.ts.map +1 -0
- package/lib/types/features/store/objects/layout/DocumentTableColumn.d.ts +18 -0
- package/lib/types/features/store/objects/layout/DocumentTableColumn.d.ts.map +1 -0
- package/lib/types/features/store/objects/layout/documentLayout.d.ts +20 -0
- package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -0
- package/lib/types/features/store/objects/layout/index.d.ts +3 -0
- package/lib/types/features/store/objects/layout/index.d.ts.map +1 -0
- package/lib/types/features/store/objects/layout/renderers.d.ts +3 -0
- package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -0
- package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts +52 -0
- package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -0
- package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts +14 -0
- package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -0
- package/lib/types/features/store/objects/search/index.d.ts +3 -0
- package/lib/types/features/store/objects/search/index.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +26 -0
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +28 -0
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -0
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts +4 -0
- package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts +4 -0
- package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +16 -0
- package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts +5 -0
- package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts +4 -0
- package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts +4 -0
- package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts +4 -0
- package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/actions/index.d.ts +8 -0
- package/lib/types/features/store/objects/selection/actions/index.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/index.d.ts +5 -0
- package/lib/types/features/store/objects/selection/index.d.ts.map +1 -0
- package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts +39 -0
- package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -0
- package/lib/types/features/store/objects/upload/index.d.ts +4 -0
- package/lib/types/features/store/objects/upload/index.d.ts.map +1 -0
- package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts +30 -0
- package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -0
- package/lib/types/features/store/objects/upload/useUploadHandler.d.ts +50 -0
- package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -0
- package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts +6 -0
- package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -0
- package/lib/types/features/store/types/ContentObjectTypesTable.d.ts +8 -0
- package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -0
- package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +15 -0
- package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -0
- package/lib/types/features/store/types/ObjectSchemaEditor.d.ts +8 -0
- package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -0
- package/lib/types/features/store/types/SelectContentType.d.ts +11 -0
- package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -0
- package/lib/types/features/store/types/SelectContentTypeModal.d.ts +33 -0
- package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -0
- package/lib/types/features/store/types/TableLayoutEditor.d.ts +9 -0
- package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -0
- package/lib/types/features/store/types/index.d.ts +9 -0
- package/lib/types/features/store/types/index.d.ts.map +1 -0
- package/lib/types/features/store/types/search/ObjectTypeSearchContext.d.ts +36 -0
- package/lib/types/features/store/types/search/ObjectTypeSearchContext.d.ts.map +1 -0
- package/lib/types/features/store/types/search/ObjectTypeSearchProvider.d.ts +11 -0
- package/lib/types/features/store/types/search/ObjectTypeSearchProvider.d.ts.map +1 -0
- package/lib/types/features/store/types/search/index.d.ts +3 -0
- package/lib/types/features/store/types/search/index.d.ts.map +1 -0
- package/lib/types/features/user/UserAvatar.d.ts +9 -0
- package/lib/types/features/user/UserAvatar.d.ts.map +1 -0
- package/lib/types/features/user/UserInfo.d.ts +48 -0
- package/lib/types/features/user/UserInfo.d.ts.map +1 -0
- package/lib/types/features/user/index.d.ts +3 -0
- package/lib/types/features/user/index.d.ts.map +1 -0
- package/lib/types/features/utils/index.d.ts +6 -0
- package/lib/types/features/utils/index.d.ts.map +1 -0
- package/lib/types/features/utils/mimeType.d.ts +6 -0
- package/lib/types/features/utils/mimeType.d.ts.map +1 -0
- package/lib/types/features/utils/print.d.ts +10 -0
- package/lib/types/features/utils/print.d.ts.map +1 -0
- package/lib/types/features/utils/rendition.d.ts +4 -0
- package/lib/types/features/utils/rendition.d.ts.map +1 -0
- package/lib/types/features/utils/text.d.ts +3 -0
- package/lib/types/features/utils/text.d.ts.map +1 -0
- package/lib/types/features/utils/workflowStatus.d.ts +10 -0
- package/lib/types/features/utils/workflowStatus.d.ts.map +1 -0
- package/lib/types/layout/AppLayout.d.ts +13 -0
- package/lib/types/layout/AppLayout.d.ts.map +1 -0
- package/lib/types/layout/FullHeightLayout.d.ts +27 -0
- package/lib/types/layout/FullHeightLayout.d.ts.map +1 -0
- package/lib/types/layout/Navbar.d.ts +33 -0
- package/lib/types/layout/Navbar.d.ts.map +1 -0
- package/lib/types/layout/Sidebar.d.ts +31 -0
- package/lib/types/layout/Sidebar.d.ts.map +1 -0
- package/lib/types/layout/SidebarContext.d.ts +9 -0
- package/lib/types/layout/SidebarContext.d.ts.map +1 -0
- package/lib/types/layout/TitleBar.d.ts +6 -0
- package/lib/types/layout/TitleBar.d.ts.map +1 -0
- package/lib/types/layout/index.d.ts +7 -0
- package/lib/types/layout/index.d.ts.map +1 -0
- package/lib/types/router/FixLinks.d.ts +7 -0
- package/lib/types/router/FixLinks.d.ts.map +1 -0
- package/lib/types/router/HistoryNavigator.d.ts +59 -0
- package/lib/types/router/HistoryNavigator.d.ts.map +1 -0
- package/lib/types/router/Nav.d.ts +30 -0
- package/lib/types/router/Nav.d.ts.map +1 -0
- package/lib/types/router/NestedNavigationContext.d.ts +9 -0
- package/lib/types/router/NestedNavigationContext.d.ts.map +1 -0
- package/lib/types/router/NestedRouterProvider.d.ts +14 -0
- package/lib/types/router/NestedRouterProvider.d.ts.map +1 -0
- package/lib/types/router/PathMatcher.d.ts +36 -0
- package/lib/types/router/PathMatcher.d.ts.map +1 -0
- package/lib/types/router/PathWithParams.d.ts +9 -0
- package/lib/types/router/PathWithParams.d.ts.map +1 -0
- package/lib/types/router/Route404.d.ts +4 -0
- package/lib/types/router/Route404.d.ts.map +1 -0
- package/lib/types/router/RouteComponent.d.ts +6 -0
- package/lib/types/router/RouteComponent.d.ts.map +1 -0
- package/lib/types/router/Router.d.ts +74 -0
- package/lib/types/router/Router.d.ts.map +1 -0
- package/lib/types/router/RouterProvider.d.ts +15 -0
- package/lib/types/router/RouterProvider.d.ts.map +1 -0
- package/lib/types/router/index.d.ts +11 -0
- package/lib/types/router/index.d.ts.map +1 -0
- package/lib/types/router/path.d.ts +8 -0
- package/lib/types/router/path.d.ts.map +1 -0
- package/lib/types/session/TypeRegistry.d.ts +10 -0
- package/lib/types/session/TypeRegistry.d.ts.map +1 -0
- package/lib/types/session/UserSession.d.ts +40 -0
- package/lib/types/session/UserSession.d.ts.map +1 -0
- package/lib/types/session/UserSessionProvider.d.ts +7 -0
- package/lib/types/session/UserSessionProvider.d.ts.map +1 -0
- package/lib/types/session/auth/composable.d.ts +26 -0
- package/lib/types/session/auth/composable.d.ts.map +1 -0
- package/lib/types/session/auth/firebase.d.ts +10 -0
- package/lib/types/session/auth/firebase.d.ts.map +1 -0
- package/lib/types/session/auth/useAuthState.d.ts +10 -0
- package/lib/types/session/auth/useAuthState.d.ts.map +1 -0
- package/lib/types/session/auth/useCurrentTenant.d.ts +15 -0
- package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -0
- package/lib/types/session/constants.d.ts +3 -0
- package/lib/types/session/constants.d.ts.map +1 -0
- package/lib/types/session/index.d.ts +9 -0
- package/lib/types/session/index.d.ts.map +1 -0
- package/lib/types/session/useUXTracking.d.ts +6 -0
- package/lib/types/session/useUXTracking.d.ts.map +1 -0
- package/lib/types/shell/SplashScreen.d.ts +7 -0
- package/lib/types/shell/SplashScreen.d.ts.map +1 -0
- package/lib/types/shell/VertesiaShell.d.ts +10 -0
- package/lib/types/shell/VertesiaShell.d.ts.map +1 -0
- package/lib/types/shell/apps/AppInstallationProvider.d.ts +12 -0
- package/lib/types/shell/apps/AppInstallationProvider.d.ts.map +1 -0
- package/lib/types/shell/apps/AppProjectSelector.d.ts +12 -0
- package/lib/types/shell/apps/AppProjectSelector.d.ts.map +1 -0
- package/lib/types/shell/apps/StandaloneApp.d.ts +23 -0
- package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -0
- package/lib/types/shell/apps/index.d.ts +4 -0
- package/lib/types/shell/apps/index.d.ts.map +1 -0
- package/lib/types/shell/index.d.ts +8 -0
- package/lib/types/shell/index.d.ts.map +1 -0
- package/lib/types/shell/login/EnterpriseSigninButton.d.ts +6 -0
- package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -0
- package/lib/types/shell/login/GitHubSignInButton.d.ts +6 -0
- package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -0
- package/lib/types/shell/login/GoogleSignInButton.d.ts +6 -0
- package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -0
- package/lib/types/shell/login/InviteAcceptModal.d.ts +2 -0
- package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -0
- package/lib/types/shell/login/MicrosoftSigninButton.d.ts +6 -0
- package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -0
- package/lib/types/shell/login/PreviewIcon.d.ts +6 -0
- package/lib/types/shell/login/PreviewIcon.d.ts.map +1 -0
- package/lib/types/shell/login/SignInModal.d.ts +7 -0
- package/lib/types/shell/login/SignInModal.d.ts.map +1 -0
- package/lib/types/shell/login/SigninScreen.d.ts +9 -0
- package/lib/types/shell/login/SigninScreen.d.ts.map +1 -0
- package/lib/types/shell/login/SignupForm.d.ts +8 -0
- package/lib/types/shell/login/SignupForm.d.ts.map +1 -0
- package/lib/types/shell/login/TerminalLogin.d.ts +2 -0
- package/lib/types/shell/login/TerminalLogin.d.ts.map +1 -0
- package/lib/types/shell/login/UserInfo.d.ts +6 -0
- package/lib/types/shell/login/UserInfo.d.ts.map +1 -0
- package/lib/types/shell/login/UserSessionMenu.d.ts +9 -0
- package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -0
- package/lib/types/shell/utils.d.ts +2 -0
- package/lib/types/shell/utils.d.ts.map +1 -0
- package/lib/types/widgets/Progress.d.ts +6 -0
- package/lib/types/widgets/Progress.d.ts.map +1 -0
- package/lib/types/widgets/SvgIcon.d.ts +7 -0
- package/lib/types/widgets/SvgIcon.d.ts.map +1 -0
- package/lib/types/widgets/codemirror/CodeMirrorEditor.d.ts +24 -0
- package/lib/types/widgets/codemirror/CodeMirrorEditor.d.ts.map +1 -0
- package/lib/types/widgets/codemirror/CodemirrorStateSingleton.d.ts +15 -0
- package/lib/types/widgets/codemirror/CodemirrorStateSingleton.d.ts.map +1 -0
- package/lib/types/widgets/codemirror/MonacoEditor.d.ts +38 -0
- package/lib/types/widgets/codemirror/MonacoEditor.d.ts.map +1 -0
- package/lib/types/widgets/codemirror/index.d.ts +5 -0
- package/lib/types/widgets/codemirror/index.d.ts.map +1 -0
- package/lib/types/widgets/form/Form.d.ts +22 -0
- package/lib/types/widgets/form/Form.d.ts.map +1 -0
- package/lib/types/widgets/form/FormContext.d.ts +20 -0
- package/lib/types/widgets/form/FormContext.d.ts.map +1 -0
- package/lib/types/widgets/form/ManagedObject.d.ts +82 -0
- package/lib/types/widgets/form/ManagedObject.d.ts.map +1 -0
- package/lib/types/widgets/form/fields.d.ts +16 -0
- package/lib/types/widgets/form/fields.d.ts.map +1 -0
- package/lib/types/widgets/form/index.d.ts +7 -0
- package/lib/types/widgets/form/index.d.ts.map +1 -0
- package/lib/types/widgets/form/inputs.d.ts +8 -0
- package/lib/types/widgets/form/inputs.d.ts.map +1 -0
- package/lib/types/widgets/form/schema.d.ts +47 -0
- package/lib/types/widgets/form/schema.d.ts.map +1 -0
- package/lib/types/widgets/index.d.ts +12 -0
- package/lib/types/widgets/index.d.ts.map +1 -0
- package/lib/types/widgets/json-view/JSONCode.d.ts +22 -0
- package/lib/types/widgets/json-view/JSONCode.d.ts.map +1 -0
- package/lib/types/widgets/json-view/JSONDisplay.d.ts +8 -0
- package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -0
- package/lib/types/widgets/json-view/JSONView.d.ts +7 -0
- package/lib/types/widgets/json-view/JSONView.d.ts.map +1 -0
- package/lib/types/widgets/json-view/index.d.ts +5 -0
- package/lib/types/widgets/json-view/index.d.ts.map +1 -0
- package/lib/types/widgets/json-view/types.d.ts +8 -0
- package/lib/types/widgets/json-view/types.d.ts.map +1 -0
- package/lib/types/widgets/markdown/CodeBlockRendering.d.ts +22 -0
- package/lib/types/widgets/markdown/CodeBlockRendering.d.ts.map +1 -0
- package/lib/types/widgets/markdown/MarkdownRenderer.d.ts +26 -0
- package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -0
- package/lib/types/widgets/markdown/MermaidDiagram.d.ts +23 -0
- package/lib/types/widgets/markdown/MermaidDiagram.d.ts.map +1 -0
- package/lib/types/widgets/markdown/index.d.ts +3 -0
- package/lib/types/widgets/markdown/index.d.ts.map +1 -0
- package/lib/types/widgets/popover/Popover.d.ts +38 -0
- package/lib/types/widgets/popover/Popover.d.ts.map +1 -0
- package/lib/types/widgets/popover/context.d.ts +8 -0
- package/lib/types/widgets/popover/context.d.ts.map +1 -0
- package/lib/types/widgets/popover/index.d.ts +3 -0
- package/lib/types/widgets/popover/index.d.ts.map +1 -0
- package/lib/types/widgets/popover/slots.d.ts +5 -0
- package/lib/types/widgets/popover/slots.d.ts.map +1 -0
- package/lib/types/widgets/properties/PropertiesView.d.ts +11 -0
- package/lib/types/widgets/properties/PropertiesView.d.ts.map +1 -0
- package/lib/types/widgets/properties/index.d.ts +2 -0
- package/lib/types/widgets/properties/index.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +75 -0
- package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/editor/Editable.d.ts +40 -0
- package/lib/types/widgets/schema-editor/editor/Editable.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/editor/EditableSchemaProperty.d.ts +8 -0
- package/lib/types/widgets/schema-editor/editor/EditableSchemaProperty.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts +5 -0
- package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/editor/PropertyViewer.d.ts +4 -0
- package/lib/types/widgets/schema-editor/editor/PropertyViewer.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/editor/SchemaContext.d.ts +3 -0
- package/lib/types/widgets/schema-editor/editor/SchemaContext.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts +9 -0
- package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/index.d.ts +7 -0
- package/lib/types/widgets/schema-editor/index.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/json-schema4-utils.d.ts +16 -0
- package/lib/types/widgets/schema-editor/json-schema4-utils.d.ts.map +1 -0
- package/lib/types/widgets/schema-editor/type-signature.d.ts +19 -0
- package/lib/types/widgets/schema-editor/type-signature.d.ts.map +1 -0
- package/lib/types/widgets/upload/DropZone.d.ts +41 -0
- package/lib/types/widgets/upload/DropZone.d.ts.map +1 -0
- package/lib/types/widgets/upload/UploadResultCategory.d.ts +26 -0
- package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -0
- package/lib/types/widgets/upload/UploadSummary.d.ts +38 -0
- package/lib/types/widgets/upload/UploadSummary.d.ts.map +1 -0
- package/lib/types/widgets/upload/index.d.ts +4 -0
- package/lib/types/widgets/upload/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/Attributes/index.d.ts +6 -0
- package/lib/types/widgets/xml-viewer/components/Attributes/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/CDataTag/index.d.ts +8 -0
- package/lib/types/widgets/xml-viewer/components/CDataTag/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/CollapseIcon/index.d.ts +5 -0
- package/lib/types/widgets/xml-viewer/components/CollapseIcon/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/CommentTag/index.d.ts +9 -0
- package/lib/types/widgets/xml-viewer/components/CommentTag/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/DeclarationTag/index.d.ts +8 -0
- package/lib/types/widgets/xml-viewer/components/DeclarationTag/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/Elements/index.d.ts +8 -0
- package/lib/types/widgets/xml-viewer/components/Elements/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/InvalidXml/index.d.ts +2 -0
- package/lib/types/widgets/xml-viewer/components/InvalidXml/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/Tag/index.d.ts +13 -0
- package/lib/types/widgets/xml-viewer/components/Tag/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/TextElement/index.d.ts +8 -0
- package/lib/types/widgets/xml-viewer/components/TextElement/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/XMLViewer.d.ts +3 -0
- package/lib/types/widgets/xml-viewer/components/XMLViewer.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/components/types.d.ts +104 -0
- package/lib/types/widgets/xml-viewer/components/types.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/constants/index.d.ts +27 -0
- package/lib/types/widgets/xml-viewer/constants/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/context/xml-viewer-context.d.ts +4 -0
- package/lib/types/widgets/xml-viewer/context/xml-viewer-context.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/helpers/index.d.ts +13 -0
- package/lib/types/widgets/xml-viewer/helpers/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/hooks/useCollapsible.d.ts +15 -0
- package/lib/types/widgets/xml-viewer/hooks/useCollapsible.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/hooks/useXMLViewer.d.ts +10 -0
- package/lib/types/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/index.d.ts +3 -0
- package/lib/types/widgets/xml-viewer/index.d.ts.map +1 -0
- package/lib/types/widgets/xml-viewer/types/index.d.ts +16 -0
- package/lib/types/widgets/xml-viewer/types/index.d.ts.map +1 -0
- package/lib/vertesia-ui-core.js +2 -0
- package/lib/vertesia-ui-core.js.map +1 -0
- package/lib/vertesia-ui-env.js +2 -0
- package/lib/vertesia-ui-env.js.map +1 -0
- package/lib/vertesia-ui-features.js +2 -0
- package/lib/vertesia-ui-features.js.map +1 -0
- package/lib/vertesia-ui-layout.js +2 -0
- package/lib/vertesia-ui-layout.js.map +1 -0
- package/lib/vertesia-ui-router.js +2 -0
- package/lib/vertesia-ui-router.js.map +1 -0
- package/lib/vertesia-ui-session.js +2 -0
- package/lib/vertesia-ui-session.js.map +1 -0
- package/lib/vertesia-ui-shell.js +2 -0
- package/lib/vertesia-ui-shell.js.map +1 -0
- package/lib/vertesia-ui-widgets.js +2 -0
- package/lib/vertesia-ui-widgets.js.map +1 -0
- package/llms.txt +494 -0
- package/package.json +189 -0
- package/src/core/components/Avatar.tsx +67 -0
- package/src/core/components/Badge.tsx +118 -0
- package/src/core/components/Button.tsx +63 -0
- package/src/core/components/Center.tsx +12 -0
- package/src/core/components/ComboBox.tsx +488 -0
- package/src/core/components/ConfirmModal.tsx +51 -0
- package/src/core/components/DeleteModal.tsx +45 -0
- package/src/core/components/Divider.tsx +11 -0
- package/src/core/components/Dropdown.tsx +63 -0
- package/src/core/components/DropdownList.tsx +72 -0
- package/src/core/components/EmptyCollection.tsx +41 -0
- package/src/core/components/FileUpload.tsx +196 -0
- package/src/core/components/FormItem.tsx +36 -0
- package/src/core/components/InputList.tsx +112 -0
- package/src/core/components/Link.tsx +16 -0
- package/src/core/components/MenuList.tsx +41 -0
- package/src/core/components/MessageBox.tsx +101 -0
- package/src/core/components/Modal.tsx +144 -0
- package/src/core/components/NumberInput.tsx +64 -0
- package/src/core/components/Overlay.tsx +129 -0
- package/src/core/components/Panel.tsx +34 -0
- package/src/core/components/Portal.tsx +33 -0
- package/src/core/components/RadioGroup.tsx +100 -0
- package/src/core/components/SelectBox.tsx +188 -0
- package/src/core/components/SelectList.tsx +95 -0
- package/src/core/components/SelectStack.tsx +63 -0
- package/src/core/components/SidePanel.tsx +114 -0
- package/src/core/components/Spinner.tsx +33 -0
- package/src/core/components/Switch.tsx +30 -0
- package/src/core/components/TagsInput.tsx +388 -0
- package/src/core/components/index.ts +41 -0
- package/src/core/components/libs/utils.tsx +6 -0
- package/src/core/components/libs/visuallyHidden.tsx +25 -0
- package/src/core/components/popup/Popup.tsx +94 -0
- package/src/core/components/popup/PopupController.ts +182 -0
- package/src/core/components/popup/index.ts +3 -0
- package/src/core/components/popup/position.ts +277 -0
- package/src/core/components/popup/utils.ts +82 -0
- package/src/core/components/shadcn/breadcrumb.tsx +193 -0
- package/src/core/components/shadcn/button.tsx +156 -0
- package/src/core/components/shadcn/calendar.tsx +29 -0
- package/src/core/components/shadcn/card.tsx +76 -0
- package/src/core/components/shadcn/checkbox.tsx +28 -0
- package/src/core/components/shadcn/command.tsx +176 -0
- package/src/core/components/shadcn/dialog.tsx +266 -0
- package/src/core/components/shadcn/filters/DynamicLabel.tsx +44 -0
- package/src/core/components/shadcn/filters/animateChangeInHeight.tsx +41 -0
- package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +211 -0
- package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +145 -0
- package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +76 -0
- package/src/core/components/shadcn/filters/comboBox/TextCombobox.tsx +81 -0
- package/src/core/components/shadcn/filters/comboBox/comboBox.tsx +4 -0
- package/src/core/components/shadcn/filters/filter/SelectFilter.tsx +161 -0
- package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +58 -0
- package/src/core/components/shadcn/filters/filter/TextFilter.tsx +69 -0
- package/src/core/components/shadcn/filters/filter/dateFilter.tsx +256 -0
- package/src/core/components/shadcn/filters/filter-styles.ts +87 -0
- package/src/core/components/shadcn/filters/filterBar.tsx +375 -0
- package/src/core/components/shadcn/filters/filters.tsx +141 -0
- package/src/core/components/shadcn/filters/index.ts +5 -0
- package/src/core/components/shadcn/filters/types.ts +38 -0
- package/src/core/components/shadcn/heading.tsx +23 -0
- package/src/core/components/shadcn/index.ts +23 -0
- package/src/core/components/shadcn/input.tsx +92 -0
- package/src/core/components/shadcn/label.tsx +31 -0
- package/src/core/components/shadcn/popover.tsx +115 -0
- package/src/core/components/shadcn/resizeable.tsx +54 -0
- package/src/core/components/shadcn/selectBox.tsx +337 -0
- package/src/core/components/shadcn/separator.tsx +31 -0
- package/src/core/components/shadcn/tabs.tsx +302 -0
- package/src/core/components/shadcn/text.tsx +33 -0
- package/src/core/components/shadcn/textarea.tsx +21 -0
- package/src/core/components/shadcn/theme/ThemeProvider.tsx +75 -0
- package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +35 -0
- package/src/core/components/shadcn/tooltip.tsx +59 -0
- package/src/core/components/styles.ts +11 -0
- package/src/core/components/table/index.tsx +70 -0
- package/src/core/components/tabs/Tabs.tsx +132 -0
- package/src/core/components/tabs/TabsContext.ts +25 -0
- package/src/core/components/tabs/index.ts +2 -0
- package/src/core/components/toast/NotificationPanel.tsx +107 -0
- package/src/core/components/toast/ToastContext.ts +12 -0
- package/src/core/components/toast/ToastProps.ts +6 -0
- package/src/core/components/toast/ToastProvider.tsx +26 -0
- package/src/core/components/toast/index.ts +2 -0
- package/src/core/hooks/CompositeState.tsx +292 -0
- package/src/core/hooks/PortalContainerProvider.tsx +59 -0
- package/src/core/hooks/SharedState.tsx +69 -0
- package/src/core/hooks/index.ts +15 -0
- package/src/core/hooks/useClickOutside.tsx +29 -0
- package/src/core/hooks/useCopyToClipboard.tsx +28 -0
- package/src/core/hooks/useDarkMode.ts +11 -0
- package/src/core/hooks/useDebounce.tsx +15 -0
- package/src/core/hooks/useEventSource.ts +35 -0
- package/src/core/hooks/useFetch.ts +51 -0
- package/src/core/hooks/useFlag.tsx +13 -0
- package/src/core/hooks/useIntersectionObserver.tsx +40 -0
- package/src/core/hooks/useIsFistRendering.ts +17 -0
- package/src/core/hooks/useSafeLayoutEffect.ts +5 -0
- package/src/core/hooks/useScrollableSearch.tsx +193 -0
- package/src/core/hooks/useSharedValue.ts +22 -0
- package/src/core/index.ts +3 -0
- package/src/core/utils/cn.ts +6 -0
- package/src/core/utils/index.ts +1 -0
- package/src/env/index.ts +126 -0
- package/src/features/activity-doc/ActivityDoc.tsx +199 -0
- package/src/features/activity-doc/index.ts +1 -0
- package/src/features/agent/CHART_INSTRUCTIONS.md +228 -0
- package/src/features/agent/PayloadBuilder.tsx +319 -0
- package/src/features/agent/chat/AgentChart.tsx +702 -0
- package/src/features/agent/chat/AnimatedThinkingDots.tsx +350 -0
- package/src/features/agent/chat/AskUserWidget.tsx +362 -0
- package/src/features/agent/chat/ImageLightbox.tsx +99 -0
- package/src/features/agent/chat/JumpingDots.tsx +16 -0
- package/src/features/agent/chat/ModernAgentConversation.tsx +1465 -0
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +483 -0
- package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +228 -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 +271 -0
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +550 -0
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +512 -0
- package/src/features/agent/chat/ModernAgentOutput/MessagesContainer.tsx +63 -0
- package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +124 -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 +97 -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/StreamingMessage.tsx +323 -0
- package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +583 -0
- package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +167 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +527 -0
- package/src/features/agent/chat/ModernAgentOutput/with-types.d.ts +15 -0
- package/src/features/agent/chat/SkillWidgetProvider.tsx +106 -0
- package/src/features/agent/chat/SlidingThinkingIndicator.tsx +459 -0
- package/src/features/agent/chat/VegaLiteChart.tsx +1081 -0
- package/src/features/agent/chat/WaitingMessages.ts +66 -0
- package/src/features/agent/chat/applyParameterValues.test.ts +258 -0
- package/src/features/agent/chat/index.ts +35 -0
- package/src/features/agent/chat/useArtifactUrlCache.tsx +92 -0
- package/src/features/agent/createChartTool.ts +643 -0
- package/src/features/agent/examples.ts +321 -0
- package/src/features/agent/index.ts +4 -0
- package/src/features/agent/visualization.ts +227 -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/CollectionsFacetsNav.tsx +119 -0
- package/src/features/facets/DocumentsFacetsNav.tsx +184 -0
- package/src/features/facets/EnvironmentFacet.tsx +53 -0
- package/src/features/facets/InteractionsFacetsNav.tsx +121 -0
- package/src/features/facets/PromptsFacetsNav.tsx +110 -0
- package/src/features/facets/RunsFacetsNav.tsx +209 -0
- package/src/features/facets/WorkflowExecutionsFacetsNav.tsx +134 -0
- package/src/features/facets/index.ts +16 -0
- package/src/features/facets/utils/SearchInterface.tsx +12 -0
- package/src/features/facets/utils/StringFacet.tsx +23 -0
- package/src/features/facets/utils/StringListFacet.tsx +22 -0
- package/src/features/facets/utils/TypeFacet.tsx +59 -0
- package/src/features/facets/utils/VEnvironmentFacet.tsx +43 -0
- package/src/features/facets/utils/VInteractionFacet.tsx +73 -0
- package/src/features/facets/utils/VStringFacet.tsx +41 -0
- package/src/features/facets/utils/VTypeFacet.tsx +81 -0
- package/src/features/facets/utils/VUserFacet.tsx +50 -0
- package/src/features/facets/utils/utils.tsx +9 -0
- package/src/features/index.ts +11 -0
- package/src/features/layout/GenericPageNavHeader.tsx +122 -0
- package/src/features/layout/NotFoundView.tsx +11 -0
- package/src/features/layout/index.ts +2 -0
- package/src/features/magic-pdf/AnnotatedImageSlider.tsx +482 -0
- package/src/features/magic-pdf/DownloadPopover.tsx +70 -0
- package/src/features/magic-pdf/ExtractedContentView.tsx +132 -0
- package/src/features/magic-pdf/MagicPdfProvider.tsx +297 -0
- package/src/features/magic-pdf/MagicPdfView.tsx +221 -0
- package/src/features/magic-pdf/index.ts +1 -0
- package/src/features/magic-pdf/types.ts +1 -0
- package/src/features/pdf-viewer/PdfPageRenderer.tsx +612 -0
- package/src/features/pdf-viewer/PdfPageSlider.tsx +473 -0
- package/src/features/pdf-viewer/SimplePdfViewer.tsx +142 -0
- package/src/features/pdf-viewer/index.ts +3 -0
- package/src/features/permissions/SecureButton.tsx +18 -0
- package/src/features/permissions/SecureSidebarItem.tsx +19 -0
- package/src/features/permissions/UserPermissionsProvider.tsx +103 -0
- package/src/features/permissions/helpers.ts +16 -0
- package/src/features/permissions/index.ts +4 -0
- package/src/features/store/collections/BrowseCollectionView.tsx +49 -0
- package/src/features/store/collections/CollectionsTable.tsx +125 -0
- package/src/features/store/collections/CreateCollection.tsx +140 -0
- package/src/features/store/collections/EditCollectionView.tsx +294 -0
- package/src/features/store/collections/SelectCollection.tsx +231 -0
- package/src/features/store/collections/SharedPropsEditor.tsx +60 -0
- package/src/features/store/collections/SyncMemberHeadsToggle.tsx +48 -0
- package/src/features/store/collections/index.ts +7 -0
- package/src/features/store/index.ts +3 -0
- package/src/features/store/objects/DocumentPreviewPanel.tsx +414 -0
- package/src/features/store/objects/DocumentSearchResults.tsx +382 -0
- package/src/features/store/objects/DocumentSelectionProvider.tsx +99 -0
- package/src/features/store/objects/DocumentTable.tsx +419 -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 +1362 -0
- package/src/features/store/objects/components/DocumentIcon.tsx +134 -0
- package/src/features/store/objects/components/DocumentInput.tsx +89 -0
- package/src/features/store/objects/components/PropertiesEditorModal.tsx +257 -0
- package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +146 -0
- package/src/features/store/objects/components/SelectDocument.tsx +109 -0
- package/src/features/store/objects/components/SelectDocumentModal.tsx +20 -0
- package/src/features/store/objects/components/VectorSearchWidget.tsx +143 -0
- package/src/features/store/objects/components/index.ts +9 -0
- package/src/features/store/objects/components/useContentPanelHooks.ts +185 -0
- package/src/features/store/objects/components/useDownloadObject.ts +29 -0
- package/src/features/store/objects/index.ts +10 -0
- package/src/features/store/objects/layout/DocumentTableColumn.tsx +99 -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 +239 -0
- package/src/features/store/objects/layout/renderers.tsx +185 -0
- package/src/features/store/objects/search/DocumentSearchContext.ts +215 -0
- package/src/features/store/objects/search/DocumentSearchProvider.tsx +50 -0
- package/src/features/store/objects/search/index.ts +2 -0
- package/src/features/store/objects/selection/ObjectsActionContext.tsx +197 -0
- package/src/features/store/objects/selection/ObjectsActionSpec.ts +31 -0
- package/src/features/store/objects/selection/SelectionActions.tsx +150 -0
- package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +137 -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 +97 -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 +927 -0
- package/src/features/store/objects/upload/index.ts +3 -0
- package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +245 -0
- package/src/features/store/objects/upload/useUploadHandler.ts +325 -0
- package/src/features/store/types/ContentObjectTypesSearch.tsx +115 -0
- package/src/features/store/types/ContentObjectTypesTable.tsx +41 -0
- package/src/features/store/types/CreateOrUpdateTypeModal.tsx +63 -0
- package/src/features/store/types/ObjectSchemaEditor.tsx +141 -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 +8 -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 +282 -0
- package/src/features/user/index.ts +2 -0
- package/src/features/utils/index.ts +5 -0
- package/src/features/utils/mimeType.ts +18 -0
- package/src/features/utils/print.ts +189 -0
- package/src/features/utils/rendition.ts +97 -0
- package/src/features/utils/text.ts +10 -0
- package/src/features/utils/workflowStatus.ts +44 -0
- package/src/layout/AppLayout.tsx +132 -0
- package/src/layout/FullHeightLayout.tsx +74 -0
- package/src/layout/Navbar.tsx +127 -0
- package/src/layout/Sidebar.tsx +139 -0
- package/src/layout/SidebarContext.ts +17 -0
- package/src/layout/TitleBar.tsx +7 -0
- package/src/layout/index.ts +6 -0
- package/src/router/FixLinks.tsx +28 -0
- package/src/router/HistoryNavigator.ts +237 -0
- package/src/router/Nav.tsx +56 -0
- package/src/router/NestedNavigationContext.tsx +32 -0
- package/src/router/NestedRouterProvider.tsx +64 -0
- package/src/router/PathMatcher.ts +166 -0
- package/src/router/PathWithParams.ts +34 -0
- package/src/router/Route404.tsx +18 -0
- package/src/router/RouteComponent.tsx +41 -0
- package/src/router/Router.tsx +216 -0
- package/src/router/RouterProvider.tsx +55 -0
- package/src/router/index.ts +10 -0
- package/src/router/path.ts +154 -0
- package/src/session/TypeRegistry.ts +27 -0
- package/src/session/UserSession.ts +228 -0
- package/src/session/UserSessionProvider.tsx +189 -0
- package/src/session/auth/composable.ts +295 -0
- package/src/session/auth/firebase.ts +168 -0
- package/src/session/auth/useAuthState.ts +57 -0
- package/src/session/auth/useCurrentTenant.ts +73 -0
- package/src/session/constants.ts +2 -0
- package/src/session/index.ts +8 -0
- package/src/session/useUXTracking.tsx +38 -0
- package/src/shell/SplashScreen.tsx +74 -0
- package/src/shell/VertesiaShell.tsx +29 -0
- package/src/shell/apps/AppInstallationProvider.tsx +22 -0
- package/src/shell/apps/AppProjectSelector.tsx +58 -0
- package/src/shell/apps/StandaloneApp.tsx +174 -0
- package/src/shell/apps/index.ts +3 -0
- package/src/shell/index.tsx +7 -0
- package/src/shell/login/EnterpriseSigninButton.tsx +109 -0
- package/src/shell/login/GitHubSignInButton.tsx +40 -0
- package/src/shell/login/GoogleSignInButton.tsx +36 -0
- package/src/shell/login/InviteAcceptModal.tsx +94 -0
- package/src/shell/login/MicrosoftSigninButton.tsx +30 -0
- package/src/shell/login/PreviewIcon.tsx +29 -0
- package/src/shell/login/SignInModal.tsx +28 -0
- package/src/shell/login/SigninScreen.tsx +162 -0
- package/src/shell/login/SignupForm.tsx +179 -0
- package/src/shell/login/TerminalLogin.tsx +338 -0
- package/src/shell/login/UserInfo.tsx +78 -0
- package/src/shell/login/UserSessionMenu.tsx +92 -0
- package/src/shell/utils.tsx +7 -0
- package/src/vite-env.d.ts +2 -0
- package/src/widgets/Progress.tsx +10 -0
- package/src/widgets/SvgIcon.tsx +44 -0
- package/src/widgets/codemirror/CodeMirrorEditor.tsx +122 -0
- package/src/widgets/codemirror/CodemirrorStateSingleton.tsx +39 -0
- package/src/widgets/codemirror/MonacoEditor.tsx +200 -0
- package/src/widgets/codemirror/index.ts +6 -0
- package/src/widgets/form/Form.tsx +180 -0
- package/src/widgets/form/FormContext.ts +41 -0
- package/src/widgets/form/ManagedObject.ts +336 -0
- package/src/widgets/form/fields.tsx +36 -0
- package/src/widgets/form/index.ts +6 -0
- package/src/widgets/form/inputs.tsx +45 -0
- package/src/widgets/form/schema.ts +222 -0
- package/src/widgets/index.ts +11 -0
- package/src/widgets/json-view/JSONCode.tsx +176 -0
- package/src/widgets/json-view/JSONDisplay.tsx +24 -0
- package/src/widgets/json-view/JSONView.tsx +183 -0
- package/src/widgets/json-view/index.ts +4 -0
- package/src/widgets/json-view/types.ts +5 -0
- package/src/widgets/markdown/CodeBlockRendering.tsx +56 -0
- package/src/widgets/markdown/MarkdownRenderer.tsx +588 -0
- package/src/widgets/markdown/MermaidDiagram.tsx +115 -0
- package/src/widgets/markdown/index.ts +2 -0
- 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 +34 -0
- package/src/widgets/properties/index.ts +1 -0
- package/src/widgets/schema-editor/ManagedSchema.ts +337 -0
- package/src/widgets/schema-editor/editor/Editable.tsx +251 -0
- package/src/widgets/schema-editor/editor/EditableSchemaProperty.tsx +15 -0
- package/src/widgets/schema-editor/editor/PropertyEditor.tsx +150 -0
- package/src/widgets/schema-editor/editor/PropertyViewer.tsx +15 -0
- package/src/widgets/schema-editor/editor/SchemaContext.tsx +9 -0
- package/src/widgets/schema-editor/editor/SchemaEditor.test.ts +48 -0
- package/src/widgets/schema-editor/editor/SchemaEditor.tsx +161 -0
- package/src/widgets/schema-editor/index.ts +6 -0
- package/src/widgets/schema-editor/json-schema4-utils.ts +187 -0
- package/src/widgets/schema-editor/type-signature.ts +39 -0
- package/src/widgets/upload/DropZone.tsx +259 -0
- package/src/widgets/upload/UploadResultCategory.tsx +81 -0
- package/src/widgets/upload/UploadSummary.tsx +115 -0
- package/src/widgets/upload/index.ts +3 -0
- package/src/widgets/xml-viewer/components/Attributes/index.tsx +27 -0
- package/src/widgets/xml-viewer/components/CDataTag/index.tsx +21 -0
- package/src/widgets/xml-viewer/components/CollapseIcon/index.tsx +32 -0
- package/src/widgets/xml-viewer/components/CommentTag/index.tsx +30 -0
- package/src/widgets/xml-viewer/components/DeclarationTag/index.tsx +23 -0
- package/src/widgets/xml-viewer/components/Elements/index.tsx +83 -0
- package/src/widgets/xml-viewer/components/InvalidXml/index.tsx +3 -0
- package/src/widgets/xml-viewer/components/Tag/index.tsx +47 -0
- package/src/widgets/xml-viewer/components/TextElement/index.tsx +28 -0
- package/src/widgets/xml-viewer/components/XMLViewer.tsx +65 -0
- package/src/widgets/xml-viewer/components/types.ts +104 -0
- package/src/widgets/xml-viewer/constants/index.ts +28 -0
- package/src/widgets/xml-viewer/context/xml-viewer-context.ts +12 -0
- package/src/widgets/xml-viewer/helpers/index.ts +56 -0
- package/src/widgets/xml-viewer/hooks/useCollapsible.ts +28 -0
- package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +34 -0
- package/src/widgets/xml-viewer/index.ts +2 -0
- package/src/widgets/xml-viewer/types/index.ts +21 -0
- package/tsconfig.dist.json +20 -0
|
@@ -0,0 +1,1362 @@
|
|
|
1
|
+
import { useEffect, useState, memo, useRef, type RefObject } from "react";
|
|
2
|
+
|
|
3
|
+
import { useUserSession } from "@vertesia/ui/session";
|
|
4
|
+
import { Button, Portal, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useToast, VModal, VModalBody, VModalFooter, VModalTitle } from "@vertesia/ui/core";
|
|
5
|
+
import { JSONDisplay, MarkdownRenderer, Progress, XMLViewer } from "@vertesia/ui/widgets";
|
|
6
|
+
import { ContentNature, ContentObject, ContentObjectStatus, DocAnalyzerProgress, DocProcessorOutputFormat, DocumentMetadata, ImageRenditionFormat, VideoMetadata, AudioMetadata, POSTER_RENDITION_NAME, AUDIO_RENDITION_NAME, WorkflowExecutionStatus, PDF_RENDITION_NAME } from "@vertesia/common";
|
|
7
|
+
import { Copy, Download, SquarePen, AlertTriangle, FileSearch } from "lucide-react";
|
|
8
|
+
import { isPreviewableAsPdf, printElementToPdf, getWorkflowStatusColor, getWorkflowStatusName } from "../../../utils/index.js";
|
|
9
|
+
import { PropertiesEditorModal } from "./PropertiesEditorModal";
|
|
10
|
+
import { NavLink } from "@vertesia/ui/router";
|
|
11
|
+
import { MagicPdfView } from "../../../magic-pdf";
|
|
12
|
+
import { SimplePdfViewer } from "../../../pdf-viewer";
|
|
13
|
+
import { useObjectText, usePdfProcessingStatus, useOfficePdfConversion } from "./useContentPanelHooks.js";
|
|
14
|
+
|
|
15
|
+
// Web-supported image formats for browser display
|
|
16
|
+
const WEB_SUPPORTED_IMAGE_FORMATS = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp', 'image/svg+xml'];
|
|
17
|
+
|
|
18
|
+
// Web-supported video formats for browser display
|
|
19
|
+
const WEB_SUPPORTED_VIDEO_FORMATS = ['video/mp4', 'video/webm'];
|
|
20
|
+
|
|
21
|
+
// Web-supported audio formats for browser display
|
|
22
|
+
const WEB_SUPPORTED_AUDIO_FORMATS = [
|
|
23
|
+
'audio/mp4', // M4A/AAC (official MIME type)
|
|
24
|
+
'audio/m4a', // M4A (alternative MIME type)
|
|
25
|
+
'audio/x-m4a', // M4A (legacy MIME type)
|
|
26
|
+
'audio/mpeg', // MP3
|
|
27
|
+
'audio/ogg', // Ogg Vorbis
|
|
28
|
+
'audio/wav', // WAV
|
|
29
|
+
'audio/webm', // WebM audio
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
// Panel height constants for consistent layout
|
|
33
|
+
const PANEL_HEIGHTS = {
|
|
34
|
+
/** Main resizable panel group */
|
|
35
|
+
main: "h-[calc(100vh-208px)]",
|
|
36
|
+
/** Properties panel content area */
|
|
37
|
+
properties: "h-[calc(100vh-228px)]",
|
|
38
|
+
/** Text/PDF content panel */
|
|
39
|
+
content: "h-[calc(100vh-218px)]",
|
|
40
|
+
/** Video max height */
|
|
41
|
+
video: "max-h-[calc(100vh-268px)]",
|
|
42
|
+
} as const;
|
|
43
|
+
|
|
44
|
+
// ----- Type Definitions -----
|
|
45
|
+
|
|
46
|
+
interface TextActionsProps {
|
|
47
|
+
object: ContentObject;
|
|
48
|
+
text: string | undefined;
|
|
49
|
+
fullText: string | undefined;
|
|
50
|
+
handleCopyContent: (content: string, type: "text" | "properties") => Promise<void>;
|
|
51
|
+
textContainerRef: RefObject<HTMLDivElement | null>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
interface TextPanelProps {
|
|
55
|
+
object: ContentObject;
|
|
56
|
+
text: string | undefined;
|
|
57
|
+
isTextCropped: boolean;
|
|
58
|
+
textContainerRef: RefObject<HTMLDivElement | null>;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface OfficePdfPreviewPanelProps {
|
|
62
|
+
pdfRendition?: { content?: { source?: string } };
|
|
63
|
+
officePdfUrl?: string;
|
|
64
|
+
officePdfConverting: boolean;
|
|
65
|
+
officePdfError?: string;
|
|
66
|
+
onConvert: () => void;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
interface OfficePdfActionsProps {
|
|
70
|
+
object: ContentObject;
|
|
71
|
+
pdfRendition?: { name: string; content: { source?: string } };
|
|
72
|
+
officePdfUrl?: string;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// ----- Markdown Components Configuration -----
|
|
76
|
+
|
|
77
|
+
/** Common props for markdown component overrides */
|
|
78
|
+
interface MarkdownComponentProps {
|
|
79
|
+
node?: unknown;
|
|
80
|
+
children?: React.ReactNode;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Custom markdown components for the content overview.
|
|
85
|
+
* Handles internal links to store objects and provides consistent styling.
|
|
86
|
+
*/
|
|
87
|
+
const createMarkdownComponents = () => ({
|
|
88
|
+
a: ({ node, ...props }: MarkdownComponentProps & { href?: string }) => {
|
|
89
|
+
const href = props.href || "";
|
|
90
|
+
if (href.includes("/store/objects/")) {
|
|
91
|
+
return (
|
|
92
|
+
<NavLink topLevelNav href={href} className="text-info">
|
|
93
|
+
{props.children}
|
|
94
|
+
</NavLink>
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
return <a {...props} target="_blank" rel="noopener noreferrer" />;
|
|
98
|
+
},
|
|
99
|
+
p: ({ node, ...props }: MarkdownComponentProps) => (
|
|
100
|
+
<p {...props} className="my-0" />
|
|
101
|
+
),
|
|
102
|
+
pre: ({ node, ...props }: MarkdownComponentProps) => (
|
|
103
|
+
<pre {...props} className="my-2 p-2 rounded" />
|
|
104
|
+
),
|
|
105
|
+
code: ({ node, className, children, ...props }: MarkdownComponentProps & { className?: string }) => {
|
|
106
|
+
const match = /language-(\w+)/.exec(className || "");
|
|
107
|
+
const isInline = !match;
|
|
108
|
+
return (
|
|
109
|
+
<code
|
|
110
|
+
{...props}
|
|
111
|
+
className={isInline ? "px-1.5 py-0.5 rounded" : "text-muted"}
|
|
112
|
+
>
|
|
113
|
+
{children}
|
|
114
|
+
</code>
|
|
115
|
+
);
|
|
116
|
+
},
|
|
117
|
+
h1: ({ node, ...props }: MarkdownComponentProps) => (
|
|
118
|
+
<h1 {...props} className="font-bold text-2xl my-2" />
|
|
119
|
+
),
|
|
120
|
+
h2: ({ node, ...props }: MarkdownComponentProps) => (
|
|
121
|
+
<h2 {...props} className="font-bold text-xl my-2" />
|
|
122
|
+
),
|
|
123
|
+
h3: ({ node, ...props }: MarkdownComponentProps) => (
|
|
124
|
+
<h3 {...props} className="font-bold text-lg my-2" />
|
|
125
|
+
),
|
|
126
|
+
li: ({ node, ...props }: MarkdownComponentProps) => <li {...props} />,
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Check if an object is in created or processing status.
|
|
131
|
+
*/
|
|
132
|
+
function isCreatedOrProcessingStatus(status?: ContentObjectStatus): boolean {
|
|
133
|
+
return status === ContentObjectStatus.created || status === ContentObjectStatus.processing;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Get the content processor type from object metadata.
|
|
138
|
+
*/
|
|
139
|
+
function getContentProcessorType(object: ContentObject): string | undefined {
|
|
140
|
+
return (object.metadata as DocumentMetadata)?.content_processor?.type;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Check if text content appears to be markdown based on common patterns.
|
|
145
|
+
*/
|
|
146
|
+
function looksLikeMarkdown(text: string | undefined): boolean {
|
|
147
|
+
if (!text) return false;
|
|
148
|
+
return (
|
|
149
|
+
text.includes("\n# ") ||
|
|
150
|
+
text.includes("\n## ") ||
|
|
151
|
+
text.includes("\n### ") ||
|
|
152
|
+
text.includes("\n* ") ||
|
|
153
|
+
text.includes("\n- ") ||
|
|
154
|
+
text.includes("\n+ ") ||
|
|
155
|
+
text.includes("
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Helper function to get panel visibility className.
|
|
162
|
+
* Returns empty string if visible, 'hidden' if not visible.
|
|
163
|
+
*/
|
|
164
|
+
function getPanelVisibility(isVisible: boolean): string {
|
|
165
|
+
return isVisible ? '' : 'hidden';
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
enum PanelView {
|
|
169
|
+
Text = "text",
|
|
170
|
+
Image = "image",
|
|
171
|
+
Video = "video",
|
|
172
|
+
Audio = "audio",
|
|
173
|
+
Pdf = "pdf",
|
|
174
|
+
Transcript = "transcript"
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
interface ContentOverviewProps {
|
|
178
|
+
object: ContentObject;
|
|
179
|
+
loadText?: boolean;
|
|
180
|
+
refetch?: () => Promise<unknown>;
|
|
181
|
+
}
|
|
182
|
+
export function ContentOverview({
|
|
183
|
+
object,
|
|
184
|
+
loadText,
|
|
185
|
+
refetch,
|
|
186
|
+
}: ContentOverviewProps) {
|
|
187
|
+
const toast = useToast();
|
|
188
|
+
|
|
189
|
+
const handleCopyContent = async (
|
|
190
|
+
content: string,
|
|
191
|
+
type: "text" | "properties",
|
|
192
|
+
) => {
|
|
193
|
+
try {
|
|
194
|
+
await navigator.clipboard.writeText(content);
|
|
195
|
+
toast({
|
|
196
|
+
status: "success",
|
|
197
|
+
title: `${type === "text" ? "Content" : "Properties"} copied`,
|
|
198
|
+
description: `Successfully copied ${type} to clipboard`,
|
|
199
|
+
duration: 2000,
|
|
200
|
+
});
|
|
201
|
+
} catch (err) {
|
|
202
|
+
console.error(`Failed to copy ${type}:`, err);
|
|
203
|
+
toast({
|
|
204
|
+
status: "error",
|
|
205
|
+
title: "Copy failed",
|
|
206
|
+
description: `Failed to copy ${type} to clipboard`,
|
|
207
|
+
duration: 5000,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
return (
|
|
213
|
+
<>
|
|
214
|
+
<ResizablePanelGroup direction="horizontal" className={PANEL_HEIGHTS.main}>
|
|
215
|
+
<ResizablePanel className="min-w-[100px]">
|
|
216
|
+
<PropertiesPanel object={object} refetch={refetch ?? (() => Promise.resolve())} handleCopyContent={handleCopyContent} />
|
|
217
|
+
</ResizablePanel>
|
|
218
|
+
<ResizableHandle withHandle />
|
|
219
|
+
|
|
220
|
+
<ResizablePanel className="min-w-[100px]">
|
|
221
|
+
<DataPanel object={object} loadText={loadText ?? false} handleCopyContent={handleCopyContent} refetch={refetch} />
|
|
222
|
+
</ResizablePanel>
|
|
223
|
+
</ResizablePanelGroup>
|
|
224
|
+
|
|
225
|
+
</>
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
function PropertiesPanel({ object, refetch, handleCopyContent }: { object: ContentObject, refetch: () => Promise<unknown>, handleCopyContent: (content: string, type: "text" | "properties") => Promise<void> }) {
|
|
230
|
+
const [viewCode, setViewCode] = useState(false);
|
|
231
|
+
const [isPropertiesModalOpen, setPropertiesModalOpen] = useState(false);
|
|
232
|
+
|
|
233
|
+
const handleOpenPropertiesModal = () => {
|
|
234
|
+
setPropertiesModalOpen(true);
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
const handleClosePropertiesModal = () => {
|
|
238
|
+
setPropertiesModalOpen(false);
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
return (
|
|
242
|
+
<>
|
|
243
|
+
<div className="flex justify-between items-center px-2">
|
|
244
|
+
<div className="flex items-center gap-1 bg-muted mb-2 p-1 rounded">
|
|
245
|
+
<Button
|
|
246
|
+
variant={`${viewCode ? "ghost" : "primary"}`}
|
|
247
|
+
size="sm"
|
|
248
|
+
alt="Preview properties"
|
|
249
|
+
onClick={() => setViewCode(!viewCode)}
|
|
250
|
+
>
|
|
251
|
+
Properties
|
|
252
|
+
</Button>
|
|
253
|
+
<Button
|
|
254
|
+
variant={`${viewCode ? "primary" : "ghost"}`}
|
|
255
|
+
size="sm"
|
|
256
|
+
alt="View in JSON format"
|
|
257
|
+
onClick={() => setViewCode(!viewCode)}
|
|
258
|
+
>
|
|
259
|
+
JSON
|
|
260
|
+
</Button>
|
|
261
|
+
</div>
|
|
262
|
+
<div className="flex items-center gap-2">
|
|
263
|
+
{object.properties && (
|
|
264
|
+
<Button
|
|
265
|
+
variant="ghost"
|
|
266
|
+
size="sm"
|
|
267
|
+
title="Copy properties"
|
|
268
|
+
onClick={() =>
|
|
269
|
+
handleCopyContent(
|
|
270
|
+
JSON.stringify(
|
|
271
|
+
object.properties,
|
|
272
|
+
null,
|
|
273
|
+
2,
|
|
274
|
+
),
|
|
275
|
+
"properties",
|
|
276
|
+
)
|
|
277
|
+
}
|
|
278
|
+
>
|
|
279
|
+
<Copy className="size-4" />
|
|
280
|
+
</Button>
|
|
281
|
+
)}
|
|
282
|
+
<Button
|
|
283
|
+
variant="ghost"
|
|
284
|
+
size="sm"
|
|
285
|
+
onClick={handleOpenPropertiesModal}
|
|
286
|
+
title="Edit properties"
|
|
287
|
+
className="flex items-center gap-2"
|
|
288
|
+
>
|
|
289
|
+
<SquarePen className="size-4" />
|
|
290
|
+
</Button>
|
|
291
|
+
</div>
|
|
292
|
+
</div>
|
|
293
|
+
|
|
294
|
+
{
|
|
295
|
+
object.properties ? (
|
|
296
|
+
<div className={`${PANEL_HEIGHTS.properties} overflow-auto px-2`}>
|
|
297
|
+
<JSONDisplay
|
|
298
|
+
value={object.properties}
|
|
299
|
+
viewCode={viewCode}
|
|
300
|
+
|
|
301
|
+
/>
|
|
302
|
+
</div>
|
|
303
|
+
) : (
|
|
304
|
+
<div className={`${PANEL_HEIGHTS.properties} overflow-auto px-2`}>
|
|
305
|
+
<div>No properties defined</div>
|
|
306
|
+
</div>
|
|
307
|
+
)
|
|
308
|
+
}
|
|
309
|
+
{/* Properties Editor Modal */}
|
|
310
|
+
<PropertiesEditorModal
|
|
311
|
+
isOpen={isPropertiesModalOpen}
|
|
312
|
+
onClose={handleClosePropertiesModal}
|
|
313
|
+
object={object}
|
|
314
|
+
refetch={refetch}
|
|
315
|
+
/>
|
|
316
|
+
</>
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
function DataPanel({ object, loadText, handleCopyContent, refetch }: { object: ContentObject, loadText: boolean, handleCopyContent: (content: string, type: "text" | "properties") => Promise<void>, refetch?: () => Promise<unknown> }) {
|
|
321
|
+
const isImage = object?.metadata?.type === ContentNature.Image;
|
|
322
|
+
const isVideo = object?.metadata?.type === ContentNature.Video;
|
|
323
|
+
const isAudio = object?.metadata?.type === ContentNature.Audio;
|
|
324
|
+
const isPdf = object?.content?.type === 'application/pdf';
|
|
325
|
+
const isPreviewableAsPdfDoc = object?.content?.type ? isPreviewableAsPdf(object.content.type) : false;
|
|
326
|
+
const isCreatedOrProcessing = isCreatedOrProcessingStatus(object?.status);
|
|
327
|
+
const hasTranscript = !!(object.transcript && (isVideo || isAudio));
|
|
328
|
+
|
|
329
|
+
// Check if PDF rendition exists for Office documents
|
|
330
|
+
const metadata = object.metadata as DocumentMetadata;
|
|
331
|
+
const pdfRendition = metadata?.renditions?.find(r => r.name === PDF_RENDITION_NAME);
|
|
332
|
+
|
|
333
|
+
// Determine initial panel view
|
|
334
|
+
const getInitialView = (): PanelView => {
|
|
335
|
+
if (isVideo) return PanelView.Video;
|
|
336
|
+
if (isAudio) return PanelView.Audio;
|
|
337
|
+
if (isImage) return PanelView.Image;
|
|
338
|
+
return PanelView.Text;
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
const [currentPanel, setCurrentPanel] = useState<PanelView>(getInitialView());
|
|
342
|
+
|
|
343
|
+
// Use custom hooks for text loading, PDF processing, and Office conversion
|
|
344
|
+
const {
|
|
345
|
+
fullText,
|
|
346
|
+
displayText,
|
|
347
|
+
isLoading: isLoadingText,
|
|
348
|
+
isCropped: isTextCropped,
|
|
349
|
+
} = useObjectText(object.id, object.text, loadText);
|
|
350
|
+
|
|
351
|
+
// Poll for PDF/document processing status when object is created or processing
|
|
352
|
+
const shouldPollProgress = (isPdf || isPreviewableAsPdfDoc) && isCreatedOrProcessing;
|
|
353
|
+
const {
|
|
354
|
+
progress: pdfProgress,
|
|
355
|
+
status: pdfStatus,
|
|
356
|
+
outputFormat: pdfOutputFormat,
|
|
357
|
+
isComplete: processingComplete,
|
|
358
|
+
} = usePdfProcessingStatus(object.id, shouldPollProgress);
|
|
359
|
+
|
|
360
|
+
// Office document PDF conversion
|
|
361
|
+
const {
|
|
362
|
+
pdfUrl: officePdfUrl,
|
|
363
|
+
isConverting: officePdfConverting,
|
|
364
|
+
error: officePdfError,
|
|
365
|
+
triggerConversion: triggerOfficePdfConversion,
|
|
366
|
+
} = useOfficePdfConversion(object.id, isPreviewableAsPdfDoc);
|
|
367
|
+
|
|
368
|
+
// Reload object when PDF processing completes
|
|
369
|
+
useEffect(() => {
|
|
370
|
+
if (processingComplete && pdfStatus === WorkflowExecutionStatus.COMPLETED) {
|
|
371
|
+
refetch?.();
|
|
372
|
+
}
|
|
373
|
+
}, [processingComplete, pdfStatus, refetch]);
|
|
374
|
+
|
|
375
|
+
// Show processing panel when workflow is running (for both PDFs and Office documents)
|
|
376
|
+
const showProcessingPanel = (isPdf || isPreviewableAsPdfDoc) && isCreatedOrProcessing && !processingComplete && pdfStatus === WorkflowExecutionStatus.RUNNING;
|
|
377
|
+
|
|
378
|
+
const textContainerRef = useRef<HTMLDivElement | null>(null);
|
|
379
|
+
|
|
380
|
+
return (
|
|
381
|
+
<div className="flex flex-col h-full">
|
|
382
|
+
<div className="flex justify-between items-center px-2 shrink-0">
|
|
383
|
+
<div className="flex items-center gap-2 mb-2">
|
|
384
|
+
<div className="flex items-center gap-1 bg-muted p-1 rounded">
|
|
385
|
+
{isImage &&
|
|
386
|
+
<Button
|
|
387
|
+
variant={currentPanel === PanelView.Image ? "primary" : "ghost"}
|
|
388
|
+
size="sm"
|
|
389
|
+
alt="View Image"
|
|
390
|
+
onClick={() => setCurrentPanel(PanelView.Image)}
|
|
391
|
+
>
|
|
392
|
+
Image
|
|
393
|
+
</Button>
|
|
394
|
+
}
|
|
395
|
+
{isVideo &&
|
|
396
|
+
<Button
|
|
397
|
+
variant={currentPanel === PanelView.Video ? "primary" : "ghost"}
|
|
398
|
+
size="sm"
|
|
399
|
+
alt="View Video"
|
|
400
|
+
onClick={() => setCurrentPanel(PanelView.Video)}
|
|
401
|
+
>
|
|
402
|
+
Video
|
|
403
|
+
</Button>
|
|
404
|
+
}
|
|
405
|
+
{isAudio &&
|
|
406
|
+
<Button
|
|
407
|
+
variant={currentPanel === PanelView.Audio ? "primary" : "ghost"}
|
|
408
|
+
size="sm"
|
|
409
|
+
alt="View Audio"
|
|
410
|
+
onClick={() => setCurrentPanel(PanelView.Audio)}
|
|
411
|
+
>
|
|
412
|
+
Audio
|
|
413
|
+
</Button>
|
|
414
|
+
}
|
|
415
|
+
{hasTranscript &&
|
|
416
|
+
<Button
|
|
417
|
+
variant={currentPanel === PanelView.Transcript ? "primary" : "ghost"}
|
|
418
|
+
size="sm"
|
|
419
|
+
alt="View Transcript"
|
|
420
|
+
onClick={() => setCurrentPanel(PanelView.Transcript)}
|
|
421
|
+
>
|
|
422
|
+
Transcript
|
|
423
|
+
</Button>
|
|
424
|
+
}
|
|
425
|
+
<Button
|
|
426
|
+
variant={currentPanel === PanelView.Text ? "primary" : "ghost"}
|
|
427
|
+
size="sm"
|
|
428
|
+
alt="View Text"
|
|
429
|
+
onClick={() => setCurrentPanel(PanelView.Text)}
|
|
430
|
+
>
|
|
431
|
+
Text
|
|
432
|
+
</Button>
|
|
433
|
+
{isPdf &&
|
|
434
|
+
<Button
|
|
435
|
+
variant={currentPanel === PanelView.Pdf ? "primary" : "ghost"}
|
|
436
|
+
size="sm"
|
|
437
|
+
alt="View PDF"
|
|
438
|
+
onClick={() => setCurrentPanel(PanelView.Pdf)}
|
|
439
|
+
>
|
|
440
|
+
PDF
|
|
441
|
+
</Button>
|
|
442
|
+
}
|
|
443
|
+
{isPreviewableAsPdfDoc && (
|
|
444
|
+
<Button
|
|
445
|
+
variant={currentPanel === PanelView.Pdf ? "primary" : "ghost"}
|
|
446
|
+
size="sm"
|
|
447
|
+
alt="View as PDF"
|
|
448
|
+
onClick={() => {
|
|
449
|
+
setCurrentPanel(PanelView.Pdf);
|
|
450
|
+
if (!pdfRendition && !officePdfUrl && !officePdfConverting) {
|
|
451
|
+
triggerOfficePdfConversion();
|
|
452
|
+
}
|
|
453
|
+
}}
|
|
454
|
+
disabled={officePdfConverting}
|
|
455
|
+
>
|
|
456
|
+
{officePdfConverting ? <Spinner size="sm" /> : "PDF"}
|
|
457
|
+
</Button>
|
|
458
|
+
)}
|
|
459
|
+
</div>
|
|
460
|
+
<PdfActions object={object} />
|
|
461
|
+
</div>
|
|
462
|
+
{currentPanel === PanelView.Text && !showProcessingPanel && (
|
|
463
|
+
<TextActions
|
|
464
|
+
object={object}
|
|
465
|
+
text={displayText}
|
|
466
|
+
fullText={fullText}
|
|
467
|
+
handleCopyContent={handleCopyContent}
|
|
468
|
+
textContainerRef={textContainerRef}
|
|
469
|
+
/>
|
|
470
|
+
)}
|
|
471
|
+
{currentPanel === PanelView.Pdf && isPreviewableAsPdfDoc && (pdfRendition || officePdfUrl) && (
|
|
472
|
+
<OfficePdfActions
|
|
473
|
+
object={object}
|
|
474
|
+
pdfRendition={pdfRendition}
|
|
475
|
+
officePdfUrl={officePdfUrl}
|
|
476
|
+
/>
|
|
477
|
+
)}
|
|
478
|
+
</div>
|
|
479
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Image)}>
|
|
480
|
+
<ImagePanel object={object} />
|
|
481
|
+
</div>
|
|
482
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Video)}>
|
|
483
|
+
<VideoPanel object={object} />
|
|
484
|
+
</div>
|
|
485
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Audio)}>
|
|
486
|
+
<AudioPanel object={object} />
|
|
487
|
+
</div>
|
|
488
|
+
{hasTranscript && (
|
|
489
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Transcript)}>
|
|
490
|
+
<TranscriptPanel object={object} handleCopyContent={handleCopyContent} />
|
|
491
|
+
</div>
|
|
492
|
+
)}
|
|
493
|
+
{isPdf && (
|
|
494
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Pdf)}>
|
|
495
|
+
<PdfPreviewPanel object={object} />
|
|
496
|
+
</div>
|
|
497
|
+
)}
|
|
498
|
+
{isPreviewableAsPdfDoc && (
|
|
499
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Pdf)}>
|
|
500
|
+
<OfficePdfPreviewPanel
|
|
501
|
+
pdfRendition={pdfRendition}
|
|
502
|
+
officePdfUrl={officePdfUrl}
|
|
503
|
+
officePdfConverting={officePdfConverting}
|
|
504
|
+
officePdfError={officePdfError}
|
|
505
|
+
onConvert={triggerOfficePdfConversion}
|
|
506
|
+
/>
|
|
507
|
+
</div>
|
|
508
|
+
)}
|
|
509
|
+
{showProcessingPanel && (
|
|
510
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Text)}>
|
|
511
|
+
<PdfProcessingPanel progress={pdfProgress} status={pdfStatus} outputFormat={pdfOutputFormat} />
|
|
512
|
+
</div>
|
|
513
|
+
)}
|
|
514
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Text && !showProcessingPanel && isLoadingText)}>
|
|
515
|
+
<div className="flex justify-center items-center flex-1">
|
|
516
|
+
<Spinner size="lg" />
|
|
517
|
+
</div>
|
|
518
|
+
</div>
|
|
519
|
+
<div className={getPanelVisibility(currentPanel === PanelView.Text && !showProcessingPanel && !isLoadingText)}>
|
|
520
|
+
<TextPanel
|
|
521
|
+
object={object}
|
|
522
|
+
text={displayText}
|
|
523
|
+
isTextCropped={isTextCropped}
|
|
524
|
+
textContainerRef={textContainerRef}
|
|
525
|
+
/>
|
|
526
|
+
</div>
|
|
527
|
+
</div>
|
|
528
|
+
);
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
function TextActions({
|
|
532
|
+
object,
|
|
533
|
+
text,
|
|
534
|
+
fullText,
|
|
535
|
+
handleCopyContent,
|
|
536
|
+
textContainerRef,
|
|
537
|
+
}: TextActionsProps) {
|
|
538
|
+
const { client } = useUserSession();
|
|
539
|
+
const toast = useToast();
|
|
540
|
+
const [loadingFormat, setLoadingFormat] = useState<"docx" | "pdf" | null>(null);
|
|
541
|
+
const [isPdfModalOpen, setIsPdfModalOpen] = useState(false);
|
|
542
|
+
|
|
543
|
+
const content = object.content;
|
|
544
|
+
|
|
545
|
+
const isMarkdown =
|
|
546
|
+
content &&
|
|
547
|
+
content.type &&
|
|
548
|
+
content.type === "text/markdown";
|
|
549
|
+
|
|
550
|
+
// Get content processor type for file extension detection
|
|
551
|
+
const contentProcessorType = getContentProcessorType(object);
|
|
552
|
+
|
|
553
|
+
const handleExportDocument = async (format: "docx" | "pdf") => {
|
|
554
|
+
// Prevent multiple concurrent exports
|
|
555
|
+
if (loadingFormat) return;
|
|
556
|
+
|
|
557
|
+
setLoadingFormat(format);
|
|
558
|
+
|
|
559
|
+
// Show immediate feedback
|
|
560
|
+
toast({
|
|
561
|
+
status: "info",
|
|
562
|
+
title: `Preparing ${format.toUpperCase()}`,
|
|
563
|
+
description: "Fetching your document...",
|
|
564
|
+
duration: 2000,
|
|
565
|
+
});
|
|
566
|
+
|
|
567
|
+
try {
|
|
568
|
+
// Request document rendition from the server
|
|
569
|
+
const response = await client.objects.getRendition(object.id, {
|
|
570
|
+
format: format as any, // We're extending the format type
|
|
571
|
+
generate_if_missing: true,
|
|
572
|
+
sign_url: true,
|
|
573
|
+
});
|
|
574
|
+
|
|
575
|
+
if (response.status === "generating") {
|
|
576
|
+
toast({
|
|
577
|
+
status: "info",
|
|
578
|
+
title: "Generating document",
|
|
579
|
+
description: `Please wait while we prepare your ${format.toUpperCase()} file...`,
|
|
580
|
+
duration: 5000,
|
|
581
|
+
});
|
|
582
|
+
|
|
583
|
+
// Poll for completion
|
|
584
|
+
setTimeout(() => handleExportDocument(format), 3000);
|
|
585
|
+
return;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
if (response.status === "failed") {
|
|
589
|
+
throw new Error("Document generation failed");
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
// Download the generated file or open in new window
|
|
593
|
+
if (response.renditions && response.renditions.length > 0) {
|
|
594
|
+
const downloadUrl = response.renditions[0];
|
|
595
|
+
|
|
596
|
+
if (format === 'pdf') {
|
|
597
|
+
// Open PDF in new window
|
|
598
|
+
window.open(downloadUrl, '_blank');
|
|
599
|
+
toast({
|
|
600
|
+
status: "success",
|
|
601
|
+
title: "PDF opened",
|
|
602
|
+
description: "PDF document opened in a new window",
|
|
603
|
+
duration: 2000,
|
|
604
|
+
});
|
|
605
|
+
} else {
|
|
606
|
+
// Download DOCX file
|
|
607
|
+
const link = document.createElement("a");
|
|
608
|
+
link.href = downloadUrl;
|
|
609
|
+
link.download = `${object.name || "document"}.${format}`;
|
|
610
|
+
document.body.appendChild(link);
|
|
611
|
+
link.click();
|
|
612
|
+
document.body.removeChild(link);
|
|
613
|
+
|
|
614
|
+
toast({
|
|
615
|
+
status: "success",
|
|
616
|
+
title: "Document exported",
|
|
617
|
+
description: `Successfully exported to ${format.toUpperCase()} format`,
|
|
618
|
+
duration: 2000,
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
} catch (err) {
|
|
623
|
+
console.error(`Failed to export document as ${format}:`, err);
|
|
624
|
+
toast({
|
|
625
|
+
status: "error",
|
|
626
|
+
title: "Export failed",
|
|
627
|
+
description: `Failed to export document to ${format.toUpperCase()} format`,
|
|
628
|
+
duration: 5000,
|
|
629
|
+
});
|
|
630
|
+
} finally {
|
|
631
|
+
setLoadingFormat(null);
|
|
632
|
+
}
|
|
633
|
+
};
|
|
634
|
+
|
|
635
|
+
const handleExportDocx = () => handleExportDocument("docx");
|
|
636
|
+
|
|
637
|
+
const handleClientPdfExport = () => {
|
|
638
|
+
if (!textContainerRef.current) {
|
|
639
|
+
toast({
|
|
640
|
+
status: "error",
|
|
641
|
+
title: "PDF export failed",
|
|
642
|
+
description: "No content available to export",
|
|
643
|
+
duration: 3000,
|
|
644
|
+
});
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
647
|
+
setIsPdfModalOpen(true);
|
|
648
|
+
};
|
|
649
|
+
|
|
650
|
+
const handleConfirmClientPdfExport = () => {
|
|
651
|
+
if (!textContainerRef.current) {
|
|
652
|
+
toast({
|
|
653
|
+
status: "error",
|
|
654
|
+
title: "PDF export failed",
|
|
655
|
+
description: "No content available to export",
|
|
656
|
+
duration: 3000,
|
|
657
|
+
});
|
|
658
|
+
return;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
const baseName = object.name || object.id;
|
|
662
|
+
const pdfTitle = `${baseName || "document"} - content`;
|
|
663
|
+
const success = printElementToPdf(textContainerRef.current, pdfTitle);
|
|
664
|
+
|
|
665
|
+
if (!success) {
|
|
666
|
+
toast({
|
|
667
|
+
status: "error",
|
|
668
|
+
title: "PDF export failed",
|
|
669
|
+
description: "Unable to open print preview",
|
|
670
|
+
duration: 4000,
|
|
671
|
+
});
|
|
672
|
+
return;
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
toast({
|
|
676
|
+
status: "success",
|
|
677
|
+
title: "PDF export ready",
|
|
678
|
+
description: "Use your browser's Print dialog to save as PDF",
|
|
679
|
+
duration: 4000,
|
|
680
|
+
});
|
|
681
|
+
setIsPdfModalOpen(false);
|
|
682
|
+
};
|
|
683
|
+
|
|
684
|
+
const handleDownloadText = (e: React.MouseEvent) => {
|
|
685
|
+
e.preventDefault();
|
|
686
|
+
e.stopPropagation();
|
|
687
|
+
if (!fullText) return;
|
|
688
|
+
// Determine file extension based on content processor type
|
|
689
|
+
let ext = "txt";
|
|
690
|
+
let mimeType = "text/plain";
|
|
691
|
+
if (contentProcessorType === "xml") {
|
|
692
|
+
ext = "xml";
|
|
693
|
+
mimeType = "text/xml";
|
|
694
|
+
} else if (contentProcessorType === "markdown" || isMarkdown) {
|
|
695
|
+
ext = "md";
|
|
696
|
+
mimeType = "text/markdown";
|
|
697
|
+
}
|
|
698
|
+
const blob = new Blob([fullText], { type: mimeType });
|
|
699
|
+
const url = URL.createObjectURL(blob);
|
|
700
|
+
const filename = `${object.name || "document"}.${ext}`;
|
|
701
|
+
|
|
702
|
+
// Use the download attribute with an anchor, but avoid triggering navigation
|
|
703
|
+
const link = document.createElement("a");
|
|
704
|
+
link.href = url;
|
|
705
|
+
link.download = filename;
|
|
706
|
+
link.style.display = "none";
|
|
707
|
+
// Temporarily remove from DOM event flow
|
|
708
|
+
setTimeout(() => {
|
|
709
|
+
link.click();
|
|
710
|
+
URL.revokeObjectURL(url);
|
|
711
|
+
}, 0);
|
|
712
|
+
};
|
|
713
|
+
|
|
714
|
+
return (
|
|
715
|
+
<>
|
|
716
|
+
<div className="h-[41px] text-lg font-semibold flex justify-between items-center px-2">
|
|
717
|
+
<div className="flex items-center gap-2">
|
|
718
|
+
{fullText && (
|
|
719
|
+
<>
|
|
720
|
+
<Button variant="ghost" size="sm" title="Copy text" onClick={() => handleCopyContent(fullText, "text")}>
|
|
721
|
+
<Copy className="size-4" />
|
|
722
|
+
</Button>
|
|
723
|
+
<Button variant="ghost" size="sm" title="Download text" onClick={handleDownloadText}>
|
|
724
|
+
<Download className="size-4" />
|
|
725
|
+
</Button>
|
|
726
|
+
</>
|
|
727
|
+
)}
|
|
728
|
+
{isMarkdown && text && (
|
|
729
|
+
<>
|
|
730
|
+
<Button
|
|
731
|
+
variant="ghost"
|
|
732
|
+
size="sm"
|
|
733
|
+
onClick={handleExportDocx}
|
|
734
|
+
disabled={loadingFormat !== null}
|
|
735
|
+
className="flex items-center gap-2"
|
|
736
|
+
>
|
|
737
|
+
{loadingFormat === "docx" ? (
|
|
738
|
+
<Spinner size="sm" />
|
|
739
|
+
) : (
|
|
740
|
+
<Download className="size-4" />
|
|
741
|
+
)}
|
|
742
|
+
DOCX
|
|
743
|
+
</Button>
|
|
744
|
+
<Button
|
|
745
|
+
variant="ghost"
|
|
746
|
+
size="sm"
|
|
747
|
+
onClick={handleClientPdfExport}
|
|
748
|
+
className="flex items-center gap-2"
|
|
749
|
+
>
|
|
750
|
+
<Download className="size-4" />
|
|
751
|
+
PDF
|
|
752
|
+
</Button>
|
|
753
|
+
</>
|
|
754
|
+
)}
|
|
755
|
+
</div>
|
|
756
|
+
</div>
|
|
757
|
+
<VModal isOpen={isPdfModalOpen} onClose={() => setIsPdfModalOpen(false)}>
|
|
758
|
+
<VModalTitle>Export document as PDF</VModalTitle>
|
|
759
|
+
<VModalBody>
|
|
760
|
+
<p className="mb-2">
|
|
761
|
+
This will open your browser's print dialog with the current document content.
|
|
762
|
+
</p>
|
|
763
|
+
<p className="text-sm text-muted">
|
|
764
|
+
To save a PDF, choose "Save as PDF" or a similar option in the print dialog.
|
|
765
|
+
</p>
|
|
766
|
+
</VModalBody>
|
|
767
|
+
<VModalFooter align="right">
|
|
768
|
+
<Button variant="ghost" size="sm" onClick={() => setIsPdfModalOpen(false)}>
|
|
769
|
+
Cancel
|
|
770
|
+
</Button>
|
|
771
|
+
<Button size="sm" onClick={handleConfirmClientPdfExport}>
|
|
772
|
+
Open print dialog
|
|
773
|
+
</Button>
|
|
774
|
+
</VModalFooter>
|
|
775
|
+
</VModal>
|
|
776
|
+
</>
|
|
777
|
+
);
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
const TextPanel = memo(({
|
|
781
|
+
object,
|
|
782
|
+
text,
|
|
783
|
+
isTextCropped,
|
|
784
|
+
textContainerRef,
|
|
785
|
+
}: TextPanelProps) => {
|
|
786
|
+
const content = object.content;
|
|
787
|
+
const isCreatedOrProcessing = isCreatedOrProcessingStatus(object?.status);
|
|
788
|
+
|
|
789
|
+
// Check content processor type for XML
|
|
790
|
+
const contentProcessorType = getContentProcessorType(object);
|
|
791
|
+
const isXml = contentProcessorType === "xml";
|
|
792
|
+
|
|
793
|
+
// Check if content type is markdown or plain text
|
|
794
|
+
const isMarkdownOrText =
|
|
795
|
+
content &&
|
|
796
|
+
content.type &&
|
|
797
|
+
(content.type === "text/markdown" || content.type === "text/plain");
|
|
798
|
+
|
|
799
|
+
// Render as markdown if it's markdown/text type OR if text looks like markdown (but not if XML)
|
|
800
|
+
const shouldRenderAsMarkdown = !isXml && (isMarkdownOrText || looksLikeMarkdown(text));
|
|
801
|
+
|
|
802
|
+
return (
|
|
803
|
+
text ? (
|
|
804
|
+
<>
|
|
805
|
+
{isTextCropped && (
|
|
806
|
+
<div className="px-2 py-2 bg-attention/10 border-l-4 border-attention mx-2 mb-2 rounded">
|
|
807
|
+
<div className="flex items-center gap-2 text-attention">
|
|
808
|
+
<AlertTriangle className="size-4" />
|
|
809
|
+
<span className="text-sm font-semibold">Showing first 128K characters only</span>
|
|
810
|
+
</div>
|
|
811
|
+
</div>
|
|
812
|
+
)}
|
|
813
|
+
<div
|
|
814
|
+
className={`max-w-7xl px-2 ${PANEL_HEIGHTS.content} overflow-auto`}
|
|
815
|
+
ref={textContainerRef}
|
|
816
|
+
>
|
|
817
|
+
{isXml ? (
|
|
818
|
+
<div className="px-4 py-2">
|
|
819
|
+
<XMLViewer xml={text} collapsible />
|
|
820
|
+
</div>
|
|
821
|
+
) : shouldRenderAsMarkdown ? (
|
|
822
|
+
<div className="vprose prose-sm p-1">
|
|
823
|
+
<MarkdownRenderer components={createMarkdownComponents()}>
|
|
824
|
+
{text}
|
|
825
|
+
</MarkdownRenderer>
|
|
826
|
+
</div>
|
|
827
|
+
) : (
|
|
828
|
+
<pre className="text-wrap bg-muted text-muted p-2">
|
|
829
|
+
{text}
|
|
830
|
+
</pre>
|
|
831
|
+
)}
|
|
832
|
+
</div>
|
|
833
|
+
</>
|
|
834
|
+
) :
|
|
835
|
+
<div className="px-2">
|
|
836
|
+
<div>{isCreatedOrProcessing ? "Extracting content..." : "No content"}</div>
|
|
837
|
+
</div>
|
|
838
|
+
);
|
|
839
|
+
});
|
|
840
|
+
|
|
841
|
+
function ImagePanel({ object }: { object: ContentObject }) {
|
|
842
|
+
const { client } = useUserSession();
|
|
843
|
+
const [imageUrl, setImageUrl] = useState<string>();
|
|
844
|
+
|
|
845
|
+
const content = object.content;
|
|
846
|
+
const isImage = object.metadata && object.metadata.type === ContentNature.Image;
|
|
847
|
+
|
|
848
|
+
useEffect(() => {
|
|
849
|
+
if (isImage) {
|
|
850
|
+
// Reset image URL when object changes
|
|
851
|
+
setImageUrl(undefined);
|
|
852
|
+
|
|
853
|
+
const loadImage = async () => {
|
|
854
|
+
const isOriginalWebSupported = content?.type && WEB_SUPPORTED_IMAGE_FORMATS.includes(content.type);
|
|
855
|
+
|
|
856
|
+
try {
|
|
857
|
+
const rendition = await client.objects.getRendition(object.id, {
|
|
858
|
+
format: ImageRenditionFormat.jpeg,
|
|
859
|
+
generate_if_missing: false,
|
|
860
|
+
sign_url: true,
|
|
861
|
+
});
|
|
862
|
+
|
|
863
|
+
if (rendition.status === "found" && rendition.renditions?.length) {
|
|
864
|
+
// Use rendition URL directly
|
|
865
|
+
setImageUrl(rendition.renditions[0]);
|
|
866
|
+
} else if (isOriginalWebSupported) {
|
|
867
|
+
// Fall back to original file only if web-supported
|
|
868
|
+
const downloadUrl = await client.files.getDownloadUrl(object.content.source!);
|
|
869
|
+
setImageUrl(downloadUrl.url);
|
|
870
|
+
}
|
|
871
|
+
} catch (error) {
|
|
872
|
+
// Fall back to original file only if web-supported
|
|
873
|
+
if (isOriginalWebSupported) {
|
|
874
|
+
const downloadUrl = await client.files.getDownloadUrl(object.content.source!);
|
|
875
|
+
setImageUrl(downloadUrl.url);
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
};
|
|
879
|
+
|
|
880
|
+
loadImage();
|
|
881
|
+
}
|
|
882
|
+
}, [object.id, isImage, content?.type, content?.source, client]);
|
|
883
|
+
|
|
884
|
+
return (
|
|
885
|
+
<div className="mb-4 px-2">
|
|
886
|
+
{imageUrl ? (
|
|
887
|
+
<img
|
|
888
|
+
src={imageUrl}
|
|
889
|
+
alt={object.name}
|
|
890
|
+
className="w-full object-contain"
|
|
891
|
+
/>
|
|
892
|
+
) : (
|
|
893
|
+
<Spinner size="md" />
|
|
894
|
+
)}
|
|
895
|
+
</div>
|
|
896
|
+
);
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
function VideoPanel({ object }: { object: ContentObject }) {
|
|
900
|
+
const { client } = useUserSession();
|
|
901
|
+
const [videoUrl, setVideoUrl] = useState<string>();
|
|
902
|
+
const [posterUrl, setPosterUrl] = useState<string>();
|
|
903
|
+
const [isLoading, setIsLoading] = useState<boolean>(true);
|
|
904
|
+
|
|
905
|
+
const content = object.content;
|
|
906
|
+
const isVideo = object.metadata?.type === ContentNature.Video;
|
|
907
|
+
|
|
908
|
+
// Check if there are mp4 or webm renditions available in metadata
|
|
909
|
+
const metadata = object.metadata as VideoMetadata;
|
|
910
|
+
const renditions = metadata?.renditions || [];
|
|
911
|
+
|
|
912
|
+
// Find mp4 or webm rendition by mime type, preferring mp4
|
|
913
|
+
const webRendition = renditions.find(r => r.content.type === 'video/mp4') ||
|
|
914
|
+
renditions.find(r => r.content.type === 'video/webm');
|
|
915
|
+
|
|
916
|
+
// Check if original file is web-compatible
|
|
917
|
+
const isOriginalWebSupported = content?.type && WEB_SUPPORTED_VIDEO_FORMATS.includes(content.type);
|
|
918
|
+
|
|
919
|
+
// Get poster
|
|
920
|
+
const poster = renditions.find(r => r.name === POSTER_RENDITION_NAME);
|
|
921
|
+
|
|
922
|
+
// Reset state when object changes
|
|
923
|
+
useEffect(() => {
|
|
924
|
+
setVideoUrl(undefined);
|
|
925
|
+
setPosterUrl(undefined);
|
|
926
|
+
setIsLoading(true);
|
|
927
|
+
}, [object.id]);
|
|
928
|
+
|
|
929
|
+
useEffect(() => {
|
|
930
|
+
const loadPoster = async () => {
|
|
931
|
+
if (poster?.content?.source) {
|
|
932
|
+
try {
|
|
933
|
+
const response = await client.files.getDownloadUrl(poster.content.source);
|
|
934
|
+
setPosterUrl(response.url);
|
|
935
|
+
} catch (error) {
|
|
936
|
+
console.error("Failed to load poster image", error);
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
};
|
|
940
|
+
loadPoster();
|
|
941
|
+
}, [poster, client]);
|
|
942
|
+
|
|
943
|
+
useEffect(() => {
|
|
944
|
+
if (isVideo && (webRendition?.content?.source || isOriginalWebSupported)) {
|
|
945
|
+
const loadVideoUrl = async () => {
|
|
946
|
+
try {
|
|
947
|
+
let downloadUrl;
|
|
948
|
+
if (webRendition?.content?.source) {
|
|
949
|
+
// Use rendition if available
|
|
950
|
+
downloadUrl = await client.files.getDownloadUrl(webRendition.content.source);
|
|
951
|
+
} else if (isOriginalWebSupported && content?.source) {
|
|
952
|
+
// Fall back to original file if web-supported
|
|
953
|
+
downloadUrl = await client.files.getDownloadUrl(content.source);
|
|
954
|
+
}
|
|
955
|
+
if (downloadUrl) {
|
|
956
|
+
setVideoUrl(downloadUrl.url);
|
|
957
|
+
}
|
|
958
|
+
} catch (error) {
|
|
959
|
+
console.error("Failed to get video URL", error);
|
|
960
|
+
} finally {
|
|
961
|
+
setIsLoading(false);
|
|
962
|
+
}
|
|
963
|
+
};
|
|
964
|
+
loadVideoUrl();
|
|
965
|
+
} else {
|
|
966
|
+
setIsLoading(false);
|
|
967
|
+
}
|
|
968
|
+
}, [isVideo, webRendition, isOriginalWebSupported, content?.source, client]);
|
|
969
|
+
|
|
970
|
+
return (
|
|
971
|
+
<div className="mb-4 px-2">
|
|
972
|
+
{!webRendition && !isOriginalWebSupported ? (
|
|
973
|
+
<div className="flex justify-center items-center h-[400px] text-muted">
|
|
974
|
+
<div className="text-center">
|
|
975
|
+
<p>No web-compatible video rendition available</p>
|
|
976
|
+
<p className="text-sm mt-2">MP4 or WebM format required</p>
|
|
977
|
+
</div>
|
|
978
|
+
</div>
|
|
979
|
+
) : isLoading ? (
|
|
980
|
+
<div className="flex justify-center items-center h-[400px]">
|
|
981
|
+
<Spinner size="md" />
|
|
982
|
+
</div>
|
|
983
|
+
) : videoUrl ? (
|
|
984
|
+
<video
|
|
985
|
+
src={videoUrl}
|
|
986
|
+
poster={posterUrl}
|
|
987
|
+
controls
|
|
988
|
+
className={`w-full ${PANEL_HEIGHTS.video} object-contain`}
|
|
989
|
+
>
|
|
990
|
+
Your browser does not support the video tag.
|
|
991
|
+
</video>
|
|
992
|
+
) : (
|
|
993
|
+
<div className="flex justify-center items-center h-[400px] text-muted">
|
|
994
|
+
Failed to load video
|
|
995
|
+
</div>
|
|
996
|
+
)}
|
|
997
|
+
</div>
|
|
998
|
+
);
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
function AudioPanel({ object }: { object: ContentObject }) {
|
|
1002
|
+
const { client } = useUserSession();
|
|
1003
|
+
const [audioUrl, setAudioUrl] = useState<string>();
|
|
1004
|
+
const [isLoading, setIsLoading] = useState<boolean>(true);
|
|
1005
|
+
|
|
1006
|
+
const content = object.content;
|
|
1007
|
+
const isAudio = object.metadata?.type === ContentNature.Audio;
|
|
1008
|
+
|
|
1009
|
+
// Check if there are audio renditions available in metadata
|
|
1010
|
+
const metadata = object.metadata as AudioMetadata;
|
|
1011
|
+
const renditions = metadata?.renditions || [];
|
|
1012
|
+
|
|
1013
|
+
// Find audio rendition by name (AUDIO_RENDITION_NAME = "Audio")
|
|
1014
|
+
const audioRendition = renditions.find(r => r.name === AUDIO_RENDITION_NAME);
|
|
1015
|
+
|
|
1016
|
+
// Check if original file is web-compatible
|
|
1017
|
+
const isOriginalWebSupported = content?.type && WEB_SUPPORTED_AUDIO_FORMATS.includes(content.type);
|
|
1018
|
+
|
|
1019
|
+
// Reset state when object changes
|
|
1020
|
+
useEffect(() => {
|
|
1021
|
+
setAudioUrl(undefined);
|
|
1022
|
+
setIsLoading(true);
|
|
1023
|
+
}, [object.id]);
|
|
1024
|
+
|
|
1025
|
+
useEffect(() => {
|
|
1026
|
+
if (isAudio && (audioRendition?.content?.source || isOriginalWebSupported)) {
|
|
1027
|
+
const loadAudioUrl = async () => {
|
|
1028
|
+
try {
|
|
1029
|
+
let downloadUrl;
|
|
1030
|
+
if (audioRendition?.content?.source) {
|
|
1031
|
+
// Use rendition if available
|
|
1032
|
+
downloadUrl = await client.files.getDownloadUrl(audioRendition.content.source);
|
|
1033
|
+
} else if (isOriginalWebSupported && content?.source) {
|
|
1034
|
+
// Fall back to original file if web-supported
|
|
1035
|
+
downloadUrl = await client.files.getDownloadUrl(content.source);
|
|
1036
|
+
}
|
|
1037
|
+
if (downloadUrl) {
|
|
1038
|
+
setAudioUrl(downloadUrl.url);
|
|
1039
|
+
}
|
|
1040
|
+
} catch (error) {
|
|
1041
|
+
console.error("Failed to get audio URL", error);
|
|
1042
|
+
} finally {
|
|
1043
|
+
setIsLoading(false);
|
|
1044
|
+
}
|
|
1045
|
+
};
|
|
1046
|
+
loadAudioUrl();
|
|
1047
|
+
} else {
|
|
1048
|
+
setIsLoading(false);
|
|
1049
|
+
}
|
|
1050
|
+
}, [isAudio, audioRendition, isOriginalWebSupported, content?.source, client]);
|
|
1051
|
+
|
|
1052
|
+
return (
|
|
1053
|
+
<div className="mb-4 px-2">
|
|
1054
|
+
{!audioRendition && !isOriginalWebSupported ? (
|
|
1055
|
+
<div className="flex justify-center items-center h-[200px] text-muted">
|
|
1056
|
+
<div className="text-center">
|
|
1057
|
+
<p>No web-compatible audio rendition available</p>
|
|
1058
|
+
<p className="text-sm mt-2">MP3, M4A, OGG, WAV, or WebM format required</p>
|
|
1059
|
+
</div>
|
|
1060
|
+
</div>
|
|
1061
|
+
) : isLoading ? (
|
|
1062
|
+
<div className="flex justify-center items-center h-[200px]">
|
|
1063
|
+
<Spinner size="md" />
|
|
1064
|
+
</div>
|
|
1065
|
+
) : audioUrl ? (
|
|
1066
|
+
<div className="flex flex-col items-center gap-4">
|
|
1067
|
+
<audio
|
|
1068
|
+
src={audioUrl}
|
|
1069
|
+
controls
|
|
1070
|
+
className="w-full max-w-2xl"
|
|
1071
|
+
>
|
|
1072
|
+
Your browser does not support the audio tag.
|
|
1073
|
+
</audio>
|
|
1074
|
+
{metadata?.duration && (
|
|
1075
|
+
<div className="text-sm text-muted">
|
|
1076
|
+
Duration: {formatDuration(metadata.duration)}
|
|
1077
|
+
</div>
|
|
1078
|
+
)}
|
|
1079
|
+
</div>
|
|
1080
|
+
) : (
|
|
1081
|
+
<div className="flex justify-center items-center h-[200px] text-muted">
|
|
1082
|
+
Failed to load audio
|
|
1083
|
+
</div>
|
|
1084
|
+
)}
|
|
1085
|
+
</div>
|
|
1086
|
+
);
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
function formatDuration(seconds: number): string {
|
|
1090
|
+
const hours = Math.floor(seconds / 3600);
|
|
1091
|
+
const minutes = Math.floor((seconds % 3600) / 60);
|
|
1092
|
+
const secs = Math.floor(seconds % 60);
|
|
1093
|
+
|
|
1094
|
+
if (hours > 0) {
|
|
1095
|
+
return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
|
|
1096
|
+
}
|
|
1097
|
+
return `${minutes}:${secs.toString().padStart(2, '0')}`;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
function TranscriptPanel({ object, handleCopyContent }: { object: ContentObject, handleCopyContent: (content: string, type: "text" | "properties") => Promise<void> }) {
|
|
1101
|
+
const transcript = object.transcript;
|
|
1102
|
+
const transcriptText = transcript?.text;
|
|
1103
|
+
const segments = transcript?.segments;
|
|
1104
|
+
|
|
1105
|
+
// Build full text from segments if text is not available
|
|
1106
|
+
const fullText = transcriptText || (segments ? segments.map(s => s.text).join(' ') : '');
|
|
1107
|
+
|
|
1108
|
+
const formatTimestamp = (seconds: number): string => {
|
|
1109
|
+
const hours = Math.floor(seconds / 3600);
|
|
1110
|
+
const minutes = Math.floor((seconds % 3600) / 60);
|
|
1111
|
+
const secs = Math.floor(seconds % 60);
|
|
1112
|
+
|
|
1113
|
+
if (hours > 0) {
|
|
1114
|
+
return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
|
|
1115
|
+
}
|
|
1116
|
+
return `${minutes}:${secs.toString().padStart(2, '0')}`;
|
|
1117
|
+
};
|
|
1118
|
+
|
|
1119
|
+
return (
|
|
1120
|
+
<div className="flex flex-col h-full">
|
|
1121
|
+
<div className="flex justify-end items-center px-2 mb-2">
|
|
1122
|
+
{fullText && (
|
|
1123
|
+
<Button
|
|
1124
|
+
variant="ghost"
|
|
1125
|
+
size="sm"
|
|
1126
|
+
title="Copy transcript"
|
|
1127
|
+
onClick={() => handleCopyContent(fullText, "text")}
|
|
1128
|
+
>
|
|
1129
|
+
<Copy className="size-4" />
|
|
1130
|
+
</Button>
|
|
1131
|
+
)}
|
|
1132
|
+
</div>
|
|
1133
|
+
<div className={`${PANEL_HEIGHTS.content} overflow-auto px-2`}>
|
|
1134
|
+
{segments && segments.length > 0 ? (
|
|
1135
|
+
<div className="space-y-2">
|
|
1136
|
+
{segments.map((segment, idx) => (
|
|
1137
|
+
<div key={idx} className="flex gap-3 text-sm">
|
|
1138
|
+
<span className="text-muted font-mono text-xs shrink-0 pt-0.5">
|
|
1139
|
+
{formatTimestamp(segment.start)}
|
|
1140
|
+
{segment.end && ` - ${formatTimestamp(segment.end)}`}
|
|
1141
|
+
</span>
|
|
1142
|
+
<span className="flex-1">{segment.text}</span>
|
|
1143
|
+
</div>
|
|
1144
|
+
))}
|
|
1145
|
+
</div>
|
|
1146
|
+
) : transcriptText ? (
|
|
1147
|
+
<pre className="text-wrap bg-muted text-muted p-2 whitespace-pre-wrap">
|
|
1148
|
+
{transcriptText}
|
|
1149
|
+
</pre>
|
|
1150
|
+
) : (
|
|
1151
|
+
<div className="text-muted">No transcript available</div>
|
|
1152
|
+
)}
|
|
1153
|
+
</div>
|
|
1154
|
+
</div>
|
|
1155
|
+
);
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
function PdfActions({ object }: { object: ContentObject }) {
|
|
1159
|
+
const [isPdfPreviewOpen, setPdfPreviewOpen] = useState(false);
|
|
1160
|
+
|
|
1161
|
+
// Check if PDF has been processed (content_processor.type is xml or markdown)
|
|
1162
|
+
const contentProcessorType = getContentProcessorType(object);
|
|
1163
|
+
const hasPdfAnalysis = contentProcessorType === "xml" || contentProcessorType === "markdown";
|
|
1164
|
+
|
|
1165
|
+
if (!hasPdfAnalysis) return null;
|
|
1166
|
+
|
|
1167
|
+
return (
|
|
1168
|
+
<>
|
|
1169
|
+
<Button
|
|
1170
|
+
variant="ghost"
|
|
1171
|
+
size="sm"
|
|
1172
|
+
onClick={() => setPdfPreviewOpen(true)}
|
|
1173
|
+
title="Side by side view"
|
|
1174
|
+
>
|
|
1175
|
+
<FileSearch className="size-4" />
|
|
1176
|
+
</Button>
|
|
1177
|
+
{isPdfPreviewOpen && (
|
|
1178
|
+
<Portal>
|
|
1179
|
+
<MagicPdfView objectId={object.id} onClose={() => setPdfPreviewOpen(false)} />
|
|
1180
|
+
</Portal>
|
|
1181
|
+
)}
|
|
1182
|
+
</>
|
|
1183
|
+
);
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
function OfficePdfActions({
|
|
1187
|
+
object,
|
|
1188
|
+
pdfRendition,
|
|
1189
|
+
officePdfUrl,
|
|
1190
|
+
}: OfficePdfActionsProps) {
|
|
1191
|
+
const { client } = useUserSession();
|
|
1192
|
+
const toast = useToast();
|
|
1193
|
+
const [isDownloading, setIsDownloading] = useState(false);
|
|
1194
|
+
|
|
1195
|
+
const handleDownloadPdf = async () => {
|
|
1196
|
+
setIsDownloading(true);
|
|
1197
|
+
try {
|
|
1198
|
+
let downloadUrl = officePdfUrl;
|
|
1199
|
+
|
|
1200
|
+
// If we have a rendition source but no signed URL yet, get a signed URL
|
|
1201
|
+
if (!downloadUrl && pdfRendition?.content?.source) {
|
|
1202
|
+
const response = await client.files.getDownloadUrl(
|
|
1203
|
+
pdfRendition.content.source,
|
|
1204
|
+
`${object.name || 'document'}.pdf`,
|
|
1205
|
+
'attachment'
|
|
1206
|
+
);
|
|
1207
|
+
downloadUrl = response.url;
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
if (downloadUrl) {
|
|
1211
|
+
// Open in new tab - browser will handle as download due to content-disposition
|
|
1212
|
+
window.open(downloadUrl, '_blank');
|
|
1213
|
+
}
|
|
1214
|
+
} catch (err) {
|
|
1215
|
+
console.error('Failed to download PDF:', err);
|
|
1216
|
+
toast({
|
|
1217
|
+
status: 'error',
|
|
1218
|
+
title: 'Download failed',
|
|
1219
|
+
description: 'Failed to download the PDF file',
|
|
1220
|
+
duration: 5000,
|
|
1221
|
+
});
|
|
1222
|
+
} finally {
|
|
1223
|
+
setIsDownloading(false);
|
|
1224
|
+
}
|
|
1225
|
+
};
|
|
1226
|
+
|
|
1227
|
+
return (
|
|
1228
|
+
<div className="flex items-center gap-2">
|
|
1229
|
+
<Button
|
|
1230
|
+
variant="ghost"
|
|
1231
|
+
size="sm"
|
|
1232
|
+
onClick={handleDownloadPdf}
|
|
1233
|
+
disabled={isDownloading}
|
|
1234
|
+
title="Download PDF"
|
|
1235
|
+
>
|
|
1236
|
+
{isDownloading ? <Spinner size="sm" /> : <Download className="size-4" />}
|
|
1237
|
+
</Button>
|
|
1238
|
+
</div>
|
|
1239
|
+
);
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
function PdfPreviewPanel({ object }: { object: ContentObject }) {
|
|
1243
|
+
return (
|
|
1244
|
+
<div className={PANEL_HEIGHTS.content}>
|
|
1245
|
+
<SimplePdfViewer
|
|
1246
|
+
object={object}
|
|
1247
|
+
className="h-full"
|
|
1248
|
+
/>
|
|
1249
|
+
</div>
|
|
1250
|
+
);
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
/**
|
|
1254
|
+
* Panel for displaying Office documents converted to PDF.
|
|
1255
|
+
* Handles the various states: converting, error, showing PDF.
|
|
1256
|
+
*/
|
|
1257
|
+
function OfficePdfPreviewPanel({
|
|
1258
|
+
pdfRendition,
|
|
1259
|
+
officePdfUrl,
|
|
1260
|
+
officePdfConverting,
|
|
1261
|
+
officePdfError,
|
|
1262
|
+
onConvert,
|
|
1263
|
+
}: OfficePdfPreviewPanelProps) {
|
|
1264
|
+
if (officePdfConverting) {
|
|
1265
|
+
return (
|
|
1266
|
+
<div className="flex flex-col justify-center items-center flex-1 gap-2">
|
|
1267
|
+
<Spinner size="lg" />
|
|
1268
|
+
<span className="text-muted">Converting to PDF...</span>
|
|
1269
|
+
</div>
|
|
1270
|
+
);
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
if (officePdfError) {
|
|
1274
|
+
return (
|
|
1275
|
+
<div className="flex flex-col justify-center items-center flex-1 gap-2 text-destructive">
|
|
1276
|
+
<AlertTriangle className="size-8" />
|
|
1277
|
+
<span>{officePdfError}</span>
|
|
1278
|
+
</div>
|
|
1279
|
+
);
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
if (pdfRendition?.content?.source) {
|
|
1283
|
+
return (
|
|
1284
|
+
<div className={PANEL_HEIGHTS.content}>
|
|
1285
|
+
<SimplePdfViewer source={pdfRendition.content.source} className="h-full" />
|
|
1286
|
+
</div>
|
|
1287
|
+
);
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
if (officePdfUrl) {
|
|
1291
|
+
return (
|
|
1292
|
+
<div className={PANEL_HEIGHTS.content}>
|
|
1293
|
+
<SimplePdfViewer url={officePdfUrl} className="h-full" />
|
|
1294
|
+
</div>
|
|
1295
|
+
);
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
return (
|
|
1299
|
+
<div className="flex flex-col justify-center items-center flex-1 gap-2">
|
|
1300
|
+
<Button onClick={onConvert}>
|
|
1301
|
+
Convert to PDF
|
|
1302
|
+
</Button>
|
|
1303
|
+
</div>
|
|
1304
|
+
);
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
function PdfProcessingPanel({ progress, status, outputFormat }: { progress?: DocAnalyzerProgress, status?: WorkflowExecutionStatus, outputFormat?: DocProcessorOutputFormat }) {
|
|
1308
|
+
const statusColor = getWorkflowStatusColor(status);
|
|
1309
|
+
const statusName = getWorkflowStatusName(status);
|
|
1310
|
+
|
|
1311
|
+
// Show detailed progress (tables, images, visuals) for XML processing
|
|
1312
|
+
const isXmlProcessing = outputFormat === "xml";
|
|
1313
|
+
|
|
1314
|
+
// Ensure percent is a valid number (handle undefined and NaN from division by zero)
|
|
1315
|
+
const percent = progress?.percent != null && !isNaN(progress.percent) ? progress.percent : 0;
|
|
1316
|
+
|
|
1317
|
+
return (
|
|
1318
|
+
<div className="px-4 py-4">
|
|
1319
|
+
{progress && (
|
|
1320
|
+
<div className="space-y-2">
|
|
1321
|
+
<div className="flex flex-col gap-1">
|
|
1322
|
+
<ProgressLine name={isXmlProcessing ? "Analyze Layouts" : "Analyze Page"} progress={progress.pages} />
|
|
1323
|
+
{isXmlProcessing && (
|
|
1324
|
+
<>
|
|
1325
|
+
<ProgressLine name="Extract Tables" progress={progress.tables} />
|
|
1326
|
+
<ProgressLine name="Describe Images" progress={progress.images} />
|
|
1327
|
+
<ProgressLine name="Process Visually" progress={progress.visuals} />
|
|
1328
|
+
</>
|
|
1329
|
+
)}
|
|
1330
|
+
</div>
|
|
1331
|
+
<div className="pt-2 text-sm text-muted">
|
|
1332
|
+
Progress: {percent}%
|
|
1333
|
+
<span className="px-2">•</span>
|
|
1334
|
+
<span className={statusColor}>{statusName}</span>
|
|
1335
|
+
{progress.started_at && (
|
|
1336
|
+
<>
|
|
1337
|
+
<span className="px-2">•</span>
|
|
1338
|
+
<span>{((Date.now() - progress.started_at) / 1000).toFixed(0)} sec. elapsed</span>
|
|
1339
|
+
</>
|
|
1340
|
+
)}
|
|
1341
|
+
</div>
|
|
1342
|
+
<Progress percent={percent} />
|
|
1343
|
+
</div>
|
|
1344
|
+
)}
|
|
1345
|
+
{!progress && (
|
|
1346
|
+
<div className="flex items-center gap-2 text-muted">
|
|
1347
|
+
<Spinner size="sm" />
|
|
1348
|
+
<span>Loading processing status...</span>
|
|
1349
|
+
</div>
|
|
1350
|
+
)}
|
|
1351
|
+
</div>
|
|
1352
|
+
);
|
|
1353
|
+
}
|
|
1354
|
+
|
|
1355
|
+
function ProgressLine({ name, progress }: { name: string, progress: { total: number; processed: number } }) {
|
|
1356
|
+
return (
|
|
1357
|
+
<div className="flex gap-2 text-sm">
|
|
1358
|
+
<span className="text-muted min-w-36">{name}:</span>
|
|
1359
|
+
<span>{progress.processed} of {progress.total}</span>
|
|
1360
|
+
</div>
|
|
1361
|
+
);
|
|
1362
|
+
}
|