@equinor/fusion-framework-react-app 6.0.10 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,9 @@
1
+ import type { FrameworkEvent, FrameworkEventInit } from '@equinor/fusion-framework-module-event';
2
+ import type { HelpCenterOpenEventDetail } from './useHelpCenter';
3
+ export { useHelpCenter } from './useHelpCenter';
4
+ export type { HelpCenterOpenEventDetail };
5
+ declare module '@equinor/fusion-framework-module-event' {
6
+ interface FrameworkEventMap {
7
+ '@Portal::FusionHelp::open': FrameworkEvent<FrameworkEventInit<HelpCenterOpenEventDetail>>;
8
+ }
9
+ }
@@ -0,0 +1,22 @@
1
+ type HelpCenterEventDetailBase<T extends string, V extends Record<string, unknown> = {}> = {
2
+ page: T;
3
+ } & V;
4
+ type OpenHelpDetail = HelpCenterEventDetailBase<'home'>;
5
+ type OpenArticleDetail = HelpCenterEventDetailBase<'article', {
6
+ articleId: string;
7
+ }>;
8
+ type OpenFaqsDetail = HelpCenterEventDetailBase<'faqs'>;
9
+ type OpenSearchDetail = HelpCenterEventDetailBase<'search', {
10
+ search: string;
11
+ }>;
12
+ type OpenGovernanceDetail = HelpCenterEventDetailBase<'governance'>;
13
+ export type HelpCenterOpenEventDetail = OpenHelpDetail | OpenArticleDetail | OpenFaqsDetail | OpenSearchDetail | OpenGovernanceDetail;
14
+ export declare const EVENT_NAME = "@Portal::FusionHelp::open";
15
+ export declare const useHelpCenter: () => {
16
+ openHelp: () => void;
17
+ openArticle: (articleId: string) => void;
18
+ openFaqs: () => void;
19
+ openSearch: (search: string) => void;
20
+ openGovernance: () => void;
21
+ };
22
+ export default useHelpCenter;
@@ -1 +1 @@
1
- export declare const version = "6.0.10";
1
+ export declare const version = "6.1.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-framework-react-app",
3
- "version": "6.0.10",
3
+ "version": "6.1.0",
4
4
  "description": "",
5
5
  "main": "./dist/esm/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -25,6 +25,10 @@
25
25
  "types": "./dist/types/framework/index.d.ts",
26
26
  "import": "./dist/esm/framework/index.js"
27
27
  },
