@equinor/fusion-framework-react-components-people-provider 1.5.3 → 1.5.4

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.
@@ -1,5 +1,6 @@
1
+ import { type PropsWithChildren } from 'react';
1
2
  import { PersonResolver } from '@equinor/fusion-wc-person';
2
3
  export { PersonResolver };
3
- export declare const PeopleResolverComponent: (props: React.PropsWithChildren<{
4
+ export declare const PeopleResolverComponent: (props: PropsWithChildren<{
4
5
  resolver: PersonResolver;
5
6
  }>) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
- import { PropsWithChildren } from 'react';
2
- import { PersonControllerOptions } from './PersonController';
1
+ import { type PropsWithChildren, type ReactNode } from 'react';
2
+ import type { PersonControllerOptions } from './PersonController';
3
3
  type PeopleResolverProviderProps = PropsWithChildren<{
4
4
  readonly options?: PersonControllerOptions;
5
- readonly fallback?: React.ReactNode;
5
+ readonly fallback?: ReactNode;
6
6
  }>;
7
7
  export declare const PeopleResolverProvider: (props: PeopleResolverProviderProps) => import("react/jsx-runtime").JSX.Element;
8
8
  export default PeopleResolverProvider;
@@ -1,4 +1,4 @@
1
- import { Observable } from 'rxjs';
1
+ import { type Observable } from 'rxjs';
2
2
  import type { ApiPerson, PeopleApiClient } from '@equinor/fusion-framework-module-services/people';
3
3
  import type { ApiResponse as GetPersonApiResponse } from '@equinor/fusion-framework-module-services/people/get';
4
4
  import type { ApiResponse as QueryPersonApiResponse } from '@equinor/fusion-framework-module-services/people/query';
@@ -1,4 +1,4 @@
1
- import { PersonResolver } from '@equinor/fusion-wc-person';
2
- import { IPersonController } from './PersonController';
1
+ import type { PersonResolver } from '@equinor/fusion-wc-person';
2
+ import type { IPersonController } from './PersonController';
3
3
  export declare const createResolver: (controller: IPersonController) => PersonResolver;
4
4
  export default createResolver;
@@ -1,5 +1,5 @@
1
- import { PersonControllerOptions } from './PersonController';
2
- import { IApiProvider } from '@equinor/fusion-framework-module-services';
1
+ import { type PersonControllerOptions } from './PersonController';
2
+ import type { IApiProvider } from '@equinor/fusion-framework-module-services';
3
3
  export declare const makeResolver: (services: IApiProvider, options?: PersonControllerOptions) => import("react").LazyExoticComponent<({ children }: {
4
4
  readonly children?: React.ReactNode;
5
5
  }) => import("react/jsx-runtime").JSX.Element>;
@@ -1 +1 @@
1
- export declare const version = "1.5.3";
1
+ export declare const version = "1.5.4";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-framework-react-components-people-provider",
3
- "version": "1.5.3",
3
+ "version": "1.5.4",
4
4
  "description": "",
5
5
  "main": "dist/esm/index.js",
6
6
  "exports": {
@@ -23,20 +23,19 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "rxjs": "^7.8.1",
26
- "@equinor/fusion-framework-module-services": "^5.1.0",
27
- "@equinor/fusion-framework-react": "^7.4.0",
28
- "@equinor/fusion-framework-react-module": "^3.1.6",
29
- "@equinor/fusion-framework-react-module-bookmark": "^3.0.0",
30
- "@equinor/fusion-query": "^5.2.1"
26
+ "@equinor/fusion-framework-module-services": "^5.1.1",
27
+ "@equinor/fusion-framework-react-module": "^3.1.7",
28
+ "@equinor/fusion-framework-react": "^7.4.1",
29
+ "@equinor/fusion-query": "^5.2.2"
31
30
  },
32
31
  "devDependencies": {
33
32
  "@equinor/fusion-wc-person": "^3.1.4",
34
33
  "@types/react": "^18.2.50",
35
34
  "react": "^18.2.0",
36
35
  "typescript": "^5.5.4",
37
- "@equinor/fusion-framework-module-bookmark": "^2.1.1",
38
- "@equinor/fusion-framework-module-app": "^6.1.4",
39
- "@equinor/fusion-framework-module-event": "^4.3.0"
36
+ "@equinor/fusion-framework-module-app": "^6.1.5",
37
+ "@equinor/fusion-framework-module-event": "^4.3.1",
38
+ "@equinor/fusion-framework-module-bookmark": "^2.1.2"
40
39
  },
41
40
  "peerDependencies": {
42
41
  "@types/react": "^17.0.0 || ^18.0.0",
@@ -1,12 +1,12 @@
1
- import { useEffect, useRef } from 'react';
1
+ import { type PropsWithChildren, useEffect, useRef } from 'react';
2
2
 
3
3
  import {
4
- PersonProviderElement,
5
- PersonAvatarElement,
6
- PersonCardElement,
7
- PersonResolver,
8
- PersonListItemElement,
9
- PersonSelectElement,
4
+ PersonProviderElement,
5
+ PersonAvatarElement,
6
+ PersonCardElement,
7
+ PersonResolver,
8
+ PersonListItemElement,
9
+ PersonSelectElement,
10
10
  } from '@equinor/fusion-wc-person';
11
11
 
12
12
  PersonProviderElement;
@@ -17,15 +17,16 @@ PersonSelectElement;
17
17
 
18
18
  export { PersonResolver };
19
19
 
20
- export const PeopleResolverComponent = (
21
- props: React.PropsWithChildren<{ resolver: PersonResolver }>,
22
- ) => {
23
- const { resolver, children } = props;
24
- const ref = useRef<PersonProviderElement | null>(null);
25
- useEffect(() => {
26
- if (ref.current && resolver) {
27
- ref.current.resolver = resolver;
28
- }
29
- }, [ref, resolver]);
30
- return <fwc-person-provider ref={ref}>{children}</fwc-person-provider>;
20
+ export const PeopleResolverComponent = (props: PropsWithChildren<{ resolver: PersonResolver }>) => {
21
+ const { resolver, children } = props;
22
+ const ref = useRef<PersonProviderElement | null>(null);
23
+
24
+ // when the element is ready, set the resolver
25
+ useEffect(() => {
26
+ if (ref.current && resolver) {
27
+ ref.current.resolver = resolver;
28
+ }
29
+ }, [resolver]);
30
+
31
+ return <fwc-person-provider ref={ref}>{children}</fwc-person-provider>;
31
32
  };
@@ -1,26 +1,26 @@
1
- import { PropsWithChildren, Suspense, useMemo } from 'react';
2
- import { ServicesModule } from '@equinor/fusion-framework-module-services';
1
+ import { type PropsWithChildren, type ReactNode, Suspense, useMemo } from 'react';
2
+ import type { ServicesModule } from '@equinor/fusion-framework-module-services';
3
3
  import { useModule } from '@equinor/fusion-framework-react-module';
4
4
  import { makeResolver } from './makeResolver';
5
- import { PersonControllerOptions } from './PersonController';
5
+ import type { PersonControllerOptions } from './PersonController';
6
6
 
7
7
  type PeopleResolverProviderProps = PropsWithChildren<{
8
- readonly options?: PersonControllerOptions;
9
- readonly fallback?: React.ReactNode;
8
+ readonly options?: PersonControllerOptions;
9
+ readonly fallback?: ReactNode;
10
10
  }>;
11
11
 
12
12
  export const PeopleResolverProvider = (props: PeopleResolverProviderProps) => {
13
- const { children, options, fallback } = props;
14
- const services = useModule<ServicesModule>('services');
15
- if (!services) {
16
- throw Error('missing service module');
17
- }
18
- const Component = useMemo(() => makeResolver(services, options), [services, options]);
19
- return (
20
- <Suspense fallback={fallback || <></>}>
21
- <Component>{children}</Component>
22
- </Suspense>
23
- );
13
+ const { children, options, fallback } = props;
14
+ const services = useModule<ServicesModule>('services');
15
+ if (!services) {
16
+ throw Error('missing service module');
17
+ }
18
+ const Component = useMemo(() => makeResolver(services, options), [services, options]);
19
+ return (
20
+ <Suspense fallback={fallback || null}>
21
+ <Component>{children}</Component>
22
+ </Suspense>
23
+ );
24
24
  };
25
25
 
26
26
  export default PeopleResolverProvider;