@vertesia/ui 1.5.0-dev.20260804.124748Z → 1.5.0-dev.20260807.073259Z
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core/components/ComboBox.d.ts.map +1 -1
- package/lib/core/components/ComboBox.js +4 -4
- package/lib/core/components/ComboBox.js.map +1 -1
- package/lib/core/components/FileUpload.js.map +1 -1
- package/lib/core/components/MenuList.d.ts +2 -1
- package/lib/core/components/MenuList.d.ts.map +1 -1
- package/lib/core/components/TagsInput.js +1 -1
- package/lib/core/components/popup/PopupController.d.ts.map +1 -1
- package/lib/core/components/popup/PopupController.js.map +1 -1
- package/lib/core/components/popup/position.js.map +1 -1
- package/lib/core/components/popup/utils.js.map +1 -1
- package/lib/core/components/shadcn/LanguageSwitcher.js.map +1 -1
- package/lib/core/components/shadcn/MessageBox.js.map +1 -1
- package/lib/core/components/shadcn/Panel.js +1 -1
- package/lib/core/components/shadcn/badge.d.ts +2 -2
- package/lib/core/components/shadcn/button.d.ts +2 -2
- package/lib/core/components/shadcn/button.js +1 -1
- package/lib/core/components/shadcn/command.d.ts +4 -4
- package/lib/core/components/shadcn/command.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/DynamicLabel.js +1 -1
- package/lib/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/comboBox/DateCombobox.js +1 -1
- package/lib/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/comboBox/SelectCombobox.js +1 -1
- package/lib/core/components/shadcn/filters/comboBox/StringListCombobox.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/comboBox/TextCombobox.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/filter/dateFilter.js +1 -1
- package/lib/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/filters.js.map +1 -1
- package/lib/core/components/shadcn/input.d.ts +2 -2
- package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
- package/lib/core/components/shadcn/popover.d.ts +1 -1
- package/lib/core/components/shadcn/popover.d.ts.map +1 -1
- package/lib/core/components/shadcn/popover.js.map +1 -1
- package/lib/core/components/shadcn/radioGroup.d.ts.map +1 -1
- package/lib/core/components/shadcn/selectBox.js +1 -1
- package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/core/components/shadcn/tabs.js +1 -1
- package/lib/core/components/shadcn/text.d.ts +2 -2
- package/lib/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
- package/lib/core/components/toast/ToastProvider.js +1 -1
- package/lib/core/hooks/CompositeState.d.ts +1 -1
- package/lib/core/hooks/CompositeState.d.ts.map +1 -1
- package/lib/core/hooks/CompositeState.js.map +1 -1
- package/lib/core/hooks/SharedState.d.ts.map +1 -1
- package/lib/core/hooks/useFetch.d.ts.map +1 -1
- package/lib/core/hooks/useFetch.js +2 -1
- package/lib/core/hooks/useFetch.js.map +1 -1
- package/lib/core/hooks/useFlag.d.ts.map +1 -1
- package/lib/core/hooks/useIntersectionObserver.js.map +1 -1
- package/lib/core/hooks/useSafeLayoutEffect.d.ts +2 -2
- package/lib/core/hooks/useSafeLayoutEffect.d.ts.map +1 -1
- package/lib/core/hooks/useScrollableSearch.js.map +1 -1
- package/lib/core/hooks/useSharedValue.d.ts.map +1 -1
- package/lib/core/hooks/useSharedValue.js.map +1 -1
- package/lib/core/utils/a11y.d.ts.map +1 -1
- package/lib/env/index.d.ts.map +1 -1
- package/lib/env/index.js.map +1 -1
- package/lib/features/agent/PayloadBuilder.d.ts +1 -1
- package/lib/features/agent/PayloadBuilder.d.ts.map +1 -1
- package/lib/features/agent/PayloadBuilder.js.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.js +1 -1
- package/lib/features/agent/chat/AskUserWidget.js +1 -1
- package/lib/features/agent/chat/DocumentEditingActionCard.js +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.js +26 -3
- package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ActiveWorkstreamsSummary.js +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts +7 -0
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js +25 -0
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js +8 -0
- package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
- package/lib/features/agent/chat/SlidingThinkingIndicator.js +1 -1
- package/lib/features/agent/chat/VegaLiteChart.js +1 -1
- package/lib/features/agent/chat/VegaLiteChart.js.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.js +26 -0
- package/lib/features/agent/chat/hooks/useAgentStream.js.map +1 -1
- package/lib/features/agent/chat/hooks/useFileProcessing.d.ts +8 -1
- package/lib/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
- package/lib/features/agent/chat/hooks/useFileProcessing.js +31 -2
- package/lib/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
- package/lib/features/agent/chat/useArtifactUrlCache.js.map +1 -1
- package/lib/features/agent/chat/workstreams.d.ts +1 -1
- package/lib/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/CollectionsFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/DocumentsFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/InteractionsFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/PromptsFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/RunsFacetsNav.d.ts.map +1 -1
- package/lib/features/facets/WorkflowExecutionsFacetsNav.d.ts.map +1 -1
- package/lib/features/magic-pdf/GroundedExtractionView.js +1 -1
- package/lib/features/magic-pdf/MagicPdfProvider.d.ts.map +1 -1
- package/lib/features/magic-pdf/MagicPdfProvider.js.map +1 -1
- package/lib/features/oauth/McpConnectionsButton.js +1 -1
- package/lib/features/oauth/OAuthProviderConnectButton.js +1 -1
- package/lib/features/oauth/RemoteMcpConnectionButton.js +1 -1
- package/lib/features/pdf-viewer/PdfPageRenderer.js +1 -1
- package/lib/features/pdf-viewer/PdfPageSlider.js +1 -1
- package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
- package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
- package/lib/features/store/collections/CollectionsTable.js +2 -2
- package/lib/features/store/collections/CollectionsTable.js.map +1 -1
- package/lib/features/store/collections/CreateCollection.js +1 -1
- package/lib/features/store/collections/EditCollectionView.js +1 -1
- package/lib/features/store/objects/DocumentQuickFilter.js +1 -1
- package/lib/features/store/objects/DocumentSelectionProvider.d.ts.map +1 -1
- package/lib/features/store/objects/DocumentSelectionProvider.js.map +1 -1
- package/lib/features/store/objects/components/ContentDispositionButton.d.ts +2 -1
- package/lib/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.js +1 -1
- package/lib/features/store/objects/components/DocumentEditingPanel.js +1 -1
- package/lib/features/store/objects/components/PropertiesEditorModal.js +1 -1
- package/lib/features/store/objects/components/TextEditorPanel.js +1 -1
- package/lib/features/store/objects/components/documentEditingTarget.d.ts.map +1 -1
- package/lib/features/store/objects/components/useContentPanelHooks.d.ts +2 -2
- package/lib/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
- package/lib/features/store/objects/layout/DocumentTableColumn.d.ts +1 -1
- package/lib/features/store/objects/layout/DocumentTableColumn.d.ts.map +1 -1
- package/lib/features/store/objects/layout/DocumentTableColumn.js.map +1 -1
- package/lib/features/store/objects/layout/documentLayout.js +1 -1
- package/lib/features/store/objects/layout/renderers.d.ts.map +1 -1
- package/lib/features/store/objects/search/DocumentSearchContext.d.ts +25 -25
- package/lib/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
- package/lib/features/store/objects/search/DocumentSearchContext.js.map +1 -1
- package/lib/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -1
- package/lib/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -1
- package/lib/features/store/objects/selection/SelectionActions.js +1 -1
- package/lib/features/store/objects/selection/actions/ConfirmAction.js +1 -1
- package/lib/features/store/objects/selection/actions/DeleteObjectsAction.js +1 -1
- package/lib/features/store/objects/selection/actions/StartWorkflowButton.js +1 -1
- package/lib/features/store/objects/upload/DocumentUploadModal.js +1 -1
- package/lib/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
- package/lib/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
- package/lib/features/store/types/ContentObjectTypesSearch.js +1 -1
- package/lib/features/store/types/IntakePolicyEditor.js +1 -1
- package/lib/features/store/types/TypeRegistry.d.ts +240 -180
- package/lib/features/store/types/TypeRegistry.d.ts.map +1 -1
- package/lib/features/store/types/TypeRegistry.js.map +1 -1
- package/lib/features/store/types/search/ObjectTypeSearchContext.d.ts +239 -179
- package/lib/features/store/types/search/ObjectTypeSearchContext.d.ts.map +1 -1
- package/lib/features/store/types/search/ObjectTypeSearchContext.js.map +1 -1
- package/lib/features/user/UserInfo.d.ts +14 -14
- package/lib/features/user/UserInfo.js +1 -1
- package/lib/features/user/UserInfo.js.map +1 -1
- package/lib/features/utils/mimeType.d.ts.map +1 -1
- package/lib/features/utils/rendition.js.map +1 -1
- package/lib/features/utils/text.js.map +1 -1
- package/lib/i18n/locales/ar.json +25 -0
- package/lib/i18n/locales/de.json +25 -0
- package/lib/i18n/locales/en.json +25 -0
- package/lib/i18n/locales/es.json +25 -0
- package/lib/i18n/locales/fr.json +25 -0
- package/lib/i18n/locales/it.json +25 -0
- package/lib/i18n/locales/ja.json +25 -0
- package/lib/i18n/locales/ko.json +25 -0
- package/lib/i18n/locales/pt.json +25 -0
- package/lib/i18n/locales/ru.json +25 -0
- package/lib/i18n/locales/tr.json +25 -0
- package/lib/i18n/locales/zh-TW.json +25 -0
- package/lib/i18n/locales/zh.json +25 -0
- package/lib/i18n/rtl.d.ts +1 -1
- package/lib/i18n/rtl.d.ts.map +1 -1
- package/lib/layout/FullHeightLayout.d.ts +7 -6
- package/lib/layout/FullHeightLayout.d.ts.map +1 -1
- package/lib/layout/Sidebar.d.ts +1 -1
- package/lib/layout/Sidebar.js +1 -1
- package/lib/rich-text/EditorToolbar.js +1 -1
- package/lib/router/HistoryNavigator.d.ts +2 -2
- package/lib/router/HistoryNavigator.d.ts.map +1 -1
- package/lib/router/HistoryNavigator.js.map +1 -1
- package/lib/router/PathMatcher.d.ts.map +1 -1
- package/lib/router/PathMatcher.js.map +1 -1
- package/lib/router/PathWithParams.d.ts.map +1 -1
- package/lib/router/Redirect.js.map +1 -1
- package/lib/router/Route404.js +1 -1
- package/lib/router/Router.d.ts.map +1 -1
- package/lib/router/Router.js.map +1 -1
- package/lib/session/UserSession.d.ts +1 -1
- package/lib/session/UserSession.d.ts.map +1 -1
- package/lib/session/UserSession.js.map +1 -1
- package/lib/session/UserSessionProvider.d.ts +2 -0
- package/lib/session/UserSessionProvider.d.ts.map +1 -1
- package/lib/session/UserSessionProvider.js +81 -53
- package/lib/session/UserSessionProvider.js.map +1 -1
- package/lib/session/auth/composable.d.ts +49 -1
- package/lib/session/auth/composable.d.ts.map +1 -1
- package/lib/session/auth/composable.js +179 -53
- package/lib/session/auth/composable.js.map +1 -1
- package/lib/shell/VertesiaShell.js +1 -1
- package/lib/shell/apps/AppInstallationProvider.d.ts +58 -50
- package/lib/shell/apps/AppInstallationProvider.d.ts.map +1 -1
- package/lib/shell/apps/AppProjectSelector.js +1 -1
- package/lib/shell/login/SignInEmailStep.js +1 -1
- package/lib/shell/login/SignInPrimitives.d.ts +21 -20
- package/lib/shell/login/SignInPrimitives.d.ts.map +1 -1
- package/lib/shell/login/SignInPrimitives.js.map +1 -1
- package/lib/shell/login/SignInRecoveryStep.d.ts +22 -0
- package/lib/shell/login/SignInRecoveryStep.d.ts.map +1 -0
- package/lib/shell/login/SignInRecoveryStep.js +59 -0
- package/lib/shell/login/SignInRecoveryStep.js.map +1 -0
- package/lib/shell/login/SigninScreen.d.ts.map +1 -1
- package/lib/shell/login/SigninScreen.js +84 -11
- package/lib/shell/login/SigninScreen.js.map +1 -1
- package/lib/shell/login/SignupForm.js +1 -1
- package/lib/shell/login/TerminalLogin.js +1 -1
- package/lib/shell/login/UserSessionMenu.js +1 -1
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-features.js +26 -26
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-i18n.js +13 -13
- package/lib/vertesia-ui-layout.js.map +1 -1
- package/lib/vertesia-ui-rich-text.js.map +1 -1
- package/lib/vertesia-ui-router.js.map +1 -1
- package/lib/vertesia-ui-session.js +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-shell.js +1 -1
- package/lib/vertesia-ui-shell.js.map +1 -1
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/lib/widgets/form/FormContext.d.ts.map +1 -1
- package/lib/widgets/form/FormContext.js.map +1 -1
- package/lib/widgets/form/ManagedObject.d.ts +2 -2
- package/lib/widgets/form/ManagedObject.d.ts.map +1 -1
- package/lib/widgets/form/ManagedObject.js.map +1 -1
- package/lib/widgets/form/schema.d.ts.map +1 -1
- package/lib/widgets/form/schema.js.map +1 -1
- package/lib/widgets/json-view/JSONCode.js +1 -1
- package/lib/widgets/json-view/JSONTable.js +1 -1
- package/lib/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
- package/lib/widgets/markdown/CodeBlockPlaceholder.d.ts +1 -1
- package/lib/widgets/markdown/CodeBlockPlaceholder.d.ts.map +1 -1
- package/lib/widgets/markdown/CodeBlockPlaceholder.js +1 -1
- package/lib/widgets/markdown/CodeBlockRendering.d.ts.map +1 -1
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js +1 -1
- package/lib/widgets/markdown/remarkDirectiveHandler.d.ts.map +1 -1
- package/lib/widgets/markdown/textDiff.js.map +1 -1
- package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
- package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
- package/lib/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
- package/lib/widgets/schema-editor/editor/PropertyEditor.js +1 -1
- package/lib/widgets/schema-editor/json-schema4-utils.js.map +1 -1
- package/lib/widgets/xml-viewer/components/Elements/index.js +1 -1
- package/lib/widgets/xml-viewer/components/Tag/index.js +1 -1
- package/lib/widgets/xml-viewer/constants/index.d.ts.map +1 -1
- package/lib/widgets/xml-viewer/helpers/index.d.ts +1 -1
- package/lib/widgets/xml-viewer/hooks/useCollapsible.d.ts +1 -1
- package/lib/widgets/xml-viewer/hooks/useCollapsible.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/core/hooks/useFetch.ts +2 -1
- package/src/features/agent/chat/ModernAgentConversation.test.tsx +13 -0
- package/src/features/agent/chat/ModernAgentConversation.tsx +24 -3
- package/src/features/agent/chat/ModernAgentOutput/AttachmentPreview.test.ts +38 -0
- package/src/features/agent/chat/ModernAgentOutput/AttachmentPreview.tsx +26 -0
- package/src/features/agent/chat/ModernAgentOutput/SummaryConversation.ts +9 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +21 -0
- package/src/features/agent/chat/hooks/useAgentStream.test.tsx +116 -1
- package/src/features/agent/chat/hooks/useAgentStream.ts +26 -0
- package/src/features/agent/chat/hooks/useFileProcessing.test.tsx +87 -0
- package/src/features/agent/chat/hooks/useFileProcessing.ts +32 -1
- package/src/features/store/collections/CollectionsTable.tsx +1 -1
- package/src/i18n/locales/ar.json +25 -0
- package/src/i18n/locales/de.json +25 -0
- package/src/i18n/locales/en.json +25 -0
- package/src/i18n/locales/es.json +25 -0
- package/src/i18n/locales/fr.json +25 -0
- package/src/i18n/locales/it.json +25 -0
- package/src/i18n/locales/ja.json +25 -0
- package/src/i18n/locales/ko.json +25 -0
- package/src/i18n/locales/pt.json +25 -0
- package/src/i18n/locales/ru.json +25 -0
- package/src/i18n/locales/tr.json +25 -0
- package/src/i18n/locales/zh-TW.json +25 -0
- package/src/i18n/locales/zh.json +25 -0
- package/src/session/UserSessionProvider.test.ts +69 -0
- package/src/session/UserSessionProvider.tsx +96 -60
- package/src/session/auth/composable.scope.test.ts +88 -0
- package/src/session/auth/composable.test.ts +205 -0
- package/src/session/auth/composable.ts +227 -58
- package/src/shell/login/SignInPrimitives.tsx +1 -0
- package/src/shell/login/SignInRecoveryStep.test.tsx +112 -0
- package/src/shell/login/SignInRecoveryStep.tsx +177 -0
- package/src/shell/login/SigninScreen.tsx +145 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertesia-ui-layout.js","names":["_jsx","_jsxs","_jsx","_jsxs","_jsx","_Fragment","_jsx","_jsxs","_jsx","_jsxs","_jsx","_jsx"],"sources":["layout/SidebarContext.js","layout/TitleBar.js","layout/Navbar.js","layout/Sidebar.js","layout/AppLayout.js","layout/ErrorPage.js","layout/FullHeightLayout.js","layout/RegionTag.js"],"sourcesContent":["import { createContext, useContext } from 'react';\nexport const SidebarContext = createContext({\n isOpen: false,\n toggleMobile: () => void 0,\n toggleDesktop: () => void 0,\n});\nexport function useSidebarToggle() {\n return useContext(SidebarContext);\n}\n//# sourceMappingURL=SidebarContext.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport function TitleBar({ title }) {\n return _jsx(\"div\", { className: \"self-center text-lg font-semibold\", children: title });\n}\n//# sourceMappingURL=TitleBar.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Button } from '@vertesia/ui/core';\nimport { useUITranslation } from '@vertesia/ui/i18n';\nimport { Menu, Search } from 'lucide-react';\nimport { useSidebarToggle } from './SidebarContext.js';\nimport { TitleBar } from './TitleBar.js';\nexport function Navbar({ children, logo, onSearch, title }) {\n return (_jsxs(\"div\", { className: \"sticky top-0 z-40 flex h-16 shrink-0 items-center gap-x-4 border-b px-4 shadow-2xs sm:gap-x-6 sm:px-6 lg:px-8\", children: [_jsx(HamburgerButton, {}), _jsx(\"div\", { className: \"lg:hidden\", children: logo }), onSearch && _jsx(NavbarSeparator, { visible: \"mobile\" }), _jsxs(\"div\", { className: \"flex flex-1 gap-x-4 self-stretch lg:gap-x-6\", children: [_jsx(TitleBar, { title: title }), onSearch && _jsx(SearchBox, { onSearch: onSearch }), _jsx(\"div\", { className: \"flex items-center gap-x-4 lg:gap-x-6 ms-auto\", children: children })] })] }));\n}\nfunction SearchBox(_props) {\n const { t } = useUITranslation();\n return (_jsxs(\"form\", { className: \"relative flex flex-1\", action: \"#\", method: \"GET\", children: [_jsx(\"label\", { htmlFor: \"search-field\", className: \"sr-only\", children: t('layout.search') }), _jsx(Search, { className: \"pointer-events-none absolute inset-y-0 start-0 h-full w-5 text-gray-400\", \"aria-hidden\": \"true\" }), _jsx(\"input\", { id: \"search-field\", className: \"block h-full w-full border-0 py-0 ps-8 pe-0 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm\", placeholder: t('layout.searchPlaceholder'), type: \"search\", name: \"search\" })] }));\n}\nexport function HamburgerButton() {\n const { toggleDesktop, toggleMobile } = useSidebarToggle();\n const toggle = () => {\n if (window.innerWidth < 1024) {\n toggleMobile();\n }\n else {\n toggleDesktop();\n }\n };\n return (_jsx(Button, { variant: \"ghost\", size: \"icon\", onClick: () => toggle(), className: \"p-2 rounded-full transition-colors w-full text-center \", children: _jsx(Menu, { \"aria-hidden\": \"true\", size: 24 }) }));\n}\nexport function NavbarSeparator({ visible }) {\n let visibility = '';\n if (visible) {\n visibility = visible === 'mobile' ? 'lg:hidden' : 'hidden lg:block';\n }\n return _jsx(\"div\", { className: `h-6 w-px bg-gray-900/10 dark:bg-slate-900/0.1 ${visibility}`, \"aria-hidden\": \"true\" });\n}\nexport function NavbarIconButton({ title, icon: Icon, onClick }) {\n return (_jsxs(\"button\", { type: \"button\", className: \"-m-2.5 p-2.5 text-gray-400 dark:text-slate-50 hover:text-gray-500\", onClick: onClick, children: [_jsx(\"span\", { className: \"sr-only\", children: title }), _jsx(Icon, { className: \"size-6\", \"aria-hidden\": \"true\", title: title })] }));\n}\nexport function NavbarButton({ children, onClick }) {\n return _jsx(Button, { onClick: onClick, children: children });\n}\nexport function NavbarLink({ href, onClick, children }) {\n return (_jsx(\"a\", { className: \"dark:text-slate-50\", href: href, onClick: onClick, children: children }));\n}\n//# sourceMappingURL=Navbar.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@vertesia/ui/core';\nimport { Nav, useRouterContext } from '@vertesia/ui/router';\nimport clsx from 'clsx';\nimport { Dot } from 'lucide-react';\nimport { useSidebarToggle } from './SidebarContext';\nexport function Sidebar({ children, logo, className }) {\n return (_jsxs(\"div\", { className: clsx(className || 'bg-indigo-600 dark:bg-indigo-950', 'flex flex-col h-full'), children: [logo && _jsx(\"div\", { className: \"-mx-2 flex h-auto my-4 shrink-0 self-start\", children: logo }), _jsx(\"div\", { className: \"flex-1 min-h-0 overflow-hidden px-0 lg:px-2\", children: _jsx(\"nav\", { className: \"h-full flex flex-col\", children: _jsx(\"ul\", { className: \"flex flex-col gap-y-2 overflow-y-auto h-full\", children: children }) }) })] }));\n}\nexport function SidebarSection({ children, title, action, isFooter = false, className }) {\n const { isOpen } = useSidebarToggle();\n const header = isOpen ? (_jsxs(_Fragment, { children: [title || '', action] })) : (_jsx(Dot, { className: \"size-6\" }));\n return (_jsxs(\"li\", { className: isFooter ? 'mt-auto' : '', children: [title && (_jsx(\"div\", { className: \"text-xs font-medium h-8 flex items-center gap-x-2 px-2 text-sidebar-foreground/70\", children: header })), _jsx(\"ul\", { \"data-sidebar\": \"menu\", className: clsx('flex w-full min-w-0 flex-col gap-1', className), children: children })] }));\n}\nexport function SidebarTooltip({ children, text }) {\n const { isOpen } = useSidebarToggle();\n return isOpen ? (children) : (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: children }), _jsx(TooltipContent, { side: \"right\", children: text })] }) }));\n}\nexport function SidebarItem({ external, className, tools, children, icon: Icon, href, to, current, onClick, replace, skipStickyParams, }) {\n const { toggleMobile } = useSidebarToggle();\n const { router } = useRouterContext();\n // Append the active tenant sticky params (account `a` + project `p`) the router holds to internal\n // hrefs, so opening a nav item in a new tab or copying its address preserves the current\n // account/project.\n const resolvedHref = !skipStickyParams && href.startsWith('/') ? router.getTopRouter().navigator.addStickyParams(href) : href;\n const _closeSideBar = () => {\n setTimeout(() => {\n toggleMobile(false);\n }, 100);\n };\n const onClickWrapper = (event) => {\n if (external) {\n window.open(resolvedHref, '_blank');\n event.preventDefault(); // Prevent default link behavior\n event.stopPropagation(); // Stop the event from propagating\n }\n else if (onClick) {\n onClick(event);\n }\n };\n return (_jsx(\"li\", { children: _jsx(Nav, { to: to, onClick: _closeSideBar, replace: replace, children: _jsx(SidebarTooltip, { text: children, children: _jsxs(\"a\", { href: resolvedHref, onClick: onClickWrapper, className: clsx(current\n ? 'bg-sidebar-accent text-sidebar-accent-foreground'\n : 'text-sidebar-foreground hover:text-sidebar-accent-foreground hover:bg-sidebar-accent', 'group flex gap-x-3 rounded-md px-2 py-1.5 text-sm items-center h-8', className), children: [Icon && (_jsx(Icon, { className: clsx(current\n ? 'bg-sidebar-accent text-sidebar-accent-foreground'\n : 'text-sidebar-foreground hover:text-sidebar-accent-foreground hover:bg-sidebar-accent', 'size-4 shrink-0'), \"aria-hidden\": \"true\" })), children, tools && _jsx(\"div\", { className: \"flex items-center ms-auto\", children: tools })] }) }) }) }));\n}\n//# sourceMappingURL=Sidebar.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { SidePanel } from '@vertesia/ui/core';\nimport { useLanguage } from '@vertesia/ui/i18n';\nimport clsx from 'clsx';\nimport { useEffect, useState } from 'react';\n// import { FullHeightLayout } from './FullHeightLayout.js'\nimport { Navbar } from './Navbar.js';\nimport { Sidebar } from './Sidebar.js';\nimport { SidebarContext } from './SidebarContext.js';\nexport function AppLayout({ sidebarClassName, className, title, children, logo, navbar, sidebar, mainNav, }) {\n if (localStorage.getItem('desktopSidebarOpen') === null) {\n localStorage.setItem('desktopSidebarOpen', 'true');\n }\n const { isRTL } = useLanguage();\n const [sidebarOpen, setSidebarOpen] = useState(false);\n const [desktopSidebarOpen, setDesktopSidebarOpen] = useState(localStorage.getItem('desktopSidebarOpen') === 'true');\n const [isLargeScreen, setIsLargeScreen] = useState(window.innerWidth >= 1024);\n useEffect(() => {\n const handleResize = () => {\n setIsLargeScreen(window.innerWidth >= 1024);\n };\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n const sidebarContextValue = {\n isOpen: isLargeScreen ? desktopSidebarOpen : sidebarOpen,\n toggleDesktop: (value) => {\n if (value === undefined) {\n setDesktopSidebarOpen(!desktopSidebarOpen);\n }\n else {\n setDesktopSidebarOpen(value);\n }\n localStorage.setItem('desktopSidebarOpen', JSON.stringify(!desktopSidebarOpen));\n },\n toggleMobile: (value) => {\n if (value === undefined) {\n setSidebarOpen(!sidebarOpen);\n }\n else {\n setSidebarOpen(value);\n }\n },\n };\n return (_jsx(\"div\", { className: \"flex flex-col h-screen overflow-y-hidden\", children: _jsxs(SidebarContext.Provider, { value: sidebarContextValue, children: [_jsx(\"div\", { className: \"w-full\", children: mainNav }), _jsxs(\"div\", { className: \"flex h-full overflow-y-auto w-full\", children: [_jsx(\"div\", { className: \"lg:hidden\", children: _jsx(SidePanel, { className: \"bg-sidebar\", isOpen: sidebarOpen, onClose: () => setSidebarOpen(false), side: isRTL ? 'right' : 'left', panelWidth: 288, resizable: false, backdrop: true, children: _jsx(Sidebar, { logo: logo, className: sidebarClassName, children: sidebar }) }) }), _jsx(\"div\", { className: `hidden lg:block relative transition-all duration-300 ${desktopSidebarOpen ? 'w-72' : 'w-12'}`, children: _jsx(Sidebar, { logo: logo, className: sidebarClassName, children: sidebar }) }), _jsxs(\"div\", { className: \"w-full h-full overflow-y-hidden\", children: [navbar ? (_jsx(Navbar, { title: title, logo: logo, children: navbar })) : null, _jsx(\"main\", { className: clsx('flex-1 h-full w-full relative flex flex-col', className), children: children })] })] })] }) }));\n}\n//# sourceMappingURL=AppLayout.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Button } from '@vertesia/ui/core';\nexport function ErrorPage({ title = 'Something went wrong', message = 'An unexpected error occurred. Please try again.', actionLabel = 'Try again', onAction, }) {\n return (_jsx(\"div\", { className: \"flex min-h-screen items-center justify-center bg-white px-6 py-12 text-center\", children: _jsxs(\"div\", { className: \"max-w-md space-y-6\", children: [_jsx(\"div\", { className: \"mx-auto flex h-16 w-16 items-center justify-center rounded-full bg-destructive text-3xl font-semibold text-destructive\", children: \"!\" }), _jsxs(\"div\", { className: \"space-y-2\", children: [_jsx(\"h1\", { className: \"text-2xl font-semibold tracking-tight\", children: title }), _jsx(\"p\", { className: \"text-sm leading-6 text-muted\", children: message })] }), onAction ? _jsx(Button, { onClick: onAction, children: actionLabel }) : null] }) }));\n}\n//# sourceMappingURL=ErrorPage.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nexport function FullHeightLayout({ className, children }) {\n return _jsx(\"div\", { className: clsx('flex flex-col', 'h-full', 'overflow-y-auto', 'px-2', className), children: children });\n}\nFullHeightLayout.Fixed = function Fixed({ heightClass, className, children }) {\n return _jsx(\"div\", { className: clsx('w-full', heightClass, className), children: children });\n};\nFullHeightLayout.Body = function Body({ className, children }) {\n return _jsx(\"div\", { className: clsx('grow overflow-auto', 'min-h-0', 'p-2', className), children: children });\n};\nFullHeightLayout.VR = function VDivider() {\n return _jsx(\"div\", { className: \"w-[1px] border border-red-200\" });\n};\nFullHeightLayout.HR = function HDivider() {\n return _jsx(\"div\", { className: \"w-full h-1 border-b border-red-200\" });\n};\nFullHeightLayout.Flex = function Flex({ className, children }) {\n return _jsx(\"div\", { className: clsx('grow flex flex-col', 'overflow-hidden min-h-0', 'p-2', className), children: children });\n};\nFullHeightLayout.Tab = function Tab({ children }) {\n return _jsx(\"div\", { className: \"flex flex-col h-full\", children: children });\n};\n//# sourceMappingURL=FullHeightLayout.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from '@vertesia/ui/core';\nimport { Env } from '@vertesia/ui/env';\nconst regionLabels = {\n eu: 'EU',\n jp: 'JP',\n};\nexport function RegionTag({ className }) {\n const region = Env.region;\n // Only show for non-US regions (US is default, no need to display)\n if (!region || region === 'us')\n return null;\n return (_jsx(\"div\", { className: cn('text-[0.6rem] font-semibold px-1.5 rounded-3xl leading-4', 'bg-info text-white', className), children: regionLabels[region] ?? region.toUpperCase() }));\n}\n//# sourceMappingURL=RegionTag.js.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vertesia-ui-layout.js","names":["_jsx","_jsxs","_jsx","_jsxs","_jsx","_Fragment","_jsx","_jsxs","_jsx","_jsxs","_jsx","_jsx"],"sources":["layout/SidebarContext.js","layout/TitleBar.js","layout/Navbar.js","layout/Sidebar.js","layout/AppLayout.js","layout/ErrorPage.js","layout/FullHeightLayout.js","layout/RegionTag.js"],"sourcesContent":["import { createContext, useContext } from 'react';\nexport const SidebarContext = createContext({\n isOpen: false,\n toggleMobile: () => void 0,\n toggleDesktop: () => void 0,\n});\nexport function useSidebarToggle() {\n return useContext(SidebarContext);\n}\n//# sourceMappingURL=SidebarContext.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport function TitleBar({ title }) {\n return _jsx(\"div\", { className: \"self-center text-lg font-semibold\", children: title });\n}\n//# sourceMappingURL=TitleBar.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Button } from '@vertesia/ui/core';\nimport { useUITranslation } from '@vertesia/ui/i18n';\nimport { Menu, Search } from 'lucide-react';\nimport { useSidebarToggle } from './SidebarContext.js';\nimport { TitleBar } from './TitleBar.js';\nexport function Navbar({ children, logo, onSearch, title }) {\n return (_jsxs(\"div\", { className: \"sticky top-0 z-40 flex h-16 shrink-0 items-center gap-x-4 border-b px-4 shadow-2xs sm:gap-x-6 sm:px-6 lg:px-8\", children: [_jsx(HamburgerButton, {}), _jsx(\"div\", { className: \"lg:hidden\", children: logo }), onSearch && _jsx(NavbarSeparator, { visible: \"mobile\" }), _jsxs(\"div\", { className: \"flex flex-1 gap-x-4 self-stretch lg:gap-x-6\", children: [_jsx(TitleBar, { title: title }), onSearch && _jsx(SearchBox, { onSearch: onSearch }), _jsx(\"div\", { className: \"flex items-center gap-x-4 lg:gap-x-6 ms-auto\", children: children })] })] }));\n}\nfunction SearchBox(_props) {\n const { t } = useUITranslation();\n return (_jsxs(\"form\", { className: \"relative flex flex-1\", action: \"#\", method: \"GET\", children: [_jsx(\"label\", { htmlFor: \"search-field\", className: \"sr-only\", children: t('layout.search') }), _jsx(Search, { className: \"pointer-events-none absolute inset-y-0 start-0 h-full w-5 text-gray-400\", \"aria-hidden\": \"true\" }), _jsx(\"input\", { id: \"search-field\", className: \"block h-full w-full border-0 py-0 ps-8 pe-0 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm\", placeholder: t('layout.searchPlaceholder'), type: \"search\", name: \"search\" })] }));\n}\nexport function HamburgerButton() {\n const { toggleDesktop, toggleMobile } = useSidebarToggle();\n const toggle = () => {\n if (window.innerWidth < 1024) {\n toggleMobile();\n }\n else {\n toggleDesktop();\n }\n };\n return (_jsx(Button, { variant: \"ghost\", size: \"icon\", onClick: () => toggle(), className: \"p-2 rounded-full transition-colors w-full text-center \", children: _jsx(Menu, { \"aria-hidden\": \"true\", size: 24 }) }));\n}\nexport function NavbarSeparator({ visible }) {\n let visibility = '';\n if (visible) {\n visibility = visible === 'mobile' ? 'lg:hidden' : 'hidden lg:block';\n }\n return _jsx(\"div\", { className: `h-6 w-px bg-gray-900/10 dark:bg-slate-900/0.1 ${visibility}`, \"aria-hidden\": \"true\" });\n}\nexport function NavbarIconButton({ title, icon: Icon, onClick }) {\n return (_jsxs(\"button\", { type: \"button\", className: \"-m-2.5 p-2.5 text-gray-400 dark:text-slate-50 hover:text-gray-500\", onClick: onClick, children: [_jsx(\"span\", { className: \"sr-only\", children: title }), _jsx(Icon, { className: \"size-6\", \"aria-hidden\": \"true\", title: title })] }));\n}\nexport function NavbarButton({ children, onClick }) {\n return _jsx(Button, { onClick: onClick, children: children });\n}\nexport function NavbarLink({ href, onClick, children }) {\n return (_jsx(\"a\", { className: \"dark:text-slate-50\", href: href, onClick: onClick, children: children }));\n}\n//# sourceMappingURL=Navbar.js.map","import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@vertesia/ui/core';\nimport { Nav, useRouterContext } from '@vertesia/ui/router';\nimport clsx from 'clsx';\nimport { Dot } from 'lucide-react';\nimport { useSidebarToggle } from './SidebarContext';\nexport function Sidebar({ children, logo, className }) {\n return (_jsxs(\"div\", { className: clsx(className || 'bg-indigo-600 dark:bg-indigo-950', 'flex flex-col h-full'), children: [logo && _jsx(\"div\", { className: \"-mx-2 flex h-auto my-4 shrink-0 self-start\", children: logo }), _jsx(\"div\", { className: \"flex-1 min-h-0 overflow-hidden px-0 lg:px-2\", children: _jsx(\"nav\", { className: \"h-full flex flex-col\", children: _jsx(\"ul\", { className: \"flex flex-col gap-y-2 overflow-y-auto h-full\", children: children }) }) })] }));\n}\nexport function SidebarSection({ children, title, action, isFooter = false, className }) {\n const { isOpen } = useSidebarToggle();\n const header = isOpen ? (_jsxs(_Fragment, { children: [title || '', action] })) : (_jsx(Dot, { className: \"size-6\" }));\n return (_jsxs(\"li\", { className: isFooter ? 'mt-auto' : '', children: [title && (_jsx(\"div\", { className: \"text-xs font-medium h-8 flex items-center gap-x-2 px-2 text-sidebar-foreground/70\", children: header })), _jsx(\"ul\", { \"data-sidebar\": \"menu\", className: clsx('flex w-full min-w-0 flex-col gap-1', className), children: children })] }));\n}\nexport function SidebarTooltip({ children, text }) {\n const { isOpen } = useSidebarToggle();\n return isOpen ? (children) : (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: children }), _jsx(TooltipContent, { side: \"right\", children: text })] }) }));\n}\nexport function SidebarItem({ external, className, tools, children, icon: Icon, href, to, current, onClick, replace, skipStickyParams, }) {\n const { toggleMobile } = useSidebarToggle();\n const { router } = useRouterContext();\n // Append the active tenant sticky params (account `a` + project `p`) the router holds to internal\n // hrefs, so opening a nav item in a new tab or copying its address preserves the current\n // account/project.\n const resolvedHref = !skipStickyParams && href.startsWith('/') ? router.getTopRouter().navigator.addStickyParams(href) : href;\n const _closeSideBar = () => {\n setTimeout(() => {\n toggleMobile(false);\n }, 100);\n };\n const onClickWrapper = (event) => {\n if (external) {\n window.open(resolvedHref, '_blank');\n event.preventDefault(); // Prevent default link behavior\n event.stopPropagation(); // Stop the event from propagating\n }\n else if (onClick) {\n onClick(event);\n }\n };\n return (_jsx(\"li\", { children: _jsx(Nav, { to: to, onClick: _closeSideBar, replace: replace, children: _jsx(SidebarTooltip, { text: children, children: _jsxs(\"a\", { href: resolvedHref, onClick: onClickWrapper, className: clsx(current\n ? 'bg-sidebar-accent text-sidebar-accent-foreground'\n : 'text-sidebar-foreground hover:text-sidebar-accent-foreground hover:bg-sidebar-accent', 'group flex gap-x-3 rounded-md px-2 py-1.5 text-sm items-center h-8', className), children: [Icon && (_jsx(Icon, { className: clsx(current\n ? 'bg-sidebar-accent text-sidebar-accent-foreground'\n : 'text-sidebar-foreground hover:text-sidebar-accent-foreground hover:bg-sidebar-accent', 'size-4 shrink-0'), \"aria-hidden\": \"true\" })), children, tools && _jsx(\"div\", { className: \"flex items-center ms-auto\", children: tools })] }) }) }) }));\n}\n//# sourceMappingURL=Sidebar.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { SidePanel } from '@vertesia/ui/core';\nimport { useLanguage } from '@vertesia/ui/i18n';\nimport clsx from 'clsx';\nimport { useEffect, useState } from 'react';\n// import { FullHeightLayout } from './FullHeightLayout.js'\nimport { Navbar } from './Navbar.js';\nimport { Sidebar } from './Sidebar.js';\nimport { SidebarContext } from './SidebarContext.js';\nexport function AppLayout({ sidebarClassName, className, title, children, logo, navbar, sidebar, mainNav, }) {\n if (localStorage.getItem('desktopSidebarOpen') === null) {\n localStorage.setItem('desktopSidebarOpen', 'true');\n }\n const { isRTL } = useLanguage();\n const [sidebarOpen, setSidebarOpen] = useState(false);\n const [desktopSidebarOpen, setDesktopSidebarOpen] = useState(localStorage.getItem('desktopSidebarOpen') === 'true');\n const [isLargeScreen, setIsLargeScreen] = useState(window.innerWidth >= 1024);\n useEffect(() => {\n const handleResize = () => {\n setIsLargeScreen(window.innerWidth >= 1024);\n };\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n const sidebarContextValue = {\n isOpen: isLargeScreen ? desktopSidebarOpen : sidebarOpen,\n toggleDesktop: (value) => {\n if (value === undefined) {\n setDesktopSidebarOpen(!desktopSidebarOpen);\n }\n else {\n setDesktopSidebarOpen(value);\n }\n localStorage.setItem('desktopSidebarOpen', JSON.stringify(!desktopSidebarOpen));\n },\n toggleMobile: (value) => {\n if (value === undefined) {\n setSidebarOpen(!sidebarOpen);\n }\n else {\n setSidebarOpen(value);\n }\n },\n };\n return (_jsx(\"div\", { className: \"flex flex-col h-screen overflow-y-hidden\", children: _jsxs(SidebarContext.Provider, { value: sidebarContextValue, children: [_jsx(\"div\", { className: \"w-full\", children: mainNav }), _jsxs(\"div\", { className: \"flex h-full overflow-y-auto w-full\", children: [_jsx(\"div\", { className: \"lg:hidden\", children: _jsx(SidePanel, { className: \"bg-sidebar\", isOpen: sidebarOpen, onClose: () => setSidebarOpen(false), side: isRTL ? 'right' : 'left', panelWidth: 288, resizable: false, backdrop: true, children: _jsx(Sidebar, { logo: logo, className: sidebarClassName, children: sidebar }) }) }), _jsx(\"div\", { className: `hidden lg:block relative transition-all duration-300 ${desktopSidebarOpen ? 'w-72' : 'w-12'}`, children: _jsx(Sidebar, { logo: logo, className: sidebarClassName, children: sidebar }) }), _jsxs(\"div\", { className: \"w-full h-full overflow-y-hidden\", children: [navbar ? (_jsx(Navbar, { title: title, logo: logo, children: navbar })) : null, _jsx(\"main\", { className: clsx('flex-1 h-full w-full relative flex flex-col', className), children: children })] })] })] }) }));\n}\n//# sourceMappingURL=AppLayout.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Button } from '@vertesia/ui/core';\nexport function ErrorPage({ title = 'Something went wrong', message = 'An unexpected error occurred. Please try again.', actionLabel = 'Try again', onAction, }) {\n return (_jsx(\"div\", { className: \"flex min-h-screen items-center justify-center bg-white px-6 py-12 text-center\", children: _jsxs(\"div\", { className: \"max-w-md space-y-6\", children: [_jsx(\"div\", { className: \"mx-auto flex h-16 w-16 items-center justify-center rounded-full bg-destructive text-3xl font-semibold text-destructive\", children: \"!\" }), _jsxs(\"div\", { className: \"space-y-2\", children: [_jsx(\"h1\", { className: \"text-2xl font-semibold tracking-tight\", children: title }), _jsx(\"p\", { className: \"text-sm leading-6 text-muted\", children: message })] }), onAction ? _jsx(Button, { onClick: onAction, children: actionLabel }) : null] }) }));\n}\n//# sourceMappingURL=ErrorPage.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nexport function FullHeightLayout({ className, children }) {\n return _jsx(\"div\", { className: clsx('flex flex-col', 'h-full', 'overflow-y-auto', 'px-2', className), children: children });\n}\nFullHeightLayout.Fixed = function Fixed({ heightClass, className, children }) {\n return _jsx(\"div\", { className: clsx('w-full', heightClass, className), children: children });\n};\nFullHeightLayout.Body = function Body({ className, children }) {\n return _jsx(\"div\", { className: clsx('grow overflow-auto', 'min-h-0', 'p-2', className), children: children });\n};\nFullHeightLayout.VR = function VDivider() {\n return _jsx(\"div\", { className: \"w-[1px] border border-red-200\" });\n};\nFullHeightLayout.HR = function HDivider() {\n return _jsx(\"div\", { className: \"w-full h-1 border-b border-red-200\" });\n};\nFullHeightLayout.Flex = function Flex({ className, children }) {\n return _jsx(\"div\", { className: clsx('grow flex flex-col', 'overflow-hidden min-h-0', 'p-2', className), children: children });\n};\nFullHeightLayout.Tab = function Tab({ children }) {\n return _jsx(\"div\", { className: \"flex flex-col h-full\", children: children });\n};\n//# sourceMappingURL=FullHeightLayout.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from '@vertesia/ui/core';\nimport { Env } from '@vertesia/ui/env';\nconst regionLabels = {\n eu: 'EU',\n jp: 'JP',\n};\nexport function RegionTag({ className }) {\n const region = Env.region;\n // Only show for non-US regions (US is default, no need to display)\n if (!region || region === 'us')\n return null;\n return (_jsx(\"div\", { className: cn('text-[0.6rem] font-semibold px-1.5 rounded-3xl leading-4', 'bg-info text-white', className), children: regionLabels[region] ?? region.toUpperCase() }));\n}\n//# sourceMappingURL=RegionTag.js.map"],"mappings":"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"}
|