@semiont/react-ui 0.4.14 → 0.4.15
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/README.md +18 -12
- package/dist/KnowledgeBaseSessionContext-CpYaCbnC.d.mts +174 -0
- package/dist/{PdfAnnotationCanvas.client-CW6SKH2U.mjs → PdfAnnotationCanvas.client-CHDCGQBR.mjs} +3 -3
- package/dist/{chunk-HNZOXH4L.mjs → chunk-OZICDVH7.mjs} +5 -3
- package/dist/chunk-OZICDVH7.mjs.map +1 -0
- package/dist/chunk-R2U7P4TK.mjs +865 -0
- package/dist/chunk-R2U7P4TK.mjs.map +1 -0
- package/dist/{chunk-BQJWOK4C.mjs → chunk-VN5NY4SN.mjs} +9 -8
- package/dist/chunk-VN5NY4SN.mjs.map +1 -0
- package/dist/index.d.mts +139 -169
- package/dist/index.mjs +2197 -1947
- package/dist/index.mjs.map +1 -1
- package/dist/test-utils.d.mts +13 -62
- package/dist/test-utils.mjs +40 -21
- package/dist/test-utils.mjs.map +1 -1
- package/package.json +5 -3
- package/src/components/ProtectedErrorBoundary.tsx +95 -0
- package/src/components/__tests__/ProtectedErrorBoundary.test.tsx +197 -0
- package/src/components/modals/PermissionDeniedModal.tsx +140 -0
- package/src/components/modals/ReferenceWizardModal.tsx +3 -2
- package/src/components/modals/SessionExpiredModal.tsx +101 -0
- package/src/components/modals/__tests__/PermissionDeniedModal.test.tsx +150 -0
- package/src/components/modals/__tests__/SessionExpiredModal.test.tsx +115 -0
- package/src/components/resource/AnnotationHistory.tsx +5 -6
- package/src/components/resource/HistoryEvent.tsx +7 -7
- package/src/components/resource/__tests__/AnnotationHistory.test.tsx +33 -34
- package/src/components/resource/__tests__/HistoryEvent.test.tsx +17 -19
- package/src/components/resource/__tests__/event-formatting.test.ts +70 -94
- package/src/components/resource/event-formatting.ts +56 -56
- package/src/components/resource/panels/ReferenceEntry.tsx +7 -5
- package/src/components/resource/panels/ResourceInfoPanel.tsx +8 -6
- package/src/components/resource/panels/__tests__/ReferenceEntry.test.tsx +12 -12
- package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +1 -0
- package/src/features/resource-viewer/__tests__/AnnotationCreationPending.test.tsx +1 -1
- package/src/features/resource-viewer/__tests__/AnnotationDeletionIntegration.test.tsx +4 -4
- package/src/features/resource-viewer/__tests__/AnnotationProgressDismissal.test.tsx +5 -10
- package/src/features/resource-viewer/__tests__/BindFlowIntegration.test.tsx +23 -54
- package/src/features/resource-viewer/__tests__/DetectionFlowBug.test.tsx +6 -6
- package/src/features/resource-viewer/__tests__/DetectionFlowIntegration.test.tsx +7 -19
- package/src/features/resource-viewer/__tests__/ToastNotifications.test.tsx +1 -1
- package/src/features/resource-viewer/__tests__/YieldFlowIntegration.test.tsx +18 -44
- package/src/features/resource-viewer/__tests__/annotation-progress-flow.test.tsx +6 -6
- package/src/features/resource-viewer/components/ResourceViewerPage.tsx +24 -26
- package/dist/TranslationManager-CudgH3gw.d.mts +0 -107
- package/dist/chunk-BQJWOK4C.mjs.map +0 -1
- package/dist/chunk-HNZOXH4L.mjs.map +0 -1
- package/dist/chunk-OL5UST25.mjs +0 -413
- package/dist/chunk-OL5UST25.mjs.map +0 -1
- /package/dist/{PdfAnnotationCanvas.client-CW6SKH2U.mjs.map → PdfAnnotationCanvas.client-CHDCGQBR.mjs.map} +0 -0
package/dist/test-utils.d.mts
CHANGED
|
@@ -2,9 +2,10 @@ import { ReactElement } from 'react';
|
|
|
2
2
|
import { RenderOptions, RenderResult } from '@testing-library/react';
|
|
3
3
|
export * from '@testing-library/react';
|
|
4
4
|
import { QueryClient } from '@tanstack/react-query';
|
|
5
|
+
import { T as TranslationManager, e as KnowledgeBaseSessionValue, O as OpenResourcesManager } from './KnowledgeBaseSessionContext-CpYaCbnC.mjs';
|
|
5
6
|
import { EventBus } from '@semiont/core';
|
|
6
|
-
import { T as TranslationManager, S as SessionManager, O as OpenResourcesManager } from './TranslationManager-CudgH3gw.mjs';
|
|
7
7
|
export { vi } from 'vitest';
|
|
8
|
+
import 'react/jsx-runtime';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Test utilities for @semiont/react-ui
|
|
@@ -13,12 +14,20 @@ export { vi } from 'vitest';
|
|
|
13
14
|
* for testing, with customizable mock implementations.
|
|
14
15
|
*/
|
|
15
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Default mock context value for KnowledgeBaseSessionProvider in tests.
|
|
19
|
+
* Tests override individual fields via `createMockKnowledgeBaseSession`.
|
|
20
|
+
*/
|
|
21
|
+
declare const defaultMockKnowledgeBaseSession: KnowledgeBaseSessionValue;
|
|
22
|
+
/**
|
|
23
|
+
* Construct a mock KnowledgeBaseSession context value with overrides.
|
|
24
|
+
*/
|
|
25
|
+
declare function createMockKnowledgeBaseSession(overrides?: Partial<KnowledgeBaseSessionValue>): KnowledgeBaseSessionValue;
|
|
16
26
|
/**
|
|
17
27
|
* Default mock implementations
|
|
18
28
|
*/
|
|
19
29
|
declare const defaultMocks: {
|
|
20
30
|
translationManager: TranslationManager;
|
|
21
|
-
sessionManager: SessionManager;
|
|
22
31
|
openResourcesManager: OpenResourcesManager;
|
|
23
32
|
};
|
|
24
33
|
/**
|
|
@@ -27,29 +36,10 @@ declare const defaultMocks: {
|
|
|
27
36
|
interface TestProvidersOptions {
|
|
28
37
|
translationManager?: TranslationManager;
|
|
29
38
|
apiBaseUrl?: string;
|
|
30
|
-
|
|
39
|
+
knowledgeBaseSession?: KnowledgeBaseSessionValue;
|
|
31
40
|
openResourcesManager?: OpenResourcesManager;
|
|
32
41
|
queryClient?: QueryClient;
|
|
33
42
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Render component with all providers
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```tsx
|
|
39
|
-
* import { renderWithProviders } from '@semiont/react-ui/test-utils';
|
|
40
|
-
*
|
|
41
|
-
* it('should render component', () => {
|
|
42
|
-
* renderWithProviders(<MyComponent />);
|
|
43
|
-
* expect(screen.getByText('Hello')).toBeInTheDocument();
|
|
44
|
-
* });
|
|
45
|
-
*
|
|
46
|
-
* it('should work with custom API base URL', () => {
|
|
47
|
-
* renderWithProviders(<MyComponent />, {
|
|
48
|
-
* apiBaseUrl: 'http://test.example.com',
|
|
49
|
-
* });
|
|
50
|
-
* });
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
43
|
interface RenderWithProvidersOptions extends TestProvidersOptions, Omit<RenderOptions, 'wrapper'> {
|
|
54
44
|
/** If true, returns the event bus instance along with render result */
|
|
55
45
|
returnEventBus?: boolean;
|
|
@@ -60,50 +50,11 @@ interface RenderWithProvidersResult extends RenderResult {
|
|
|
60
50
|
declare function renderWithProviders(ui: ReactElement, options?: RenderWithProvidersOptions): RenderWithProvidersResult;
|
|
61
51
|
/**
|
|
62
52
|
* Create a mock translation manager with custom translations
|
|
63
|
-
*
|
|
64
|
-
* @example
|
|
65
|
-
* ```tsx
|
|
66
|
-
* const translations = createMockTranslationManager({
|
|
67
|
-
* Toolbar: { save: 'Save', cancel: 'Cancel' },
|
|
68
|
-
* Footer: { copyright: '© 2024' },
|
|
69
|
-
* });
|
|
70
|
-
*
|
|
71
|
-
* renderWithProviders(<MyComponent />, {
|
|
72
|
-
* translationManager: translations,
|
|
73
|
-
* });
|
|
74
|
-
* ```
|
|
75
53
|
*/
|
|
76
54
|
declare function createMockTranslationManager(translations: Record<string, Record<string, string>>): TranslationManager;
|
|
77
|
-
/**
|
|
78
|
-
* Create a mock session manager with custom session state
|
|
79
|
-
*
|
|
80
|
-
* @example
|
|
81
|
-
* ```tsx
|
|
82
|
-
* const session = createMockSessionManager({
|
|
83
|
-
* isAuthenticated: true,
|
|
84
|
-
* expiresAt: new Date(Date.now() + 3600000),
|
|
85
|
-
* });
|
|
86
|
-
*
|
|
87
|
-
* renderWithProviders(<MyComponent />, {
|
|
88
|
-
* sessionManager: session,
|
|
89
|
-
* });
|
|
90
|
-
* ```
|
|
91
|
-
*/
|
|
92
|
-
declare function createMockSessionManager(state: Partial<SessionManager>): SessionManager;
|
|
93
55
|
/**
|
|
94
56
|
* Create a mock open resources manager with custom resources
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```tsx
|
|
98
|
-
* const resources = createMockOpenResourcesManager([
|
|
99
|
-
* { id: 'doc-1', name: 'Document 1', openedAt: Date.now() },
|
|
100
|
-
* ]);
|
|
101
|
-
*
|
|
102
|
-
* renderWithProviders(<MyComponent />, {
|
|
103
|
-
* openResourcesManager: resources,
|
|
104
|
-
* });
|
|
105
|
-
* ```
|
|
106
57
|
*/
|
|
107
58
|
declare function createMockOpenResourcesManager(resources?: OpenResourcesManager['openResources']): OpenResourcesManager;
|
|
108
59
|
|
|
109
|
-
export { type RenderWithProvidersOptions, type RenderWithProvidersResult, type TestProvidersOptions,
|
|
60
|
+
export { type RenderWithProvidersOptions, type RenderWithProvidersResult, type TestProvidersOptions, createMockKnowledgeBaseSession, createMockOpenResourcesManager, createMockTranslationManager, defaultMockKnowledgeBaseSession, defaultMocks, renderWithProviders };
|
package/dist/test-utils.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
|
+
KnowledgeBaseSessionContext,
|
|
3
4
|
OpenResourcesProvider,
|
|
4
|
-
SessionProvider,
|
|
5
5
|
ToastProvider,
|
|
6
6
|
TranslationProvider
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-R2U7P4TK.mjs";
|
|
8
8
|
import {
|
|
9
9
|
ApiClientProvider,
|
|
10
10
|
EventBusProvider,
|
|
11
11
|
useEventBus
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-OZICDVH7.mjs";
|
|
13
13
|
import "./chunk-HVMAGUFA.mjs";
|
|
14
14
|
import {
|
|
15
15
|
__commonJS,
|
|
@@ -12990,6 +12990,39 @@ import { vi } from "vitest";
|
|
|
12990
12990
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
12991
12991
|
import { vi as vi2 } from "vitest";
|
|
12992
12992
|
import { Fragment, jsx } from "react/jsx-runtime";
|
|
12993
|
+
var defaultMockKnowledgeBaseSession = {
|
|
12994
|
+
knowledgeBases: [],
|
|
12995
|
+
activeKnowledgeBase: null,
|
|
12996
|
+
session: null,
|
|
12997
|
+
isLoading: false,
|
|
12998
|
+
user: null,
|
|
12999
|
+
token: null,
|
|
13000
|
+
isAuthenticated: false,
|
|
13001
|
+
hasValidBackendToken: false,
|
|
13002
|
+
isFullyAuthenticated: false,
|
|
13003
|
+
displayName: "User",
|
|
13004
|
+
avatarUrl: null,
|
|
13005
|
+
userDomain: void 0,
|
|
13006
|
+
isAdmin: false,
|
|
13007
|
+
isModerator: false,
|
|
13008
|
+
expiresAt: null,
|
|
13009
|
+
sessionExpiredAt: null,
|
|
13010
|
+
sessionExpiredMessage: null,
|
|
13011
|
+
permissionDeniedAt: null,
|
|
13012
|
+
permissionDeniedMessage: null,
|
|
13013
|
+
addKnowledgeBase: vi.fn(() => ({ id: "mock", label: "", host: "", port: 0, protocol: "http", email: "" })),
|
|
13014
|
+
removeKnowledgeBase: vi.fn(),
|
|
13015
|
+
setActiveKnowledgeBase: vi.fn(),
|
|
13016
|
+
updateKnowledgeBase: vi.fn(),
|
|
13017
|
+
signIn: vi.fn(),
|
|
13018
|
+
signOut: vi.fn(),
|
|
13019
|
+
refreshActive: vi.fn(async () => null),
|
|
13020
|
+
acknowledgeSessionExpired: vi.fn(),
|
|
13021
|
+
acknowledgePermissionDenied: vi.fn()
|
|
13022
|
+
};
|
|
13023
|
+
function createMockKnowledgeBaseSession(overrides = {}) {
|
|
13024
|
+
return { ...defaultMockKnowledgeBaseSession, ...overrides };
|
|
13025
|
+
}
|
|
12993
13026
|
var defaultMocks = {
|
|
12994
13027
|
translationManager: {
|
|
12995
13028
|
t: (namespace, key, params) => {
|
|
@@ -13002,12 +13035,6 @@ var defaultMocks = {
|
|
|
13002
13035
|
return result;
|
|
13003
13036
|
}
|
|
13004
13037
|
},
|
|
13005
|
-
sessionManager: {
|
|
13006
|
-
isAuthenticated: false,
|
|
13007
|
-
expiresAt: null,
|
|
13008
|
-
timeUntilExpiry: null,
|
|
13009
|
-
isExpiringSoon: false
|
|
13010
|
-
},
|
|
13011
13038
|
openResourcesManager: {
|
|
13012
13039
|
openResources: [],
|
|
13013
13040
|
addResource: vi.fn(),
|
|
@@ -13030,7 +13057,7 @@ function renderWithProviders(ui, options) {
|
|
|
13030
13057
|
const {
|
|
13031
13058
|
translationManager = defaultMocks.translationManager,
|
|
13032
13059
|
apiBaseUrl = "http://localhost:4000",
|
|
13033
|
-
|
|
13060
|
+
knowledgeBaseSession = defaultMockKnowledgeBaseSession,
|
|
13034
13061
|
openResourcesManager = defaultMocks.openResourcesManager,
|
|
13035
13062
|
returnEventBus = false,
|
|
13036
13063
|
queryClient = new QueryClient({
|
|
@@ -13043,7 +13070,7 @@ function renderWithProviders(ui, options) {
|
|
|
13043
13070
|
} = options || {};
|
|
13044
13071
|
let capturedEventBus;
|
|
13045
13072
|
function Wrapper({ children }) {
|
|
13046
|
-
return /* @__PURE__ */ jsx(TranslationProvider, { translationManager, children: /* @__PURE__ */ jsx(EventBusProvider, { children: /* @__PURE__ */ jsx(ApiClientProvider, { baseUrl: apiBaseUrl, children: /* @__PURE__ */ jsx(
|
|
13073
|
+
return /* @__PURE__ */ jsx(TranslationProvider, { translationManager, children: /* @__PURE__ */ jsx(EventBusProvider, { children: /* @__PURE__ */ jsx(ApiClientProvider, { baseUrl: apiBaseUrl, children: /* @__PURE__ */ jsx(KnowledgeBaseSessionContext.Provider, { value: knowledgeBaseSession, children: /* @__PURE__ */ jsx(OpenResourcesProvider, { openResourcesManager, children: /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(ToastProvider, { children: returnEventBus ? /* @__PURE__ */ jsx(EventBusCapture, { onEventBus: (bus) => {
|
|
13047
13074
|
capturedEventBus = bus;
|
|
13048
13075
|
}, children }) : children }) }) }) }) }) }) });
|
|
13049
13076
|
}
|
|
@@ -13060,15 +13087,6 @@ function createMockTranslationManager(translations) {
|
|
|
13060
13087
|
}
|
|
13061
13088
|
};
|
|
13062
13089
|
}
|
|
13063
|
-
function createMockSessionManager(state) {
|
|
13064
|
-
return {
|
|
13065
|
-
isAuthenticated: false,
|
|
13066
|
-
expiresAt: null,
|
|
13067
|
-
timeUntilExpiry: null,
|
|
13068
|
-
isExpiringSoon: false,
|
|
13069
|
-
...state
|
|
13070
|
-
};
|
|
13071
|
-
}
|
|
13072
13090
|
function createMockOpenResourcesManager(resources = []) {
|
|
13073
13091
|
return {
|
|
13074
13092
|
openResources: resources,
|
|
@@ -13084,9 +13102,10 @@ export {
|
|
|
13084
13102
|
cleanup,
|
|
13085
13103
|
configure2 as configure,
|
|
13086
13104
|
createEvent,
|
|
13105
|
+
createMockKnowledgeBaseSession,
|
|
13087
13106
|
createMockOpenResourcesManager,
|
|
13088
|
-
createMockSessionManager,
|
|
13089
13107
|
createMockTranslationManager,
|
|
13108
|
+
defaultMockKnowledgeBaseSession,
|
|
13090
13109
|
defaultMocks,
|
|
13091
13110
|
findAllByAltText,
|
|
13092
13111
|
findAllByDisplayValue,
|