@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.
@@ -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 {};
@@ -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":"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"}
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.63.1";
1
+ declare const seamapiReactVersion = "1.64.0";
2
2
  export default seamapiReactVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '1.63.1';
1
+ const seamapiReactVersion = '1.64.0';
2
2
  export default seamapiReactVersion;
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/react",
3
- "version": "1.63.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.3.0",
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",
@@ -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' | 'function' | 'json' | 'object'
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({ children }: PropsWithChildren): JSX.Element | null {
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
 
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '1.63.1'
1
+ const seamapiReactVersion = '1.64.0'
2
2
 
3
3
  export default seamapiReactVersion