28
+ "./help-center": {
29
+ "types": "./dist/types/help-center/index.d.ts",
30
+ "import": "./dist/esm/help-center/index.js"
31
+ },
28
32
  "./http": {
29
33
  "types": "./dist/types/http/index.d.ts",
30
34
  "import": "./dist/esm/http/index.js"
@@ -60,10 +64,10 @@
60
64
  "dependencies": {
61
65
  "@equinor/fusion-framework-app": "^9.3.10",
62
66
  "@equinor/fusion-framework-module": "^4.3.8",
63
- "@equinor/fusion-framework-module-navigation": "^4.0.10",
64
- "@equinor/fusion-framework-react": "^7.4.8",
65
67
  "@equinor/fusion-framework-module-app": "^6.1.10",
68
+ "@equinor/fusion-framework-module-navigation": "^4.0.10",
66
69
  "@equinor/fusion-framework-react-module": "^3.1.9",
70
+ "@equinor/fusion-framework-react": "^7.4.8",
67
71
  "@equinor/fusion-framework-react-module-http": "^8.0.5"
68
72
  },
69
73
  "devDependencies": {
@@ -74,9 +78,9 @@
74
78
  "rxjs": "^7.8.1",
75
79
  "typescript": "^5.8.2",
76
80
  "@equinor/fusion-framework-module-ag-grid": "^33.2.3",
77
- "@equinor/fusion-framework-module-msal": "^4.0.3",
78
- "@equinor/fusion-framework-module-feature-flag": "^1.1.15",
79
81
  "@equinor/fusion-framework-module-event": "^4.3.3",
82
+ "@equinor/fusion-framework-module-feature-flag": "^1.1.15",
83
+ "@equinor/fusion-framework-module-msal": "^4.0.3",
80
84
  "@equinor/fusion-framework-react-module-bookmark": "^3.0.8",
81
85
  "@equinor/fusion-framework-react-module-context": "^6.2.24",
82
86
  "@equinor/fusion-observable": "^8.4.7"
@@ -0,0 +1,21 @@
1
+ ## Help center
2
+
3
+ ### useHelpCenter
4
+
5
+ A hook to open the help center side sheet programmatically.
6
+
7
+ ```typescript
8
+ const {
9
+ openHelp,
10
+ openArticle,
11
+ openFaqs,
12
+ openSearch,
13
+ openGovernance
14
+ } = useHelpCenter();
15
+
16
+ openHelp();
17
+ openArticle('article-slug-name');
18
+ openFaqs();
19
+ openSearch('search-input');
20
+ openGovernance();
21
+ ```
@@ -0,0 +1,11 @@
1
+ import type { FrameworkEvent, FrameworkEventInit } from '@equinor/fusion-framework-module-event';
2
+ import type { HelpCenterOpenEventDetail } from './useHelpCenter';
3
+
4
+ export { useHelpCenter } from './useHelpCenter';
5
+ export type { HelpCenterOpenEventDetail };
6
+
7
+ declare module '@equinor/fusion-framework-module-event' {
8
+ interface FrameworkEventMap {
9
+ '@Portal::FusionHelp::open': FrameworkEvent<FrameworkEventInit<HelpCenterOpenEventDetail>>;
10
+ }
11
+ }
@@ -0,0 +1,97 @@
1
+ import { useCallback } from 'react';
2
+ import useAppModule from '../useAppModule';
3
+
4
+ type HelpCenterEventDetailBase<T extends string, V extends Record<string, unknown> = {}> = {
5
+ page: T;
6
+ } & V;
7
+
8
+ type OpenHelpDetail = HelpCenterEventDetailBase<'home'>;
9
+
10
+ type OpenArticleDetail = HelpCenterEventDetailBase<
11
+ 'article',
12
+ {
13
+ articleId: string;
14
+ }
15
+ >;
16
+
17
+ type OpenFaqsDetail = HelpCenterEventDetailBase<'faqs'>;
18
+
19
+ type OpenSearchDetail = HelpCenterEventDetailBase<
20
+ 'search',
21
+ {
22
+ search: string;
23
+ }
24
+ >;
25
+
26
+ type OpenGovernanceDetail = HelpCenterEventDetailBase<'governance'>;
27
+
28
+ export type HelpCenterOpenEventDetail =
29
+ | OpenHelpDetail
30
+ | OpenArticleDetail
31
+ | OpenFaqsDetail
32
+ | OpenSearchDetail
33
+ | OpenGovernanceDetail;
34
+
35
+ export const EVENT_NAME = '@Portal::FusionHelp::open';
36
+
37
+ export const useHelpCenter = () => {
38
+ const eventModule = useAppModule('event');
39
+
40
+ const openHelp = useCallback((): void => {
41
+ eventModule.dispatchEvent(EVENT_NAME, {
42
+ detail: {
43
+ page: 'home',
44
+ },
45
+ });
46
+ }, [eventModule.dispatchEvent]);
47
+
48
+ const openArticle = useCallback(
49
+ (articleId: string): void => {
50
+ eventModule.dispatchEvent(EVENT_NAME, {
51
+ detail: {
52
+ page: 'article',
53
+ articleId: articleId,
54
+ },
55
+ });
56
+ },
57
+ [eventModule.dispatchEvent],
58
+ );
59
+
60
+ const openFaqs = useCallback((): void => {
61
+ eventModule.dispatchEvent(EVENT_NAME, {
62
+ detail: {
63
+ page: 'faqs',
64
+ },
65
+ });
66
+ }, [eventModule.dispatchEvent]);
67
+
68
+ const openSearch = useCallback(
69
+ (search: string): void => {
70
+ eventModule.dispatchEvent(EVENT_NAME, {
71
+ detail: {
72
+ page: 'search',
73
+ search: search,
74
+ },
75
+ });
76
+ },
77
+ [eventModule.dispatchEvent],
78
+ );
79
+
80
+ const openGovernance = useCallback((): void => {
81
+ eventModule.dispatchEvent(EVENT_NAME, {
82
+ detail: {
83
+ page: 'governance',
84
+ },
85
+ });
86
+ }, [eventModule.dispatchEvent]);
87
+
88
+ return {
89
+ openHelp,
90
+ openArticle,
91
+ openFaqs,
92
+ openSearch,
93
+ openGovernance,
94
+ };
95
+ };
96
+
97
+ export default useHelpCenter;
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '6.0.10';
2
+ export const version = '6.1.0';