@seamapi/react 0.1.0 → 0.2.1

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 CHANGED
@@ -7,7 +7,13 @@ Seam React component library.
7
7
 
8
8
  ## Description
9
9
 
10
- Zero-backend beautiful drop-in pre-built components with everything you need to get started with Seam.
10
+ Zero-backend beautiful drop-in pre-built components
11
+ with everything you need to get started with [Seam].
12
+
13
+ Play with them live in the [Storybook]!
14
+
15
+ [Seam]: https://www.seam.co/
16
+ [Storybook]: https://seam-react.vercel.app/
11
17
 
12
18
  ## Installation
13
19
 
@@ -19,6 +25,31 @@ $ npm install @seamapi/react
19
25
 
20
26
  [npm]: https://www.npmjs.com/
21
27
 
28
+ ## Usage
29
+
30
+ > Check out the [full example app](./examples/basic)!
31
+
32
+ 1. Obtain a publishable key from the [Seam Console].
33
+ 2. Wrap your app with the `SeamProvider`.
34
+ 3. Drop in Seam components.
35
+
36
+ ```ts
37
+ import { SeamProvider, DeviceManager } from '@seamapi/react'
38
+
39
+ export const App = () => {
40
+ return (
41
+ <SeamProvider>
42
+ <main>
43
+ <h1>My App</h1>
44
+ <DeviceManager />
45
+ </main>
46
+ </SeamProvider>
47
+ )
48
+ }
49
+ ```
50
+
51
+ [Seam Console]: https://console.seam.co/
52
+
22
53
  ## Development and Testing
23
54
 
24
55
  ### Quickstart
@@ -28,7 +59,7 @@ $ git clone https://github.com/seamapi/react.git
28
59
  $ cd react
29
60
  $ nvm install
30
61
  $ npm install
