@seamapi/react 1.63.1 → 1.64.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.
- package/README.md +46 -1
- package/dist/elements.js +1731 -1721
- package/dist/elements.js.map +1 -1
- package/lib/seam/SeamProvider.d.ts +2 -1
- package/lib/seam/SeamProvider.js +10 -4
- package/lib/seam/SeamProvider.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -2
- package/src/lib/element.tsx +4 -1
- package/src/lib/seam/SeamProvider.tsx +17 -2
- package/src/lib/version.ts +1 -1
|
@@ -32,10 +32,11 @@ interface SeamProviderBaseProps extends PropsWithChildren {
|
|
|
32
32
|
unminifiyCss?: boolean | undefined;
|
|
33
33
|
queryClient?: QueryClient | undefined;
|
|
34
34
|
telemetryClient?: TelemetryClient | undefined;
|
|
35
|
+
onSessionUpdate?: (client: Seam) => void;
|
|
35
36
|
}
|
|
36
37
|
export type SeamProviderClientOptions = Pick<SeamClientOptions, 'endpoint'>;
|
|
37
38
|
export declare const seamComponentsClassName = "seam-components";
|
|
38
|
-
export declare function SeamProvider({ children, disableTelemetry, disableCssInjection, disableFontInjection, unminifiyCss, queryClient, telemetryClient, ...props }: SeamProviderProps): JSX.Element;
|
|
39
|
+
export declare function SeamProvider({ children, disableTelemetry, disableCssInjection, disableFontInjection, unminifiyCss, onSessionUpdate, queryClient, telemetryClient, ...props }: SeamProviderProps): JSX.Element;
|
|
39
40
|
export declare const seamContext: import("react").Context<SeamContext>;
|
|
40
41
|
export declare function useSeamContext(): SeamContext;
|
|
41
42
|
export {};
|
package/lib/seam/SeamProvider.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
3
|
-
import { createContext, useContext, useMemo, } from 'react';
|
|
3
|
+
import { createContext, useContext, useEffect, useMemo, } from 'react';
|
|
4
4
|
import { TelemetryProvider, useUserTelemetry, } from '../../lib/telemetry/index.js';
|
|
5
5
|
import { useSeamFont } from '../../lib/seam/use-seam-font.js';
|
|
6
6
|
import { useSeamStyles } from '../../lib/seam/use-seam-styles.js';
|
|
7
|
+
import { useSeamClient } from './use-seam-client.js';
|
|
7
8
|
const defaultQueryClient = new QueryClient();
|
|
8
9
|
export const seamComponentsClassName = 'seam-components';
|
|
9
|
-
export function SeamProvider({ children, disableTelemetry = false, disableCssInjection = false, disableFontInjection = false, unminifiyCss = false, queryClient, telemetryClient, ...props }) {
|
|
10
|
+
export function SeamProvider({ children, disableTelemetry = false, disableCssInjection = false, disableFontInjection = false, unminifiyCss = false, onSessionUpdate = () => { }, queryClient, telemetryClient, ...props }) {
|
|
10
11
|
useSeamStyles({ disabled: disableCssInjection, unminified: unminifiyCss });
|
|
11
12
|
useSeamFont({ disabled: disableFontInjection });
|
|
12
13
|
const value = useMemo(() => {
|
|
@@ -25,10 +26,15 @@ export function SeamProvider({ children, disableTelemetry = false, disableCssInj
|
|
|
25
26
|
}
|
|
26
27
|
const { Provider } = seamContext;
|
|
27
28
|
const endpoint = 'endpoint' in props ? props.endpoint : undefined;
|
|
28
|
-
return (_jsx("div", { className: seamComponentsClassName, children: _jsx(TelemetryProvider, { client: telemetryClient ?? globalThis.seamTelemetryClient, disabled: disableTelemetry, endpoint: endpoint, children: _jsx(QueryClientProvider, { client: queryClient ?? globalThis.seamQueryClient ?? defaultQueryClient, children: _jsx(Provider, { value: value, children: _jsx(Wrapper, { children: children }) }) }) }) }));
|
|
29
|
+
return (_jsx("div", { className: seamComponentsClassName, children: _jsx(TelemetryProvider, { client: telemetryClient ?? globalThis.seamTelemetryClient, disabled: disableTelemetry, endpoint: endpoint, children: _jsx(QueryClientProvider, { client: queryClient ?? globalThis.seamQueryClient ?? defaultQueryClient, children: _jsx(Provider, { value: value, children: _jsx(Wrapper, { onSessionUpdate: onSessionUpdate, children: children }) }) }) }) }));
|
|
29
30
|
}
|
|
30
|
-
function Wrapper({ children }) {
|
|
31
|
+
function Wrapper({ onSessionUpdate, children, }) {
|
|
31
32
|
useUserTelemetry();
|
|
33
|
+
const { client } = useSeamClient();
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (client != null)
|
|
36
|
+
onSessionUpdate(client);
|
|
37
|
+
}, [onSessionUpdate, client]);
|
|
32
38
|
return _jsx(_Fragment, { children: children });
|
|
33
39
|
}
|
|
34
40
|
const createDefaultSeamContextValue = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeamProvider.js","sourceRoot":"","sources":["../../src/lib/seam/SeamProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EACL,aAAa,EAEb,UAAU,EACV,OAAO,GACR,MAAM,OAAO,CAAA;AAGd,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"SeamProvider.js","sourceRoot":"","sources":["../../src/lib/seam/SeamProvider.tsx"],"names":[],"mappings":"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"}
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const seamapiReactVersion = "1.
|
|
1
|
+
declare const seamapiReactVersion = "1.64.0";
|
|
2
2
|
export default seamapiReactVersion;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seamapi/react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.64.0",
|
|
4
4
|
"description": "Seam Components.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"@emotion/styled": "^11.10.6",
|
|
134
134
|
"@mui/icons-material": "^5.11.16",
|
|
135
135
|
"@mui/material": "^5.12.2",
|
|
136
|
-
"@rxfork/r2wc-react-to-web-component": "^2.
|
|
136
|
+
"@rxfork/r2wc-react-to-web-component": "^2.4.0",
|
|
137
137
|
"@seamapi/fake-seam-connect": "^1.17.0",
|
|
138
138
|
"@storybook/addon-designs": "^7.0.1",
|
|
139
139
|
"@storybook/addon-essentials": "^7.0.2",
|
package/src/lib/element.tsx
CHANGED
|
@@ -30,7 +30,7 @@ export type ElementProps<T> = R2wcProps<Omit<T, keyof CommonProps>>
|
|
|
30
30
|
|
|
31
31
|
type R2wcProps<T> = Record<
|
|
32
32
|
keyof T,
|
|
33
|
-
'string' | 'number' | 'boolean' | 'array' | '
|
|
33
|
+
'string' | 'number' | 'boolean' | 'array' | 'object'
|
|
34
34
|
>
|
|
35
35
|
|
|
36
36
|
type ProviderProps = Omit<
|
|
@@ -59,6 +59,7 @@ const providerProps: R2wcProps<ProviderProps> = {
|
|
|
59
59
|
disableCssInjection: 'boolean',
|
|
60
60
|
disableFontInjection: 'boolean',
|
|
61
61
|
unminifiyCss: 'boolean',
|
|
62
|
+
onSessionUpdate: 'object',
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
export const defineCustomElement = ({
|
|
@@ -90,6 +91,7 @@ function withProvider<P extends JSX.IntrinsicAttributes>(
|
|
|
90
91
|
disableCssInjection,
|
|
91
92
|
disableFontInjection,
|
|
92
93
|
unminifiyCss,
|
|
94
|
+
onSessionUpdate,
|
|
93
95
|
container: _container,
|
|
94
96
|
...props
|
|
95
97
|
}: ProviderProps & { container: Container } & P): JSX.Element | null {
|
|
@@ -107,6 +109,7 @@ function withProvider<P extends JSX.IntrinsicAttributes>(
|
|
|
107
109
|
disableFontInjection ?? globalThis.disableSeamFontInjection
|
|
108
110
|
}
|
|
109
111
|
unminifiyCss={unminifiyCss ?? globalThis.unminifiySeamCss}
|
|
112
|
+
onSessionUpdate={onSessionUpdate}
|
|
110
113
|
>
|
|
111
114
|
<Component {...(props as P)} />
|
|
112
115
|
</SeamProvider>
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
createContext,
|
|
4
4
|
type PropsWithChildren,
|
|
5
5
|
useContext,
|
|
6
|
+
useEffect,
|
|
6
7
|
useMemo,
|
|
7
8
|
} from 'react'
|
|
8
9
|
import type { Seam, SeamClientOptions } from 'seamapi'
|
|
@@ -16,6 +17,8 @@ import {
|
|
|
16
17
|
import { useSeamFont } from 'lib/seam/use-seam-font.js'
|
|
17
18
|
import { useSeamStyles } from 'lib/seam/use-seam-styles.js'
|
|
18
19
|
|
|
20
|
+
import { useSeamClient } from './use-seam-client.js'
|
|
21
|
+
|
|
19
22
|
declare global {
|
|
20
23
|
// eslint-disable-next-line no-var
|
|
21
24
|
var seam: SeamProviderProps | undefined
|
|
@@ -62,6 +65,7 @@ interface SeamProviderBaseProps extends PropsWithChildren {
|
|
|
62
65
|
unminifiyCss?: boolean | undefined
|
|
63
66
|
queryClient?: QueryClient | undefined
|
|
64
67
|
telemetryClient?: TelemetryClient | undefined
|
|
68
|
+
onSessionUpdate?: (client: Seam) => void
|
|
65
69
|
}
|
|
66
70
|
|
|
67
71
|
export type SeamProviderClientOptions = Pick<SeamClientOptions, 'endpoint'>
|
|
@@ -76,6 +80,7 @@ export function SeamProvider({
|
|
|
76
80
|
disableCssInjection = false,
|
|
77
81
|
disableFontInjection = false,
|
|
78
82
|
unminifiyCss = false,
|
|
83
|
+
onSessionUpdate = () => {},
|
|
79
84
|
queryClient,
|
|
80
85
|
telemetryClient,
|
|
81
86
|
...props
|
|
@@ -122,7 +127,7 @@ export function SeamProvider({
|
|
|
122
127
|
}
|
|
123
128
|
>
|
|
124
129
|
<Provider value={value}>
|
|
125
|
-
<Wrapper>{children}</Wrapper>
|
|
130
|
+
<Wrapper onSessionUpdate={onSessionUpdate}>{children}</Wrapper>
|
|
126
131
|
</Provider>
|
|
127
132
|
</QueryClientProvider>
|
|
128
133
|
</TelemetryProvider>
|
|
@@ -130,8 +135,18 @@ export function SeamProvider({
|
|
|
130
135
|
)
|
|
131
136
|
}
|
|
132
137
|
|
|
133
|
-
function Wrapper({
|
|
138
|
+
function Wrapper({
|
|
139
|
+
onSessionUpdate,
|
|
140
|
+
children,
|
|
141
|
+
}: Required<Pick<SeamProviderProps, 'onSessionUpdate'>> &
|
|
142
|
+
PropsWithChildren): JSX.Element | null {
|
|
134
143
|
useUserTelemetry()
|
|
144
|
+
|
|
145
|
+
const { client } = useSeamClient()
|
|
146
|
+
useEffect(() => {
|
|
147
|
+
if (client != null) onSessionUpdate(client)
|
|
148
|
+
}, [onSessionUpdate, client])
|
|
149
|
+
|
|
135
150
|
return <>{children}</>
|
|
136
151
|
}
|
|
137
152
|
|
package/src/lib/version.ts
CHANGED