31
- $ npm run test:watch
62
+ $ npm start
32
63
  ```
33
64
 
34
65
  Primary development tasks are defined under `scripts` in `package.json`
@@ -53,6 +84,9 @@ $ git clone git@github.com:seamapi/react.git
53
84
  ### Requirements
54
85
 
55
86
  You will need [Node.js] with [npm] and a [Node.js debugging] client.
87
+ Alternately, develop in the cloud with [Codespaces].
88
+
89
+ [codespaces]: https://github.com/features/codespaces
56
90
 
57
91
  Be sure that all commands run under the correct Node version, e.g.,
58
92
  if using [nvm], install the correct version with
@@ -78,11 +112,56 @@ $ npm install
78
112
  [npm]: https://www.npmjs.com/
79
113
  [nvm]: https://github.com/creationix/nvm
80
114
 
115
+ ### Storybook
116
+
117
+ Develop components with [Storybook].
118
+
119
+ Run Storybook in development mode with
120
+
121
+ ```
122
+ $ npm start
123
+ ```
124
+
125
+ The Storybook is deployed in docs mode.
126
+ Develop the Storybook in docs mode with
127
+
128
+ ```
129
+ $ npm run docs:start
130
+ ```
131
+
132
+ [Storybook]: https://storybook.js.org/
133
+
134
+ ### Previews
135
+
136
+ Every pull request deploys the Storybook with the examples
137
+ in a [Vercel Preview Deployment]
138
+ where you may [comment directly on the preview][Vercel Comments].
139
+
140
+ [Vercel Preview Deployment]: https://vercel.com/docs/concepts/deployments/preview-deployments
141
+ [Vercel Comments]: https://vercel.com/docs/concepts/deployments/comments
142
+
143
+ ### Tests
144
+
145
+ Write tests with [Jest].
146
+
147
+ [Jest]: https://jestjs.io/
148
+
149
+ ### Examples
150
+
151
+ Find fully working examples apps under `examples/`.
152
+ Each example app is built and deployed along with the Storybook documentation.
153
+
154
+ Run and develop an example with, e.g.,
155
+
156
+ ```
157
+ $ npm run example:basic
158
+ ```
159
+
81
160
  ### Publishing
82
161
 
83
162
  #### Automatic
84
163
 
85
- New versions are released automatically with [semantic-release].
164
+ New versions are released automatically with [semantic-release]
86
165
  as long as commits follow the [Angular Commit Message Conventions].
87
166
 
88
167
  [Angular Commit Message Conventions]: https://semantic-release.gitbook.io/semantic-release/#commit-message-format
@@ -1,4 +1,4 @@
1
- import { type ReactElement } from 'react';
1
+ import type { ReactElement } from 'react';
2
2
  import { type UseDevicesParams } from '../../../lib/hooks/use-devices.js';
3
3
  export type DeviceManagerProps = UseDevicesParams;
4
4
  /**
@@ -1,6 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import {} from 'react';
3
- import {} from 'seamapi';
4
2
  import { useDevices } from '../../../lib/hooks/use-devices.js';
5
3
  /**
6
4
  * Fetch, list, and manage devices.
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceManager.js","sourceRoot":"","sources":["../../../src/lib/components/DeviceManager/DeviceManager.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,EAA4C,MAAM,SAAS,CAAA;AAElE,OAAO,EAAE,UAAU,EAAyB,MAAM,0BAA0B,CAAA;AAI5E;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAgB,EAAE;IACvE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAEhE,IAAI,SAAS;QAAE,OAAO,YAAG,IAAI,EAAC,SAAS,YAAE,CAAC,CAAC,OAAO,GAAK,CAAA;IACvD,IAAI,OAAO;QAAE,OAAO,sBAAI,KAAK,EAAE,OAAO,GAAK,CAAA;IAE3C,OAAO,CACL,uBACG,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxB,KAAC,iBAAiB,OAA4B,MAAM,IAA5B,MAAM,CAAC,SAAS,CAAgB,CACzD,CAAC,GACC,CACN,CAAA;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CACxB,KAAqC,EACvB,EAAE;IAChB,OAAO,CACL,yBACE,wBACG,CAAC,CAAC,SAAS,QAAI,KAAK,CAAC,SAAS,IAC7B,EACJ,wBACG,CAAC,CAAC,IAAI,QAAI,KAAK,CAAC,UAAU,CAAC,IAAI,IAC9B,IACD,CACN,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,GAAG;IACR,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,aAAa;CACpB,CAAA"}
1
+ {"version":3,"file":"DeviceManager.js","sourceRoot":"","sources":["../../../src/lib/components/DeviceManager/DeviceManager.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAyB,MAAM,0BAA0B,CAAA;AAI5E;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAgB,EAAE;IACvE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAEhE,IAAI,SAAS;QAAE,OAAO,YAAG,IAAI,EAAC,SAAS,YAAE,CAAC,CAAC,OAAO,GAAK,CAAA;IACvD,IAAI,OAAO;QAAE,OAAO,sBAAI,KAAK,EAAE,OAAO,GAAK,CAAA;IAE3C,OAAO,CACL,uBACG,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxB,KAAC,iBAAiB,OAA4B,MAAM,IAA5B,MAAM,CAAC,SAAS,CAAgB,CACzD,CAAC,GACC,CACN,CAAA;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CACxB,KAAqC,EACvB,EAAE;IAChB,OAAO,CACL,yBACE,wBACG,CAAC,CAAC,SAAS,QAAI,KAAK,CAAC,SAAS,IAC7B,EACJ,wBACG,CAAC,CAAC,IAAI,QAAI,KAAK,CAAC,UAAU,CAAC,IAAI,IAC9B,IACD,CACN,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,GAAG;IACR,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,aAAa;CACpB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { type UseQueryResult } from '@tanstack/react-query';
2
- import { type DevicesListRequest, type DevicesListResponse, type SeamError } from 'seamapi';
2
+ import type { DevicesListRequest, DevicesListResponse, SeamError } from 'seamapi';
3
3
  export type UseDevicesParams = DevicesListRequest;
4
4
  export type UseDevicesData = DevicesListResponse['devices'];
5
5
  type Result = UseQueryResult<UseDevicesData, SeamError>;
@@ -1,5 +1,4 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
- import {} from 'seamapi';
3
2
  import { useSeam } from './use-seam.js';
4
3
  export function useDevices(params) {
5
4
  const { client } = useSeam();
@@ -1 +1 @@
1
- {"version":3,"file":"use-devices.js","sourceRoot":"","sources":["../../src/lib/hooks/use-devices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAIN,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AASvC,MAAM,UAAU,UAAU,CAAC,MAA0B;IACnD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;IAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAChC;QACE,OAAO,EAAE,MAAM,IAAI,IAAI;QACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;QACrC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC7B,OAAO,MAAM,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,CAAC;KACF,CACF,CAAA;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"use-devices.js","sourceRoot":"","sources":["../../src/lib/hooks/use-devices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,uBAAuB,CAAA;AAOrE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AASvC,MAAM,UAAU,UAAU,CAAC,MAA0B;IACnD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;IAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAChC;QACE,OAAO,EAAE,MAAM,IAAI,IAAI;QACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;QACrC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,EAAE,CAAA;YAC7B,OAAO,MAAM,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,CAAC;KACF,CACF,CAAA;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AACnC,CAAC"}
@@ -15,7 +15,6 @@ export function useSeam() {
15
15
  if (publishableKey == null) {
16
16
  throw new Error('Missing publishableKey');
17
17
  }
18
- // TODO: Check if client session is still valid before resuming it.
19
18
  if (clientSession != null) {
20
19
  return new Seam({
21
20
  ...clientOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"use-seam.js","sourceRoot":"","sources":["../../src/lib/hooks/use-seam.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-seam.js","sourceRoot":"","sources":["../../src/lib/hooks/use-seam.ts"],"names":[],"mappings":"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"}
package/lib/provider.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type ReactElement, type ReactNode } from 'react';
2
- import { type Seam, type SeamClientOptions } from 'seamapi';
2
+ import type { Seam, SeamClientOptions } from 'seamapi';
3
3
  declare global {
4
4
  var seam: Omit<SeamProviderProps, 'children'> | undefined;
5
5
  }
package/lib/provider.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
3
3
  import { createContext, useRef } from 'react';
4
- import {} from 'seamapi';
5
4
  export function SeamProvider({ children, ...props }) {
6
5
  const { Provider } = seamContext;
7
6
  const queryClientRef = useRef(new QueryClient());
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/lib/provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,aAAa,EAAqC,MAAM,EAAE,MAAM,OAAO,CAAA;AAChF,OAAO,EAAqC,MAAM,SAAS,CAAA;AAsB3D,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,GAAG,KAAK,EACU;IAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;IAEhC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,IACE,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI;QACjC,UAAU,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,EACzC;QACA,UAAU,CAAC,OAAO,GAAG,uBAAuB,CAAA;KAC7C;IAED,IACE,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI;QACjC,UAAU,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,EACzC;QACA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;KAC1E;IAED,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,cAAc,CAAC,OAAO,YACjD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,YAAG,QAAQ,GAAY,GAC7C,CACvB,CAAA;AACH,CAAC;AAED,MAAM,6BAA6B,GAAG,GAAgB,EAAE;IACtD,IACE,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI;QAC/B,UAAU,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,EACvC;QACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;IAED,IAAI;QACF,OAAO,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;KAC/C;IAAC,OAAO,GAAG,EAAE;QACZ,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,EAC9B,MAAM,EACN,GAAG,OAAO,EAC0B,EAAe,EAAE;IACrD,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACvD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;IAED,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;QACnE,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAA;KACF;IAED,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAA;IAEvE,IAAI,MAAM,IAAI,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,EAAE,CAAA;KAClB;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,cAAc;QACd,iBAAiB;QACjB,aAAa;KACd,CAAA;AACH,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAA;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAc,uBAAuB,CAAC,CAAA"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/lib/provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,aAAa,EAAqC,MAAM,EAAE,MAAM,OAAO,CAAA;AAuBhF,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,GAAG,KAAK,EACU;IAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAA;IAEhC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,IACE,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI;QACjC,UAAU,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,EACzC;QACA,UAAU,CAAC,OAAO,GAAG,uBAAuB,CAAA;KAC7C;IAED,IACE,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI;QACjC,UAAU,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,EACzC;QACA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;KAC1E;IAED,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,cAAc,CAAC,OAAO,YACjD,KAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,YAAG,QAAQ,GAAY,GAC7C,CACvB,CAAA;AACH,CAAC;AAED,MAAM,6BAA6B,GAAG,GAAgB,EAAE;IACtD,IACE,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI;QAC/B,UAAU,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,EACvC;QACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;IAED,IAAI;QACF,OAAO,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;KAC/C;IAAC,OAAO,GAAG,EAAE;QACZ,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;AACH,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,EAC9B,MAAM,EACN,GAAG,OAAO,EAC0B,EAAe,EAAE;IACrD,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACvD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;KACxB;IAED,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;QACnE,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAA;KACF;IAED,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAA;IAEvE,IAAI,MAAM,IAAI,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,EAAE,CAAA;KAClB;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,cAAc;QACd,iBAAiB;QACjB,aAAa;KACd,CAAA;AACH,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAA;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAc,uBAAuB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/react",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Seam React component library.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -42,6 +42,8 @@
42
42
  "prebuild:ts": "del 'index.*' lib",
43
43
  "postbuild:ts": "tsc-alias --project tsconfig.build.json",
44
44
  "docs:build": "storybook build --docs --output-dir docs",
45
+ "predocs:build": "npm run example:basic:build",
46
+ "postdocs:build": "cpy . ../../../docs/examples/basic --cwd=examples/basic/dist",
45
47
  "docs:start": "storybook dev --docs --port 6007",
46
48
  "typecheck": "tsc",
47
49
  "dependencies": "dpdm --exit-code circular:1 src/index.ts",
@@ -53,6 +55,8 @@
53
55
  "prelint": "prettier --check --ignore-path .gitignore .",
54
56
  "postversion": "git push --follow-tags",
55
57
  "example:basic": "vite --config examples/basic/vite.config.js",
58
+ "example:basic:build": "vite build --config examples/basic/vite.config.js",
59
+ "example:basic:preview": "vite preview --config examples/basic/vite.config.js",
56
60
  "format": "eslint --ignore-path .gitignore --fix --ext .js,.cjs,.mjs,.ts,.tsx .",
57
61
  "preformat": "prettier --write --ignore-path .gitignore ."
58
62
  },
@@ -62,11 +66,11 @@
62
66
  },
63
67
  "peerDependencies": {
64
68
  "react": ">=18.0.0",
65
- "react-dom": ">=18.0.0",
66
- "seamapi": ">=5.15.0-alpha.0"
69
+ "react-dom": ">=18.0.0"
67
70
  },
68
71
  "dependencies": {
69
72
  "@tanstack/react-query": "^4.28.0",
73
+ "seamapi": "^5.15.0",
70
74
  "uuid": "^9.0.0"
71
75
  },
72
76
  "devDependencies": {
@@ -87,6 +91,7 @@
87
91
  "@types/react-dom": "^18.0.11",
88
92
  "@types/uuid": "^9.0.1",
89
93
  "@vitejs/plugin-react": "^3.1.0",
94
+ "cpy-cli": "^4.2.0",
90
95
  "del-cli": "^5.0.0",
91
96
  "dpdm": "^3.13.0",
92
97
  "eslint": "^8.9.0",
@@ -104,7 +109,6 @@
104
109
  "prop-types": "^15.8.1",
105
110
  "react": "^18.2.0",
106
111
  "react-dom": "^18.2.0",
107
- "seamapi": "^5.15.0-alpha.0",
108
112
  "storybook": "^7.0.2",
109
113
  "ts-jest": "^29.1.0",
110
114
  "tsc-alias": "^1.8.5",
@@ -1,5 +1,5 @@
1
- import { type ReactElement } from 'react'
2
- import { type CommonDeviceProperties, type Device } from 'seamapi'
1
+ import type { ReactElement } from 'react'
2
+ import type { CommonDeviceProperties, Device } from 'seamapi'
3
3
 
4
4
  import { useDevices, type UseDevicesParams } from 'lib/hooks/use-devices.js'
5
5
 
@@ -1,8 +1,8 @@
1
1
  import { useQuery, type UseQueryResult } from '@tanstack/react-query'
2
- import {
3
- type DevicesListRequest,
4
- type DevicesListResponse,
5
- type SeamError,
2
+ import type {
3
+ DevicesListRequest,
4
+ DevicesListResponse,
5
+ SeamError,
6
6
  } from 'seamapi'
7
7
 
8
8
  import { useSeam } from './use-seam.js'
@@ -25,7 +25,6 @@ export function useSeam(): {
25
25
  throw new Error('Missing publishableKey')
26
26
  }
27
27
 
28
- // TODO: Check if client session is still valid before resuming it.
29
28
  if (clientSession != null) {
30
29
  return new Seam({
31
30
  ...clientOptions,
@@ -1,6 +1,6 @@
1
1
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
2
2
  import { createContext, type ReactElement, type ReactNode, useRef } from 'react'
3
- import { type Seam, type SeamClientOptions } from 'seamapi'
3
+ import type { Seam, SeamClientOptions } from 'seamapi'
4
4
 
5
5
  declare global {
6
6
  // eslint-disable-next-line no-var